Redis MCP Server
The Redis MCP Server provides a Model Context Protocol interface for interacting with a Redis database, enabling operations across multiple data types:
Hash operations: Set multiple fields (
hmset), get a specific field (hget), or retrieve all fields and values (hgetall)Key operations: Scan keys matching a pattern (
scan) and delete keys (del)String operations: Set values with optional NX/PX conditions (
set) and retrieve values (get)Sorted set operations: Add members with scores (
zadd), get ranges by index (zrange) or score (zrangebyscore), and remove members (zrem)Set operations: Add members (
sadd) and retrieve all members (smembers)
Provides access to Redis database operations through a Model Context Protocol (MCP) server. Includes tools for various Redis commands such as HMSET, HGET, HGETALL, SCAN, SET, GET, DEL, ZADD, ZRANGE, ZRANGEBYSCORE, ZREM, SADD, and SMEMBERS.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Redis MCP Server get the value for key 'user:session:12345'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 implementationRelated MCP server: Redis MCP
Available Tools
Tool | Type | Description | Input Schema |
hmset | Hash Command | Set multiple hash fields to multiple values |
|
hget | Hash Command | Get the value of a hash field |
|
hgetall | Hash Command | Get all fields and values in a hash |
|
scan | Key Command | Scan Redis keys matching a pattern |
|
set | String Command | Set string value with optional NX and PX options |
|
get | String Command | Get string value |
|
del | Key Command | Delete a key |
|
zadd | Sorted Set Command | Add one or more members to a sorted set |
|
zrange | Sorted Set Command | Return a range of members from a sorted set by index |
|
zrangebyscore | Sorted Set Command | Return members from a sorted set with scores between min and max |
|
zrem | Sorted Set Command | Remove one or more members from a sorted set |
|
sadd | Set Command | Add one or more members to a set |
|
smembers | Set Command | Get all members in a set |
|
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 claudeDevelopment
To add a new Redis tool:
Create a new tool class in
src/tools/extendingRedisToolDefine the tool's interface in
src/interfaces/types.tsRegister 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.tsLicense
Available Tools
13 toolsdelC
Delete a key
Inputs: key (required).
getD
Get string value
Inputs: key (required).
hgetC
Get the value of a hash field
Inputs: field (required), key (required).
hgetallC
Get all the fields and values in a hash
Inputs: key (required).
hmsetC
Set multiple hash fields to multiple values
Inputs: fields (required), key (required).
saddC
Add one or more members to a set
Inputs: key (required), members (required).
scanC
Scan Redis keys matching a pattern
Inputs: pattern (required), count.
setC
Set string value with optional NX (only if not exists) and PX (expiry in milliseconds) options
Inputs: key (required), value (required), nx, px.
smembersC
Get all members in a set
Inputs: key (required).
zaddC
Add one or more members to a sorted set
Inputs: key (required), members (required).
zrangeC
Return a range of members from a sorted set by index
Inputs: key (required), start (required), stop (required), withScores.
zrangebyscoreC
Return members from a sorted set with scores between min and max
Inputs: key (required), max (required), min (required), withScores.
zremC
Remove one or more members from a sorted set
Inputs: key (required), members (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 13 tools
Most tools have clearly distinct purposes targeting different Redis data types and operations, with minimal overlap. However, 'get' and 'set' for strings versus 'hget' and 'hmset' for hashes follow similar patterns but are differentiated by the 'h' prefix, which could cause minor confusion for agents unfamiliar with Redis naming conventions.
The tool names are highly consistent, following Redis command conventions with lowercase, concise verb-based names (e.g., 'get', 'set', 'del', 'sadd', 'zadd'). All tools adhere to this pattern without mixing styles, making them predictable and easy to interpret.
With 13 tools, this server is well-scoped for Redis operations, covering key data types (strings, hashes, sets, sorted sets) and essential commands. The count is appropriate, providing a focused set without being overwhelming or too sparse for the domain.
The tool set offers strong coverage for core Redis operations, including CRUD-like actions for multiple data types and scanning. Minor gaps exist, such as missing list operations (e.g., 'lpush', 'lrange') and transaction commands, but agents can still handle many common workflows effectively.
Maintenance
Related MCP Connectors
Cross-tool persistent memory and context for AI assistants over MCP.
Read and write shared BitsWeave context, projects, tasks, and work sessions through MCP.
Shared memory for your AI tools: tasks, notes and context every tool can read and write over MCP.
Read-only MCP tools for AI agent discovery, structured resources, and NIULAI information.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceProvides access to Redis databases. This server enables LLMs to interact with Redis key-value stores through a set of standardized tools.179 npm30MIT
- AlicenseBqualityDmaintenanceEnables AI assistants to perform comprehensive Redis database operations including managing strings, hashes, lists, sets, sorted sets, TTL management, and data backup/restore. Supports secure connections and provides batch operations for efficient Redis interaction through natural language.3417 npm2MIT
- AlicenseBqualityDmaintenanceProvides comprehensive Redis database operations supporting all major data types (strings, lists, sets, hashes, sorted sets) with full CRUD functionality through natural language commands.96 npmMIT
- AlicenseAqualityBmaintenanceA Model Context Protocol (MCP) server for Redis. Connect to any Redis instance and execute queries through AI assistants.3MIT