article
README
🚀 mcp-server-redis项目
mcp-server-redis项目旨在提供一个便捷的Redis服务器操作解决方案,通过清晰的项目结构和丰富的工具,用户可以轻松地进行Redis的各项操作,如连接管理、数据读写等。
🚀 快速开始
项目结构
项目的整体结构如下:
mcp-server-redis/
├── src/
│ ├── __init__.py
│ ├── main.py # 主程序入口
│ ├── config.py # 配置文件
│ ├── connection.py # Redis连接管理
│ ├── resources/ # 资源实现
│ │ ├── __init__.py
│ │ ├── status.py # 连接状态资源
│ │ └── keys.py # 关键字相关资源
│ └── tools/ # 工具实现
│ ├── __init__.py
│ ├── basic.py # 基本Redis操作
│ ├── lists.py # 列表操作
│ ├── hashes.py # 哈希表操作
│ ├── sets.py # 集合操作
│ └── pubsub.py # 发布/订阅操作
├── tests/ # 测试目录
│ └── __init__.py
├── README.md
└── pyproject.toml
安装依赖
安装所需的依赖项,若尚未安装,可参考:https://docs.astral.sh/uv/
uv venv
source .venv/bin/activate
uv sync
配置Redis连接
参考.env.example文件以配置Redis连接,添加相应的变量。
运行服务器
python src/server.py
✨ 主要特性
资源
redis://status- 当前连接状态redis://info- Redis服务器信息redis://keys/{pattern}- 匹配模式的键列表
工具
- 基本操作:
get_value- 获取值set_value- 设置值,带可选过期时间delete_key- 删除关键字increment- 增加数值
- 列表操作:
list_push- 将值推送到列表中list_range- 获取列表中的范围值
- 哈希表操作:
hash_set- 设置哈希字段hash_get- 获取哈希字段
- 集合操作:
set_add- 添加到集合set_members- 获取集合成员
- 发布/订阅:
publish_message- 发布消息
每个工具都包含错误处理,并返回有意义的响应。如果连接丢失,服务器会自动重新连接。
💻 使用示例
基础用法
用户:Redis当前连接状态如何?
LLM:让我检查一下Redis的连接状态。
[读取资源 redis://status]
Redis服务器目前正在localhost:6379上运行,数据库0已连接。
用户:你能把我的名字“爱丽丝”存入Redis吗?
LLM:我将使用set_value工具帮你存储名字。
[调用set_value,键="name",值="Alice"]
成功设置键'nam'为"Alice"
我已经将你的名字“Alice”存储在Redis的"name"关键字下。是否需要确认存储是否正确?
用户:请验证一下
LLM:我将使用get_value工具进行验证。
[调用get_value,键="name"]
Alice
是的,我可以确认“Alice”已被成功存储在Redis中,并且可以正确检索到。存储和检索的值完全一致。
测试与安装
你可以使用MCP Inspector进行测试:
mcp dev src/server.py
或在Claude Desktop中安装:
mcp install src/server.py
📚 详细文档
此实现为Redis集成提供了坚实的基础。你可以根据具体需求添加更多Redis命令来扩展功能。
微信扫一扫