Redis MCP 服务器
提供对 Redis 数据库操作的访问的模型上下文协议 (MCP) 服务器。
项目结构
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: Redash MCP Server
可用工具
工具 | 类型 | 描述 | 输入模式 |
设定 | 哈希命令 | 将多个哈希字段设置为多个值 |
|
获得 | 哈希命令 | 获取哈希字段的值 |
|
赫盖塔尔 | 哈希命令 | 获取哈希中的所有字段和值 |
|
扫描 | 键盘命令 | 扫描与模式匹配的 Redis 键 |
|
放 | 字符串命令 | 使用可选的 NX 和 PX 选项设置字符串值 |
|
得到 | 字符串命令 | 获取字符串值 |
|
删除 | 键盘命令 | 删除密钥 |
|
扎德 | 排序集命令 | 向排序集合中添加一个或多个成员 |
|
范围 | 排序集命令 | 按索引返回排序集合中的一系列成员 |
|
zrangebyscore | 排序集命令 | 返回排序集中分数介于最小值和最大值之间的成员 |
|
兹雷姆 | 排序集命令 | 从排序集中删除一个或多个成员 |
|
萨德 | 设置命令 | 向集合中添加一个或多个成员 |
|
成员 | 设置命令 | 获取集合中的所有成员 |
|
用法
在您的 MCP 客户端(例如,Claude Desktop、Cline)中配置:
{
"mcpServers": {
"redis": {
"command": "npx",
"args": ["redis-mcp", "--redis-host", "localhost", "--redis-port", "6379"],
"disabled": false
}
}
}命令行参数
--redis-host:Redis 服务器主机(默认值:localhost)--redis-port:Redis 服务器端口(默认值:6379)
通过 Smithery 安装
要通过Smithery自动为 Claude Desktop 安装 Redis 服务器:
npx -y @smithery/cli install redis-mcp --client claude发展
要添加新的 Redis 工具:
在
src/tools/扩展RedisTool在
src/interfaces/types.ts中定义工具的接口在
src/tools/tool_registry.ts中注册该工具
工具实现示例:
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
}
}执照
麻省理工学院:https: //opensource.org/license/mit