模型上下文协议演示

该项目展示了如何使用Spring AI实现模型上下文协议(MCP),使客户端能够通过自然语言与服务器端工具交互。

  • by iam-devarch
  • Java
  • 本地部署
  • 更新于
在 GitHub 查看 iam-devarch/ai-mcp

使用说明

Spring AI MCP演示项目

该项目展示了 模型上下文协议(MCP) 使用 春季AI它展示了服务器如何公开专门的工具和资源,以及客户端如何利用LLM(大型语言模型)通过自然语言与这些功能进行交互。

项目架构

该项目被构造为由服务器和客户端组成的Maven多模块项目。

  • mcp服务器:

    • 目的:充当MCP服务器,为外部客户端提供工具和资源。
    • 主要特点:
      • 使用 @McpTool 用于注册LLM可以调用的工具的注释。
      • 目前实施a getWeather(city) 工具。
      • 已配置为使用 SSE(服务器发送事件) 通信协议。
    • 端点:默认情况下,MCP流在 /mcp.
  • mcp客户端:

    • 目的:充当MCP客户端,连接到服务器并使用LLM处理请求。
    • 主要特点:
      • 连接到服务器的SSE端点。
      • 用途 Spring AI的聊天客户端 与AI模型集成(为OpenAI/Gemini配置)。
      • 自动发现和利用由 mcp-server.

入门指南

先决条件

  • JDK 21+
  • Maven 3.9+
  • 用于OpenAI或Google Gemini的API密钥。

运行项目

  1. 启动服务器:

    cd mcp-server
    mvn spring-boot:run
    

    服务器将于启动 http://localhost:8080.

  2. 启动客户端:

    cd mcp-client
    mvn spring-boot:run
    

    客户端将连接到服务器并执行示例提示(例如,“旧金山的天气如何?”)。


使用Postman进行测试(MCP功能)

Postman现在原生支持模型上下文协议,允许您直接调试和测试MCP服务器。

测试步骤:

  1. 开始 mcp-server 如上所述。
  2. 打开邮递员 (建议使用v11.23+)。
  3. 创建新请求:单击 新 -> MCP请求.
  4. 配置连接:
    • 选择 上海证券交易所 作为运输类型。
    • 主要终点:将URL设置为 http://localhost:8080/mcp.
    • 替代端点:如果遇到连接问题,请尝试 http://localhost:8080/sse (根据特定的SSE配置,有时会使用此路径)。
  5. 连接:单击 连接 按钮。
  6. 探索工具:
    • 连接后,您可以看到列出的可用工具(例如。, getWeather).
    • 选择 getWeather,提供a city 论点(例如。, London),然后单击 执行.
  7. 查看日志:使用 时间线 Postman中的选项卡,用于检查Postman和服务器之间交换的JSON-RPC消息。