使用说明
Spring AI MCP演示项目
该项目展示了 模型上下文协议(MCP) 使用 春季AI它展示了服务器如何公开专门的工具和资源,以及客户端如何利用LLM(大型语言模型)通过自然语言与这些功能进行交互。
项目架构
该项目被构造为由服务器和客户端组成的Maven多模块项目。
-
- 目的:充当MCP服务器,为外部客户端提供工具和资源。
- 主要特点:
- 使用
@McpTool用于注册LLM可以调用的工具的注释。 - 目前实施a
getWeather(city)工具。 - 已配置为使用 SSE(服务器发送事件) 通信协议。
- 使用
- 端点:默认情况下,MCP流在
/mcp.
-
- 目的:充当MCP客户端,连接到服务器并使用LLM处理请求。
- 主要特点:
- 连接到服务器的SSE端点。
- 用途 Spring AI的聊天客户端 与AI模型集成(为OpenAI/Gemini配置)。
- 自动发现和利用由
mcp-server.
入门指南
先决条件
- JDK 21+
- Maven 3.9+
- 用于OpenAI或Google Gemini的API密钥。
运行项目
-
启动服务器:
cd mcp-server mvn spring-boot:run服务器将于启动
http://localhost:8080. -
启动客户端:
cd mcp-client mvn spring-boot:run客户端将连接到服务器并执行示例提示(例如,“旧金山的天气如何?”)。
使用Postman进行测试(MCP功能)
Postman现在原生支持模型上下文协议,允许您直接调试和测试MCP服务器。
测试步骤:
- 开始
mcp-server如上所述。 - 打开邮递员 (建议使用v11.23+)。
- 创建新请求:单击 新 -> MCP请求.
- 配置连接:
- 选择 上海证券交易所 作为运输类型。
- 主要终点:将URL设置为
http://localhost:8080/mcp. - 替代端点:如果遇到连接问题,请尝试
http://localhost:8080/sse(根据特定的SSE配置,有时会使用此路径)。
- 连接:单击 连接 按钮。
- 探索工具:
- 连接后,您可以看到列出的可用工具(例如。,
getWeather). - 选择
getWeather,提供acity论点(例如。,London),然后单击 执行.
- 连接后,您可以看到列出的可用工具(例如。,
- 查看日志:使用 时间线 Postman中的选项卡,用于检查Postman和服务器之间交换的JSON-RPC消息。
