MCP Server 服务端
这篇解决什么
本仓库有没有对外的 MCP 协议端点。读完能对上 spring.ai.mcp.server.enabled 默认是关的,不要当成已经上线的独立产品页。
默认端口 48080。连别人家的 Server 见 MCP Client 客户端。本地 @Tool 见 AI 工具。
示意图:没有自研 Mp/McpServerController。端点由 Spring AI 自动配置。
从哪改
yudao-module-ai-server/pom.xml 引入的是 WebMVC 版 starter,注释写明不要换 WebFlux 版。
| 名称 | 说明 | 仓库路径 |
|---|---|---|
| 开关 | spring.ai.mcp.server.enabled 默认 false | yudao-module-ai-server yaml |
| 名称 | name: yudao-mcp-server | 同上 |
| SSE | sse-endpoint: /sse | 同上 |
| 放行 | MCP SSE 端点 permitAll | AI 模块 SecurityConfiguration |
| 网关 | cloud 下 /sse、/mcp/message | yudao-gateway 路由 ai-mcp-server |
没有 MCP Server 管理菜单。工具管理 2920 只登记本地 ai_tool.name。
AiAutoConfiguration#toolCallbacks(PersonService) 把 PersonService 的 @Tool 编成本地 ToolCallback,给对话 Function Calling 用,不等于已经对外提供 MCP 协议。
字段
YAML 还可配 version、instructions。开启后才谈网关转发和公网地址。
默认不要对公网打开
enabled: false 是有意的。打开 /sse 后安全配置会放行该端点,先评估鉴权和暴露面,再改生产。
业务工具仍要自己注册
Starter 只给协议壳。把工具挂到 MCP Server,或继续用 Client 连外部 Server。不要把 ps_get_person_by_id 一行当成「MCP 已交付」。
示意图:两条路径。日常聊天不依赖本篇。
配置与操作
没有管理菜单。spring.ai.mcp.server.enabled 默认 false。打开后 Starter 暴露 /sse,Security 对该端点 permitAll。cloud 网关另有 ai-mcp-server 转发 /sse、/mcp/message。
PersonService 的 @Tool 只给本机对话 Function Calling,不等于已对外提供 MCP。生产打开前先评估鉴权。日常聊天不依赖本篇。开启见 AI 功能设计。
