MCP 工具模块
1. 模块介绍
MCP(Model Context Protocol)工具模块通过集成 Spring AI MCP Client,将 MCP 协议的工具自动转换为 CodeactTool,使 Agent 能够调用外部 MCP 服务提供的工 具。
核心概念
| 概念 | 说明 |
|---|---|
McpDynamicToolFactory | MCP 动态工具工厂,将 ToolCallback 适配为 CodeactTool |
McpToolCallbackAdapter | 适配器,封装 MCP ToolCallback 为 CodeactTool |
McpServerSpec | MCP 服务元数据,用于自定义类名和描述 |
ToolCallbackProvider | Spring AI MCP 提供的工具回调提供者 |
工作流程
MCP 服务配置(mcp-servers.json)
│
▼
┌─────────────────────────────────────────┐
│ Spring AI MCP Client Starter │
│ ( 自动创建 ToolCallbackProvider) │
└────────────────┬────────────────────────┘
▼
┌─────────────────────────────────────────┐
│ McpDynamicToolFactory │
│ (ToolCallback → CodeactTool) │
└────────────────┬────────────────────────┘
▼
CodeactToolRegistry
│
▼
Agent 可调用工具
2. 快速接入方式
步骤 1:配置 MCP 服务
创建 src/main/resources/mcp-servers.json:
{
"mcpServers": {
"my-mcp-server": {
"command": "npx",
"args": [
"mcp-remote",
"https://mcp.example.com/api/mcp",
"--header",
"Authorization: Bearer YOUR_TOKEN"
]
}
}
}