使用说明
项目简介
Spring AI ResOs MCP Server 是一个基于 Spring AI 框架构建的 MCP 服务器,旨在为 LLM 客户端提供餐厅预订系统 ResOs API 的数据访问能力。该项目包含一个 MCP 服务器实现 ('mcp-server') 和一个使用 ReactJS 构建的独立聊天机器人 UI ('mcp-client'),以及一个模拟 ResOs API 的后端服务 ('backend')。
主要功能点
- 资源访问 (Resources):通过工具 (Tools) 向 LLM 客户端提供餐厅的餐桌 (Tables)、营业时间 (Opening Hours)、顾客 (Customers)、反馈 (Feedback) 等信息查询能力。
- 工具注册 (Tools):注册了一系列工具 (Tools),允许 LLM 客户端调用以获取 ResOs API 的数据,例如获取所有餐桌信息、查询特定餐厅的营业时间等。
- 后端服务 (Backend):提供模拟 ResOs API 的 RESTful 后端服务,MCP 服务器从中获取数据。
- MCP 客户端配置 (MCP Client Configuration):提供了与 Claude Desktop 集成的 MCP 客户端配置示例。
- 独立聊天机器人 UI (Chatbot UI):包含一个基于 ReactJS 的聊天机器人前端,可用于测试和演示 MCP 服务器的功能。
安装步骤
- 克隆仓库
使用 Git 命令克隆 GitHub 仓库到本地:
git clone https://github.com/pacphi/spring-ai-resos cd spring-ai-resos - 构建项目
使用 Maven 命令构建项目:
mvn clean install
服务器配置
要将 MCP 服务器与 Claude Desktop 等 MCP 客户端集成,您需要配置客户端以连接到服务器。以下是针对 Claude Desktop 的 'claude_desktop_config.json' 配置示例,用于启动 'mcp-server' 模块:
{ "spring-ai-resos": { "command": "java", "args": [ "-jar", "<path-to-project>/target/spring-ai-resos-mcp-server-0.0.1-SNAPSHOT.jar" ] } }
参数说明:
- '"spring-ai-resos"': 服务器名称,在 Claude Desktop 中用于标识和调用此 MCP 服务器。
- '"command": "java"': 指定用于启动 MCP 服务器的命令,这里使用 Java 运行时环境。
- '"args"': 启动参数列表,包括:
- '"-jar"': 指定以 JAR 包形式运行应用程序。
- '"<path-to-project>/target/spring-ai-resos-mcp-server-0.0.1-SNAPSHOT.jar"': MCP 服务器 JAR 文件的完整路径。请将 '<path-to-project>' 替换为您的本地项目路径。
如果您需要连接到本地运行的后端服务,可以使用以下配置,激活 'dev' profile 以使用开发环境配置:
{ "spring-ai-resos": { "command": "java", "args": [ "-Dspring.profiles.active=dev", "-jar", "<path-to-project>/target/spring-ai-resos-mcp-server-0.0.1-SNAPSHOT.jar" ] } }
基本使用方法
- 启动后端服务 (backend) (可选,如果使用真实的 ResOS API,则无需启动):
cd backend mvn clean spring-boot:run -Dspring-boot.run.profiles=dev -Dspring-boot.run.jvmArguments="--add-opens java.base/java.net=ALL-UNNAMED" - 启动 MCP 服务器 (mcp-server):
或者,如果不使用 backend 服务,直接连接到 ResOS API,则不需要设置 'RESOS_API_ENDPOINT' 环境变量。cd mcp-server export RESOS_API_ENDPOINT=http://localhost:8080/api/v1/resos # 如果启动了 backend 服务 mvn spring-boot:run -Dspring-boot.run.profiles=cloud,dev - 配置 MCP 客户端 (例如 Claude Desktop): 按照上述“服务器配置”部分,将 'claude_desktop_config.json' 文件添加到 Claude Desktop 的配置目录中,并重启 Claude Desktop。
- 与 LLM 客户端交互: 在 Claude Desktop 或其他 MCP 客户端中,您应该能看到 'spring-ai-resos' 服务器提供的工具。您可以开始与 LLM 对话,并利用这些工具查询餐厅数据。
聊天机器人 UI 使用 (可选)
项目还包含一个独立的聊天机器人 UI,可以用于与 MCP 服务器进行交互。
- 启动聊天机器人 UI (mcp-client):
您可能需要配置 API 密钥等信息,请参考 'mcp-client/README.md' 中的说明。cd mcp-client mvn spring-boot:run -Dspring-boot.run.profiles=openai,dev # 例如使用 OpenAI,也可以选择 groq-cloud, openrouter 等 profile - 访问聊天机器人: 在浏览器中访问 'http://localhost:8081',即可使用聊天机器人 UI。
信息
分类
商业系统