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 implementation
Related MCP server: Redash MCP Server
可用工具
工具 | 类型 | 描述 | 输入模式 |
设定 | 哈希命令 | 将多个哈希字段设置为多个值 | key
:字符串(哈希键) fields
:对象(要设置的字段值对) |
获得 | 哈希命令 | 获取哈希字段的值 | key
:字符串(哈希键) field
:字符串(要获取的字段) |
赫盖塔尔 | 哈希命令 | 获取哈希中的所有字段和值 | key
:字符串(哈希键) |
扫描 | 键盘命令 | 扫描与模式匹配的 Redis 键 | pattern
:字符串(要匹配的模式,例如“user:*”) count
:数字,可选(要返回的键数) |
放 | 字符串命令 | 使用可选的 NX 和 PX 选项设置字符串值 | key
:字符串(要设置的键) value
:字符串(要设置的值) nx
:布尔值,可选(仅当不存在时才设置) px
:数字,可选(以毫秒为单位的有效期) |
得到 | 字符串命令 | 获取字符串值 | key
:字符串(要获取的键) |
删除 | 键盘命令 | 删除密钥 | key
:字符串(要删除的键) |
扎德 | 排序集命令 | 向排序集合中添加一个或多个成员 | key
:字符串(排序集键) members
:具有 score
的对象数组:数字和 value
:字符串 |
范围 | 排序集命令 | 按索引返回排序集合中的一系列成员 | key
:字符串(排序集键) start
:数字(起始索引) stop
:数字(终止索引) withScores
:布尔值,可选(在输出中包含分数) |
zrangebyscore | 排序集命令 | 返回排序集中分数介于最小值和最大值之间的成员 | key
:字符串(排序集键) min
:数字(最低分数) max
:数字(最高分数) withScores
:布尔值,可选(在输出中包含分数) |
兹雷姆 | 排序集命令 | 从排序集中删除一个或多个成员 | key
:字符串(排序集键) members
:字符串数组(要删除的成员) |
萨德 | 设置命令 | 向集合中添加一个或多个成员 | key
:字符串(设置键) members
:字符串数组(要添加到集合中的成员) |
成员 | 设置命令 | 获取集合中的所有成员 | key
:字符串(设置键) |
用法
在您的 MCP 客户端(例如,Claude Desktop、Cline)中配置:
{
"mcpServers": {
"redis": {
"command": "npx",
"args": ["redis-mcp", "--redis-host", "localhost", "--redis-port", "6379"],
"disabled": false
}
}
}
命令行参数
通过 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