使用说明
项目简介
"MCP Spring AI 服务" 是一个基于 Java Spring Boot 框架的应用,它实现了模型上下文协议 (MCP) 的服务器端功能。该服务集成了 Spring AI 库,能够连接到各种大型语言模型(如 OpenAI),并处理来自 MCP 客户端的请求。此外,它还具备根据配置动态启动和管理其他外部 MCP 服务器进程的能力。
主要功能点
- 提供标准的 MCP 服务端点: 实现了 MCP 协议中定义的核心端点(如消息处理 '/mcp/message' 和能力声明 '/mcp/capabilities'),允许 MCP 客户端进行通信。
- 集成大型语言模型 (LLM): 利用 Spring AI 的能力,可以方便地配置和连接到 OpenAI、Ollama 等兼容 LLM,使服务具备智能交互能力。
- 管理外部 MCP 服务: 通过读取特定的 JSON 配置文件,该服务可以动态启动和监控其他的 MCP 服务器进程,形成一个 MCP 服务器的生态系统。
- 支持工具 (Tools): 可以在服务中定义和实现各种工具(如示例中的天气查询、数学计算等),并通过 MCP 协议暴露给 LLM 使用。
安装步骤
- 确保您的系统已安装 Java 17 或更高版本,以及 Maven 3.6.x 或更高版本。
- 如果需要运行 'mcp-servers.json' 中配置的 Node.js 或其他类型的外部 MCP 服务器,请确保相应的运行环境(如 Node.js, npm, npx)已安装。
- 获取项目代码。
- 进入项目根目录。
- 使用 Maven 构建项目:
这会在项目的 'target/' 目录下生成可执行的 JAR 文件,例如 'mcp-spring-ai-service-0.0.1-SNAPSHOT.jar'。mvn clean package
服务器配置
MCP 客户端需要配置连接到本 MCP 服务器的网络地址和端口。默认情况下,本服务器启动在 'http://localhost:8080' 端口。一个典型的 MCP 客户端配置可能需要以下信息来建立连接:
- 服务器地址 (Address): 'http://localhost' (如果客户端运行在同一机器上) 或服务器的 IP 地址/域名。
- 服务器端口 (Port): '8080' (如果使用默认配置)。
- 传输协议 (Transport): 根据 MCP 规范,可能使用 SSE ('application/x-mcp-json-stream') 或其他协议。客户端需要配置相应的端点路径 (例如 '/mcp/message' 和 '/mcp/capabilities')。
- 注意: 项目 README 中提到的 'mcp-servers.json' 文件及其内部的 'command' 和 'args' 配置,是用于本服务启动和管理 其他外部 MCP 服务器的,不是用于 MCP 客户端连接到本服务的配置。
此外,您还需要配置本服务的一些属性:
- API 密钥: 编辑 'src/main/resources/application.properties' 文件,配置连接 AI 模型所需的 API 密钥,例如:
spring.ai.openai.api-key=sk-您的实际OpenAIAPI密钥 - 外部服务器配置文件路径: 在 'application.properties' 中配置 'mcp-servers.json' 文件的绝对路径:
确保该文件存在并包含有效的外部 MCP 服务器配置(参考 README 示例)。mcp.external.servers.config.path=/path/to/您的/mcp-servers.json
基本使用方法
- 按照“安装步骤”完成项目构建。
- 按照“服务器配置”修改 'application.properties' 和准备 'mcp-servers.json' 文件。
- 运行服务:
java -jar target/mcp-spring-ai-service-0.0.1-SNAPSHOT.jar - 服务启动后,它将监听默认端口(8080)并根据 'mcp-servers.json' 启动外部 MCP 服务器进程。
- 使用兼容的 MCP 客户端应用,配置连接到本服务器的地址和端口(默认 'http://localhost:8080'),即可开始与 MCP 服务器交互,利用其集成的 AI 能力和工具。
信息
分类
AI与计算