- Explore MCP Servers
- redis-mcp
Redis Mcp
What is Redis Mcp
redis-mcp is a Model Context Protocol (MCP) server that facilitates access to various Redis database operations, allowing developers to interact with Redis in a structured manner.
Use cases
Use cases for redis-mcp include caching frequently accessed data, managing user sessions, storing application state, and implementing real-time analytics.
How to use
To use redis-mcp, developers can utilize the provided tools for different Redis operations such as setting, getting, and deleting keys, as well as managing hash and sorted set data structures. Each tool has a defined input schema for ease of use.
Key features
Key features of redis-mcp include a variety of Redis operations (e.g., HMSET, HGET, SCAN), a structured input schema for commands, and a modular design that allows easy extension and integration with other systems.
Where to use
redis-mcp can be used in web applications, microservices, and any system that requires efficient data storage and retrieval using Redis as a backend.
Clients Supporting MCP
The following are the main client software that supports the Model Context Protocol. Click the link to visit the official website for more information.
Overview
What is Redis Mcp
redis-mcp is a Model Context Protocol (MCP) server that facilitates access to various Redis database operations, allowing developers to interact with Redis in a structured manner.
Use cases
Use cases for redis-mcp include caching frequently accessed data, managing user sessions, storing application state, and implementing real-time analytics.
How to use
To use redis-mcp, developers can utilize the provided tools for different Redis operations such as setting, getting, and deleting keys, as well as managing hash and sorted set data structures. Each tool has a defined input schema for ease of use.
Key features
Key features of redis-mcp include a variety of Redis operations (e.g., HMSET, HGET, SCAN), a structured input schema for commands, and a modular design that allows easy extension and integration with other systems.
Where to use
redis-mcp can be used in web applications, microservices, and any system that requires efficient data storage and retrieval using Redis as a backend.
Clients Supporting MCP
The following are the main client software that supports the Model Context Protocol. Click the link to visit the official website for more information.
Content
Redis MCP Server
A Model Context Protocol (MCP) server that provides access to Redis database operations.
Project Structure
src/ ├── interfaces/ │ └── types.ts # Shared TypeScript interfaces and types ├── tools/ │ ├── base_tool.ts # Abstract base class for Redis tools │ ├── tool_registry.ts # Registry managing all available Redis tools │ ├── hmset_tool.ts # HMSET Redis operation │ ├── hget_tool.ts # HGET Redis operation │ ├── hgetall_tool.ts # HGETALL Redis operation │ ├── scan_tool.ts # SCAN Redis operation │ ├── set_tool.ts # SET Redis operation │ ├── get_tool.ts # GET Redis operation │ ├── del_tool.ts # DEL Redis operation │ ├── zadd_tool.ts # ZADD Redis operation │ ├── zrange_tool.ts # ZRANGE Redis operation │ ├── zrangebyscore_tool.ts # ZRANGEBYSCORE Redis operation │ └── zrem_tool.ts # ZREM Redis operation └── redis_server.ts # Main server implementation
Available Tools
| Tool | Type | Description | Input Schema |
|---|---|---|---|
| hmset | Hash Command | Set multiple hash fields to multiple values | key: string (Hash key)fields: object (Field-value pairs to set) |
| hget | Hash Command | Get the value of a hash field | key: string (Hash key)field: string (Field to get) |
| hgetall | Hash Command | Get all fields and values in a hash | key: string (Hash key) |
| scan | Key Command | Scan Redis keys matching a pattern | pattern: string (Pattern to match, e.g., “user:*”)count: number, optional (Number of keys to return) |
| set | String Command | Set string value with optional NX and PX options | key: string (Key to set)value: string (Value to set)nx: boolean, optional (Only set if not exists)px: number, optional (Expiry in milliseconds) |
| get | String Command | Get string value | key: string (Key to get) |
| del | Key Command | Delete a key | key: string (Key to delete) |
| zadd | Sorted Set Command | Add one or more members to a sorted set | key: string (Sorted set key)members: array of objects with score: number and value: string |
| zrange | Sorted Set Command | Return a range of members from a sorted set by index | key: string (Sorted set key)start: number (Start index)stop: number (Stop index)withScores: boolean, optional (Include scores in output) |
| zrangebyscore | Sorted Set Command | Return members from a sorted set with scores between min and max | key: string (Sorted set key)min: number (Minimum score)max: number (Maximum score)withScores: boolean, optional (Include scores in output) |
| zrem | Sorted Set Command | Remove one or more members from a sorted set | key: string (Sorted set key)members: array of strings (Members to remove) |
| sadd | Set Command | Add one or more members to a set | key: string (Set key)members: array of strings (Members to add to the set) |
| smembers | Set Command | Get all members in a set | key: string (Set key) |
Usage
Configure in your MCP client (e.g., Claude Desktop, Cline):
{
"mcpServers": {
"redis": {
"command": "npx",
"args": [
"redis-mcp",
"--redis-host",
"localhost",
"--redis-port",
"6379"
],
"disabled": false
}
}
}
Command Line Arguments
--redis-host: Redis server host (default: localhost)--redis-port: Redis server port (default: 6379)
Installing via Smithery
To install Redis Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install redis-mcp --client claude
Development
To add a new Redis tool:
- Create a new tool class in
src/tools/extendingRedisTool - Define the tool’s interface in
src/interfaces/types.ts - Register the tool in
src/tools/tool_registry.ts
Example tool implementation:
export class MyTool extends RedisTool {
name = 'mytool';
description = 'Description of what the tool does';
inputSchema = {
type: 'object',
properties: {
// Define input parameters
},
required: ['requiredParam']
};
validateArgs(args: unknown): args is MyToolArgs {
// Implement argument validation
}
async execute(args: unknown, client: RedisClientType): Promise<ToolResponse> {
// Implement tool logic
}
}
Running evals
The evals package loads an mcp client that then runs the index.ts file, so there is no need to rebuild between tests. You can load environment variables by prefixing the npx command. Full documentation can be found here.
OPENAI_API_KEY=your-key npx mcp-eval src/evals/evals.ts src/tools/zrangebyscore_tool.ts
License
Dev Tools Supporting MCP
The following are the main code editors that support the Model Context Protocol. Click the link to visit the official website for more information.










