使用说明

项目简介

本项目是一个基于 Spring Boot 和 Spring AI 构建的 Redis MCP 服务器,旨在为 LLM 应用提供操作 Redis 数据库的标准化接口。它实现了 MCP 协议,允许 LLM 客户端通过 JSON-RPC over SSE (Server-Sent Events) 协议调用预定义的 Redis 工具,从而实现对 Redis 数据的管理和控制。

主要功能点

  • Redis 键值对操作: 支持设置 (set)、获取 (get) 和删除 (delete) Redis 键值对。
  • 模式匹配键列表: 能够根据指定的模式列出 Redis 中匹配的键 (list)。
  • 可选的键过期时间: 在设置键值对时,可以指定键的过期时间 (set)。
  • SSE 协议支持: 使用 Server-Sent Events (SSE) 实现 MCP 协议,方便客户端进行实时通信。

安装步骤

  1. 安装 JDK 17+ 和 Maven 3.6+:确保你的开发环境已安装 JDK 17 或更高版本,以及 Maven 3.6 或更高版本。
  2. 安装 Redis 服务器:确保已安装并运行 Redis 服务器。默认配置连接本地 Redis 服务器 (redis://localhost:6379)。
  3. 克隆仓库:将 GitHub 仓库 'https://github.com/yyue9527/redis-mcp-server' 克隆到本地。
  4. 构建项目:在项目根目录下,打开终端并执行以下 Maven 命令进行构建:
    mvn clean package
    构建成功后,会在 'target' 目录下生成 'redis-mcp-server-{version}.jar' 文件。

服务器配置

MCP 服务器需要配置在 MCP 客户端中才能使用。以下是针对 Cursor 客户端的配置示例,其他 MCP 客户端的配置方式类似,需要提供服务器名称、连接命令以及连接参数。

{
  "redis-mcp-server": {
    "url": "http://localhost:8080/sse",
    "enabled": true
  }
}

配置参数说明:

  • server name (redis-mcp-server): 服务器名称,在客户端中用于标识和引用该服务器。可以自定义,这里设置为 'redis-mcp-server'。
  • command (无需配置): 对于 Web MVC 应用,通常不需要显式配置启动命令,因为客户端通过 URL (例如 'http://localhost:8080/sse') 直接访问服务器。
  • args (无需配置): 同样,Web MVC 应用的参数通常通过 URL 或 HTTP 请求传递,无需在客户端配置启动参数。
  • url (http://localhost:8080/sse): MCP 服务器的 SSE 端点 URL。客户端通过此 URL 与服务器建立 SSE 连接。请确保 URL 与服务器实际运行地址和端口一致。如果服务器运行在非本地环境或使用了不同的端口,请修改此 URL。
  • enabled (true): 启用该 MCP 服务器。设置为 'true' 表示启用,'false' 表示禁用。

Redis 连接配置:

Redis 服务器连接地址可以通过系统属性 'redis.url' 配置。默认值为 'redis://localhost:6379'。

示例 (运行 JAR 包并指定 Redis 连接):

java -Dredis.url=redis://your-redis-host:6379 -jar target/redis-mcp-server-{version}.jar

将 'redis://your-redis-host:6379' 替换为你的实际 Redis 服务器连接地址。

基本使用方法

  1. 启动服务器:在终端中,进入 'redis-mcp-server' 项目的 'target' 目录,执行以下命令启动服务器:

    java -jar redis-mcp-server-{version}.jar

    服务器默认监听 8080 端口。

  2. 配置 MCP 客户端:根据你使用的 MCP 客户端(例如 Cursor),按照上述 “服务器配置” 章节的说明,配置 'redis-mcp-server',并确保 URL 指向正在运行的 Redis MCP Server 的 SSE 端点 ('http://localhost:8080/sse')。

  3. 通过 MCP 客户端调用工具:在 MCP 客户端中,你可以调用以下工具来操作 Redis 数据库:

    • set (设置键值对): 参数为 JSON 格式字符串,例如 '{"key": "mykey", "value": "myvalue", "expireSeconds": 60}' (expireSeconds 为可选参数,单位为秒)。
    • get (获取键值): 参数为 JSON 格式字符串,例如 '{"keys": "mykey"}'。
    • delete (删除键): 参数为 JSON 格式字符串,可以删除单个键 '{"keys": "mykey"}' 或多个键 '{"keys": ["key1", "key2"]}'。
    • list (列出键): 参数为 JSON 格式字符串,可选参数 'pattern' 用于指定匹配模式,例如 '{"pattern": "my*"}'。 默认 pattern 为 '*',列出所有键。

    注意: 工具的具体调用方式和参数传递形式取决于你使用的 MCP 客户端。请参考你所用客户端的文档。

总结

Redis MCP Server 提供了一组用于管理 Redis 数据库的工具,通过简单的配置和调用,LLM 应用可以方便地利用这些工具进行数据存取和管理,扩展 LLM 的功能边界。

信息

分类

数据库与文件