Redis MCP Server - 为 AI 应用提供自然语言 Redis 接口
简介
Redis MCP Server 是 Redis 官方推出的 Model Context Protocol 服务器实现,为 AI 应用提供了通过自然语言管理和搜索 Redis 数据的强大能力。这个服务器让 Claude Desktop、VS Code 和 OpenAI Agents 等 AI 助手能够直接操作 Redis 的所有核心数据结构,包括 Strings、Hashes、Lists、Sets、Sorted Sets、JSON 文档、Stream 流式数据,以及强大的向量搜索功能。通过标准化的 MCP 协议,开发者可以轻松地将 Redis 的高性能数据存储能力集成到 AI 工作流中,实现会话管理、实时缓存、向量搜索等多种应用场景。
核心特性
- 完整的数据结构支持 - 支持 Redis 所有主要数据类型,包括 Strings、Hashes、Lists、Sets、Sorted Sets
- JSON 文档存储 - 原生支持 JSON 文档的存储和操作,支持 JSONPath 查询
- Vector Search 向量搜索 - 提供向量索引创建和相似度搜索能力,适用于 RAG 应用
- Pub/Sub 消息系统 - 支持发布订阅模式,实现实时消息传递
- Redis Streams 流式处理 - 完整支持 Streams 数据结构,适用于事件流和日志处理
- 自然语言交互 - 通过 AI 助手使用自然语言查询和操作 Redis 数据
- 标准化协议 - 基于 MCP 标准协议,消除集成碎片化问题
- 灵活部署 - 支持 PyPI、Docker 等多种部署方式
- 企业级集成 - 无缝集成 Claude Desktop、VS Code、OpenAI Agents
工具列表
字符串操作
string-set
描述: 设置字符串值,可选设置过期时间
参数:
key(string): 键名 [必需]value(string): 字符串值 [必需]ex(number): 过期时间(秒) [可选]
string-get
描述: 获取字符串值
参数:
key(string): 键名 [必需]
哈希操作
hash-set
描述: 在单个键内存储字段-值对
参数:
key(string): 哈希键名 [必需]field(string): 字段名 [必需]value(string): 字段值 [必需]
hash-get
描述: 获取哈希字段值
参数:
key(string): 哈希键名 [必需]field(string): 字段名 [必需]
hash-getall
描述: 获取哈希的所有字段和值
参数:
key(string): 哈希键名 [必需]
列表操作
list-push
描述: 向列表添加项目
参数:
key(string): 列表键名 [必需]value(string): 要添加的值 [必需]direction(string): 添加方向,可选值:left 或 right [可选]
list-range
描述: 获取列表范围内的元素
参数:
key(string): 列表键名 [必需]start(number): 起始索引 [必需]stop(number): 结束索引 [必需]
集合操作
set-add
描述: 向集合添加成员
参数:
key(string): 集合键名 [必需]member(string): 要添加的成员 [必需]
set-members
描述: 列出集合所有成员
参数:
key(string): 集合键名 [必需]
排序集合操作
sorted-set-add
描述: 添加带分数的排序集合成员
参数:
key(string): 排序集合键名 [必需]score(number): 分数 [必需]member(string): 成员 [必需]
sorted-set-range
描述: 按分数范围获取排序集合成员
参数:
key(string): 排序集合键名 [必需]start(number): 起始索引 [必需]stop(number): 结束索引 [必需]
发布订阅
pubsub-publish
描述: 向频道发布消息
参数:
channel(string): 频道名称 [必需]message(string): 消息内容 [必需]
Stream 流操作
stream-add
描述: 向流添加数据
参数:
key(string): 流键名 [必需]fields(object): 字段-值对 [必需]
stream-read
描述: 从流读取数据
参数:
key(string): 流键名 [必需]count(number): 读取数量 [可选]
JSON 操作
json-set
描述: 存储 JSON 文档
参数:
key(string): 键名 [必需]path(string): JSON 路径 [必需]value(object): JSON 值 [必需]
json-get
描述: 获取 JSON 文档
参数:
key(string): 键名 [必需]path(string): JSON 路径 [可选]
向量搜索
vector-create-index
描述: 创建向量索引
参数:
indexName(string): 索引名称 [必需]dimensions(number): 向量维度 [必需]
vector-search
描述: 执行向量搜索
参数:
indexName(string): 索引名称 [必需]vector(array): 查询向量 [必需]k(number): 返回结果数 [可选]
Prompts
Redis MCP Server 支持以下自然语言提示:
- “将整个对话存储在流中” - 使用 Streams 存储对话历史
- “缓存此项目” - 快速缓存数据
- “存储带过期时间的会话” - 设置会话数据并自动过期
- “索引并搜索此向量” - 创建向量索引并执行相似度搜索
配置方式
基础配置
1 | { |
使用 Redis URI
1 | { |
环境变量
REDIS_HOST- Redis 服务器地址(默认:localhost)REDIS_PORT- Redis 端口(默认:6379)REDIS_PASSWORD- Redis 密码REDIS_URL- 完整的 Redis 连接 URI
使用示例
安装
1 | # 使用 pip 安装 |
Docker 部署
1 | docker run -d --name redis-mcp \ |
应用场景示例
1 | # 会话管理:存储用户会话数据 |
实际应用场景
1. AI 会话管理
使用 Redis Strings 和 TTL 功能存储用户会话状态,自动过期清理。非常适合聊天机器人、AI 助手的状态管理。
2. 对话历史存储
利用 Redis Streams 存储完整的对话流,支持时间范围查询和消费者组,便于对话历史回溯和分析。
3. 实时缓存层
将频繁访问的 AI 模型推理结果缓存到 Redis,大幅降低响应时间和 API 调用成本。
4. RAG 向量搜索
使用 Redis Vector Search 存储文档嵌入向量,实现高性能的语义搜索,为 RAG 应用提供知识检索能力。
5. 速率限制和配额管理
通过 Sorted Sets 实现滑动窗口速率限制,精确控制 API 调用频率和用户配额。
技术实现
标准化 MCP 协议
Redis MCP Server 完全遵循 Model Context Protocol 规范,消除了不同 AI 平台集成的碎片化问题。通过统一的协议接口,任何支持 MCP 的 AI 工具都可以直接使用。
Stdio Transport
使用标准输入输出进行通信,简化部署和集成流程,无需额外的网络配置。
完整的日志和调试
内置详细的日志记录和调试选项,方便开发者排查问题和监控运行状态。
轻量级可扩展架构
采用 Python 实现,依赖少,启动快速。模块化设计使得扩展新功能变得简单直接。
灵活配置
支持通过 CLI 参数或环境变量配置,适应不同的部署环境和安全要求。
获取方式
- GitHub: https://github.com/redis/mcp-redis
- 安装:
pip install redis-mcp-server - PyPI: https://pypi.org/project/redis-mcp-server/
- Docker Hub: https://hub.docker.com/r/mcp/redis