redis-mcp(MCP&Agent挑战赛)
> 🔧 一个功能强大的 Redis MCP (Model Context Protocol) 服务器,为 AI 编辑器提供完整的 Redis 数据库操作能力 - 🔌 即插即用: 支持所有主流 AI 编辑器 (Cursor, WindSurf, CodeBuddy 等) - 🛠️ 全功能覆盖: 支持 Redis 所有数据类型操作 - 🔒 安全连接: 支持 TLS/SSL 加密连接 - 📦 批量操作:
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"redis-mcp": {
"args": [
"@pickstar-2002/redis-mcp@latest",
"--host",
"your-redis-host.com",
"--port",
"6380",
"--password",
"your_password",
"--tls",
"true"
],
"command": "npx"
}
}
}
可用工具 (34 个)
该服务在 MCP 协议中暴露的工具,AI 可按需调用
connect_redis 6 个参数 需填 2 项
连接到 Redis 服务器
必填参数:host、port
disconnect_redis
断开与 Redis 服务器的连接
该工具无需必填参数,直接调用即可
string_set 3 个参数 需填 2 项
设置字符串键值
必填参数:key、value
string_get 1 个参数 需填 1 项
获取字符串值
必填参数:key
string_incr 2 个参数 需填 1 项
递增数值
必填参数:key
string_decr 2 个参数 需填 1 项
递减数值
必填参数:key
string_mset 1 个参数 需填 1 项
批量设置键值
必填参数:keyValues
string_mget 1 个参数 需填 1 项
批量获取键值
必填参数:keys
hash_set 3 个参数 需填 3 项
设置哈希字段
必填参数:key、field、value
hash_mset 2 个参数 需填 2 项
批量设置哈希字段
必填参数:key、fieldValues
hash_get 2 个参数 需填 2 项
获取哈希字段
必填参数:key、field
hash_getall 1 个参数 需填 1 项
获取所有哈希字段
必填参数:key
hash_del 2 个参数 需填 2 项
删除哈希字段
必填参数:key、fields
list_lpush 2 个参数 需填 2 项
左侧推入列表
必填参数:key、values
list_rpush 2 个参数 需填 2 项
右侧推入列表
必填参数:key、values
list_lpop 2 个参数 需填 1 项
左侧弹出列表
必填参数:key
list_rpop 2 个参数 需填 1 项
右侧弹出列表
必填参数:key
list_range 3 个参数 需填 3 项
获取列表范围
必填参数:key、start、stop
set_add 2 个参数 需填 2 项
添加集合成员
必填参数:key、members
set_remove 2 个参数 需填 2 项
移除集合成员
必填参数:key、members
set_members 1 个参数 需填 1 项
获取集合所有成员
必填参数:key
zset_add 2 个参数 需填 2 项
添加有序集合成员
必填参数:key、members
zset_remove 2 个参数 需填 2 项
移除有序集合成员
必填参数:key、members
zset_range 4 个参数 需填 3 项
获取有序集合范围
必填参数:key、start、stop
key_delete 1 个参数 需填 1 项
删除键
必填参数:keys
key_expire 2 个参数 需填 2 项
设置键过期时间
必填参数:key、seconds
key_ttl 1 个参数 需填 1 项
获取键过期时间
必填参数:key
key_search 1 个参数 需填 1 项
查找匹配的键
必填参数:pattern
key_type 1 个参数 需填 1 项
获取键类型
必填参数:key
key_info 1 个参数 需填 1 项
获取键信息
必填参数:key
key_delete_pattern 1 个参数 需填 1 项
批量删除匹配的键
必填参数:pattern
db_flush
清空当前数据库
该工具无需必填参数,直接调用即可
backup_create 4 个参数
创建 Redis 数据备份
该工具无需必填参数,直接调用即可
backup_restore 3 个参数 需填 1 项
从备份恢复 Redis 数据
必填参数:filename
服务介绍
🚀 Redis MCP Server
🔧 一个功能强大的 Redis MCP (Model Context Protocol) 服务器,为 AI 编辑器提供完整的 Redis 数据库操作能力
✨ 特性
- 🔌 即插即用: 支持所有主流 AI 编辑器 (Cursor, WindSurf, CodeBuddy 等)
- 🛠️ 全功能覆盖: 支持 Redis 所有数据类型操作
- 🔒 安全连接: 支持 TLS/SSL 加密连接
- 📦 批量操作: 支持批量数据导入导出
- 💾 备份恢复: 内置数据备份和恢复功能
- 🎯 类型安全: 完整的 TypeScript 类型定义
- ⚡ 高性能: 基于官方 Redis 客户端优化
📋 支持的操作
🔤 字符串操作
string_set/string_get- 设置/获取字符串值string_incr/string_decr- 数值递增/递减string_mset/string_mget- 批量设置/获取
🗂️ 哈希操作
hash_set/hash_get- 设置/获取哈希字段hash_mset/hash_getall- 批量操作和获取所有字段hash_del- 删除哈希字段
📝 列表操作
list_lpush/list_rpush- 左/右侧推入list_lpop/list_rpop- 左/右侧弹出list_range- 获取列表范围
🎯 集合操作
set_add/set_remove- 添加/移除成员set_members- 获取所有成员
📊 有序集合操作
zset_add/zset_remove- 添加/移除成员zset_range- 获取范围数据
🔑 键管理
key_delete/key_expire/key_ttl- 键操作key_search/key_type/key_info- 键查询key_delete_pattern- 批量删除
💾 数据库管理
db_flush- 清空数据库backup_create/backup_restore- 备份恢复
🚀 快速开始
安装要求
- Node.js >= 18.0.0
- Redis 服务器 (本地或远程)
在 AI 编辑器中使用
🎯 推荐用法 (使用 @latest)
javascript
{
"mcpServers": {
"redis-mcp": {
"command": "npx",
"args": [
"@pickstar-2002/redis-mcp@latest",
"--host", "localhost",
"--port", "6379"
]
}
}
}
🔧 完整配置示例
javascript
{
"mcpServers": {
"redis-mcp": {
"command": "npx",
"args": [
"@pickstar-2002/redis-mcp@latest",
"--host", "localhost",
"--port", "6379",
"--password", "your_password",
"--db", "0",
"--username", "your_username"
]
}
}
}
🔒 TLS 连接配置
javascript
{
"mcpServers": {
"redis-mcp": {
"command": "npx",
"args": [
"@pickstar-2002/redis-mcp@latest",
"--host", "your-redis-host.com",
"--port", "6380",
"--password", "your_password",
"--tls", "true"
]
}
}
}
📍 配置文件位置
不同 AI 编辑器的配置文件位置:
| 编辑器 | 配置文件路径 |
|---|---|
| Cursor | ~/.cursor/mcp_settings.json |
| WindSurf | ~/.windsurf/mcp_settings.json |
| CodeBuddy | ~/.codebuddy/mcp_settings.json |
| Claude Desktop | ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)%APPDATA%\Claude\claude_desktop_config.json (Windows) |
🎮 使用示例
基础连接
javascript
// AI 编辑器中直接使用
// 连接到 Redis
await connectRedis("localhost", 6379, "password")
// 设置字符串
await stringSet("user:1001", "张三", 3600)
// 获取字符串
const value = await stringGet("user:1001")
哈希操作
javascript
// 设置用户信息
await hashMset("user:profile:1001", [
{ field: "name", value: "张三" },
{ field: "age", value: "25" },
{ field: "city", value: "北京" }
])
// 获取所有字段
const profile = await hashGetall("user:profile:1001")
列表操作
javascript
// 创建任务队列
await listLpush("tasks", ["任务1", "任务2", "任务3"])
// 处理任务
const task = await listRpop("tasks")
🔧 命令行参数
| 参数 | 描述 | 默认值 | 必需 |
|---|---|---|---|
--host |
Redis 服务器地址 | localhost |
❌ |
--port |
Redis 服务器端口 | 6379 |
❌ |
--password |
Redis 密码 | - | ❌ |
--username |
Redis 用户名 | - | ❌ |
--db |
数据库索引 | 0 |
❌ |
--tls |
启用 TLS 连接 | false |
❌ |
📚 API 文档
连接管理
connect_redis
连接到 Redis 服务器
javascript
{
"host": "localhost",
"port": 6379,
"password": "optional_password",
"username": "optional_username",
"db": 0,
"tls": false
}
disconnect_redis
断开 Redis 连接
字符串操作
string_set
设置字符串键值
javascript
{
"key": "mykey",
"value": "myvalue",
"expireSeconds": 3600
}
string_get
获取字符串值
javascript
{
"key": "mykey"
}
更多 API
详细的 API 文档请参考源码中的类型定义文件 src/types/index.ts。
🛠️ 开发
本地开发
bash
# 克隆项目
git clone https://github.com/pickstar-2002/redis-mcp.git
cd redis-mcp
# 安装依赖
npm install
# 构建项目
npm run build
# 本地测试
npm start -- --host localhost --port 6379
项目结构
redis-mcp/
├── src/
│ ├── index.ts # 入口文件
│ ├── services/
│ │ ├── redisService.ts # Redis 操作服务
│ │ ├── mcpService.ts # MCP 协议服务
│ │ └── backupService.ts # 备份恢复服务
│ └── types/
│ └── index.ts # 类型定义
├── package.json
├── tsconfig.json
└── README.md
🤝 贡献
欢迎提交 Issue 和 Pull Request!
- Fork 本项目
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 开启 Pull Request## 📄 许可证
本项目基于 MIT 许可证开源。
🔗 相关链接
📞 联系方式
如有问题或建议,欢迎联系:
微信: pickstar_loveXX
⭐ 如果这个项目对你有帮助,请给个 Star 支持一下!