代码拉取完成,页面将自动刷新
在本项目中,我们基于 Spring Boot 构建并通过 Docker 部署了 MCP 服务端与 MCP 客户端,通过 HTTP 协议 实现与现有系统的远程控制与集成。整个系统作为独立模块运行,服务端直接连接数据库,核心业务逻辑抽象于 tool 层中,具备良好的扩展性与解耦性。
为提升系统的实时交互能力,项目支持通过 Cherry Studio 使用 SSE(Server-Sent Events) 与 MCP 服务端保持长连接,实现消息的实时推送与指令响应。
此外,还新增了对 WebSocket 通信 的支持。相比于 HTTP 和 SSE,WebSocket 是一种 全双工、低延迟、连接持久 的通信协议,特别适用于高频次、强交互的控制场景。通过 WebSocket,客户端不仅可以实时获取状态更新,还可主动发送控制指令并立即获取响应,进一步增强了系统的交互性和用户体验。
MCP 是一种开放协议,用于标准化应用程序如何向 LLM 提供上下文。可以将 MCP 视为 AI 应用程序的 USB-C 端口。就像 USB-C 提供了一种将设备连接到各种外围设备和配件的标准化方式一样,MCP 提供了一种将 AI 模型连接到不同数据源和工具的标准化方式。
注: Java 环境必须 >= JDK17,否则项目编译不过。
cd docker/app/mcp-client 或 mcp-client-ws
vim application-prod.yml
spring:
ai:
openai:
api-key: sk-xxxxx
base-url: https://api.deepseek.com
chat:
options:
model: deepseek-chat
spring:
ai:
openai:
api-key: sk-xxxxx
base-url: https://api.lkeap.cloud.tencent.com/v1
chat:
options:
model: deepseek-v3 # 或deepseek-v3-0324、deepseek-r1
mcp:
client:
type: sync
name: spring-mcp-client-ws
sse:
connections:
server1:
url: http://localhost:9800
cd docker
docker-compose up -d mcp-server
docker logs -f mcp-server
http://127.0.0.1:9800/sse
ws://127.0.0.1:9802/mcp/ws
cd node-ws-client
npm install
node client.js
location /mcp/ {
proxy_pass http://192.168.0.160:9802/mcp/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
http://127.0.0.1:9801/mcp/mcpClient/listTools
http://127.0.0.1:9801/mcp/mcpClient/chat?prompt=查询章若楠用户信息
cd vue2-chat-window
npm install
npm run serve
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。