Skip to content

MCP 服务端(forge-plugin-mcp)

forge-plugin-mcp 将 Forge 的开放能力(Capability)投影为 MCP 工具,通过 Spring AI MCP Server 的 Streamable HTTP 传输暴露给外部 AI Agent / 客户端,并在调用链路上注入调用方身份与鉴权。

能力定位

能力说明
能力 → 工具投影把能力平台的业务动作 / 流程动作映射为 MCP 工具(McpCapabilityAdapter
Schema 投影按工具调用方裁剪能力参数 Schema(McpToolSchemaProjector
结果映射把能力调用结果映射为 MCP 统一结构(McpCapabilityResultMapper
身份解析从传输上下文解析调用方身份(McpCallerContextResolver
鉴权与守卫端点鉴权过滤器 + 协议守卫(ForgeMcpAuthenticationFilterForgeMcpProtocolGuard

关键类

职责
ForgeMcpServerAutoConfigurationMCP 服务端自动装配
ForgeMcpProtocolGuard协议守卫
ForgeMcpAuthenticationFilterMCP 端点鉴权过滤器
McpCallerContextResolver调用方身份解析
McpRequestLifecycle请求生命周期扩展点(默认 noop)
ForgeMcpTransportContextExtractor传输上下文提取
McpToolSchemaProjector工具 Schema 投影
McpCapabilityResultMapper能力结果映射
McpCapabilityAdapter能力 → 工具适配
McpToolContributor / McpToolContributorAggregator工具贡献 SPI

配置

MCP 服务端复用 Spring AI 的配置前缀 spring.ai.mcp.server,由 forge-plugin-mcp 在能力自动装配之后增强:

配置说明
spring.ai.mcp.server.enabled设为 true 启用 MCP 服务端
spring.ai.mcp.server.streamable-http.mcp-endpointStreamable HTTP 端点路径

启用后,ForgeMcpServerAutoConfiguration 会装配鉴权过滤器与 Streamable HTTP 传输,端点受 ForgeMcpAuthenticationFilter 保护。

安全模型

  • MCP 调用链路要求携带调用方身份,由 McpCallerContextResolver 解析并注入上下文,能力执行时按调用主体做授权。
  • ForgeMcpProtocolGuard 对协议请求做守卫校验。
  • McpRequestLifecycle 提供请求生命周期扩展点,可自定义审计或阻断逻辑。
  • 只有已发布且对调用方可见的能力才会投影为可调用工具。

相关文档

Forge Admin — 基于 Vue3 + Spring Boot 的企业级后台管理框架