Spring Boot MCP集成示例

一个展示Spring Boot客户端/服务器集成的示例项目,使用自定义的模块化通信协议(MCP)进行AI辅助交互。

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

使用说明


MCP示例–Spring Boot客户端/服务器集成

此存储库包含 模块化通信协议(MCP)示例 使用**Spring Boot**构建的集成,演示了一个使用独立AI的自定义系统 MCP服务器 和 MCP客户端.


📦 项目结构

该项目包含 两个独立的Spring Boot应用程序:

/mcp-client
    └── src/main/java/.../McpClientApplication.java

/mcp-server
    └── src/main/java/.../McpServerApplication.java

✔️ mcp服务器

一个公开MCP兼容端点的Spring Boot服务。 它充当提供数据、工具或模型响应的后端系统。

✔️ mcp客户端

连接到MCP服务器的Spring Boot客户端应用程序。 它演示了使用自定义MCP协议逻辑的AI辅助交互。


⚠️ 先决条件(非常重要)

要成功运行此应用程序,您需要 必须通过Docker桌面下载并运行Gemma 3模型.

步骤:

  1. 打开 Docker桌面
  2. 首选 扩展→ 模型 (或同等型号部分)
  3. 搜索 谷歌Gemma 3
  4. 下载模型
  5. 确保它是 在本地运行 因此MCP客户端可以访问它

如果不运行此模型,AI交互流将无法工作。


🚀 运行应用程序

1.启动MCP服务器

导航到 服务器 项目和运行:

./mvnw spring-boot:run

或者直接运行main类:

McpServerApplication

服务器将在其配置的端口上启动(通常 8080 除非更改)。


2.启动MCP客户端

导航到 客户端 项目和运行:

./mvnw spring-boot:run

或者直接运行main类:

McpClientApplication

客户端将初始化,连接到MCP服务器,并开始执行项目中定义的AI集成逻辑。


🧠 AI/MCP集成逻辑

该项目展示了:

  • 创造一个 自定义MCP协议桥 春季靴
  • 发送和接收结构化消息
  • 将AI工作流程与自定义工具系统集成
  • 使用客户端查询或操作服务器上的数据

您可以扩展客户端/服务器模块内的协议逻辑,以连接:

  • LLM
  • 工具API
  • 内部服务
  • 工作流引擎

🧪 测试暴露的API(手动开发者测试)

开发人员可以使用 发布 请求:

🔹 端点

POST http://localhost:8081/chat/ask

🔹 请求正文(原始文本)

以纯文本形式发送请求正文。 例子:

[Postgres] give me some info on goku ?

🔹 使用cURL

curl -X POST \
  -H "Content-Type: text/plain" \
  --data "[Postgres] give me some info on goku ?" \
  http://localhost:8081/chat/ask

⚙️ 配置

常见配置文件:

mcp-client/src/main/resources/application.yml
mcp-server/src/main/resources/application.properties

这些可以定义:

  • 服务器端口
  • 客户端目标服务器URL
  • 日志记录
  • 凭证/令牌
  • 模型配置

🧪 运行测试

运行所有测试:

./mvnw test

📚 需求

  • Java 17+
  • Maven 3.9+
  • 弹簧靴3.x
  • 从Docker桌面下载并运行Gemma 3模型(必填)