一、今日主要工作
- 围绕智能体管理平台的 MCP 工具服务链路,完成 MCP Server 实现与 Agent 集成联调 相关开发工作。
- 在已完成 Plan-and-Execute Agent 引擎和 MCP Client Gateway 的基础上,补齐 MCP Server 侧能力,使系统具备从 Agent 到 Tool 的完整调用闭环。
- 实现进程内 MCP Skill Server,通过 HTTP JSON-RPC 暴露企业供应链相关工具,并支持 Gateway 进行工具发现与工具调用。
- 完成 Agent 工具绑定链路改造,使 Agent 可以通过
agent_tool_bind直接绑定 MCP Tool,减少对skill_definition中间层的依赖。 - 联调验证 Agent 在单 Skill、多 Skill、依赖链和闲聊场景下的执行效果,并完成模型隔离、MCP Server 绑定、工具权限策略和装配聚合等能力验证。
- 整理 MCP Server 实现方案与 Agent 集成文档,沉淀整体架构、关键表结构、接口清单、前端页面和后续规划。
二、核心完成内容
1. MCP Server 模块实现
今天重点完成了 mcpserver 模块的实现和联调。该模块定位为进程内 MCP Skill Server,通过 HTTP JSON-RPC 对外暴露工具能力,供 MCP Client Gateway 发现和调用。
本次实现中,MCP Server 主要包含以下核心组件:
McpJsonRpcController:提供POST /mcp/rpc端点,支持initialize、tools/list、tools/call;McpToolRegistry:作为内存工具注册中心,基于ConcurrentHashMap维护工具元数据和调用统计;ToolAutoRegistration:应用启动时自动注册工具到内存和数据库;HttpJsonRpcClientAdapter:Gateway 侧 HTTP 适配器,用于连接本地 MCP Server;CompositeMcpClientAdapter:作为组合适配器,统一本地 HTTP MCP Server 与远程 MCP 连接;McpServerAutoRegistrar:应用启动时从数据库读取 MCP Server 配置并自动连接;McpServerConfigServiceBridge:用于跨包访问 MCP Server 配置服务。
通过该模块,系统具备了本地 MCP Server 工具注册、工具发现、工具调用和调用统计能力,为 Agent 调用内部工具提供了服务端支撑。
2. 8 个企业工具注册与发现
今天完成了 MCP Server 侧 8 个工具的注册与同步,覆盖供应链查询、基础计算和依赖链验证等场景。
已注册工具包括:
query_purchase_order:采购订单查询;query_supplier_payment_status:供应商付款状态查询;search_mock_file:模拟文件检索;math_add:加法计算;math_multiply:乘法计算;math_divide:除法计算;get_order_amount:订单金额获取;calculate_tax:税费计算。
其中,供应链类工具用于模拟企业业务查询场景,数学类工具用于验证单工具、多工具和依赖链调用是否稳定,get_order_amount 与 calculate_tax 则用于验证前后步骤之间的参数传递和结果消费能力。
通过 tools/list,Gateway 可以获取工具名称、描述和 inputSchema;通过 tools/call,Gateway 可以向 MCP Server 发起 JSON-RPC 调用,并获得工具执行结果。
3. MCP Client Gateway 集成
今天完成了 MCP Server 与 MCP Client Gateway 的集成。Gateway 作为统一调用入口,负责完成工具存在性校验、权限策略校验、Schema 参数校验、实际工具调用和审计落库。
核心调用链路如下:
McpClientGatewayAdapter.callTool(serverCode, toolName, args, agentId) → 校验 agent_mcp_bind → McpToolInvokeService.invoke() → findEnabledTool() → McpToolPolicyService.checkAllowed() → JsonSchemaValidator.validate() → McpClientAdapter.callTool() → McpAuditLogService.save()本次联调中,Gateway 能够通过 HTTP 适配器连接本地 MCP Server,并完成工具同步和工具调用。工具同步结果会写入 mcp_tool_definition,工具调用记录会写入 mcp_tool_call_log,其中包含 agentId、callerId、traceId、调用入参、返回结果、耗时和成功状态等信息。
4. Agent 工具绑定链路改造
今天对 Agent 调用 MCP Tool 的链路进行了进一步优化。原有路径是:
Agent → agent_skill_bind → skill_definition → invokeConfig → MCP Tool该路径中,MCP 类型的 skill_definition 多数情况下只是一个转发表,主要保存 serverCode 和 toolName,实际业务含义较弱。
本次改造后,引入 agent_tool_bind 表,使 Agent 可以直接绑定 MCP Tool:
Agent → agent_tool_bind → MCP Tool同时,SkillStepExecutor 支持双路径执行:
- 路径 1:如果 SkillMatcher 命中
skill_definition,继续走原有 LOCAL_BEAN Skill 调用路径; - 路径 2:如果 SkillMatcher 未命中,则查询
agent_tool_bind,直接通过McpClientGatewayAdapter.callTool()调用 MCP Tool。
通过该改造,Agent 的 MCP 工具调用链路更加直接,减少了不必要的 Skill 壳层,也更符合“Agent 装配工厂”中按 Agent 绑定 Tool 的设计方向。
5. Agent 配置隔离与装配能力
今天继续完善了 Agent 配置隔离能力,使一个 Agent 可以由多类配置共同组装:
agent_profile:Agent 主配置;agent_skill_bind:Local Skill 绑定;agent_mcp_bind:MCP Server 绑定;agent_tool_bind:MCP Tool 直接绑定;mcp_tool_policy.agent_id:Agent 级工具权限策略;agent_knowledge_base_bind:知识库绑定预留。
这样可以做到不同 Agent 使用不同模型、不同 MCP Server、不同工具集合和不同工具权限,避免所有 Agent 共用全局工具与全局策略。
在 Plan 生成阶段,系统会将该 Agent 可用的 Tool 列表注入 Prompt,使 LLM 在生成 Plan 时能够选择合适工具。执行时,如果 Plan 中的 suggestedSkillCode 对应 Tool 名称,则可以进入 Tool 直连路径完成远程工具调用。
6. 单 Skill、多 Skill 与依赖链场景验证
今天重点验证了 Agent 与 MCP Server 集成后的多种执行场景。
验证场景包括:
- 单 Skill 调用:Agent 生成一个包含单个工具调用的 Plan,并正确调用对应 MCP Tool;
- 多 Skill 调用:Agent 在一个 Plan 中生成多个
SKILL_CALL步骤,并按顺序调用多个工具; - 依赖链调用:前一步工具返回结果被后一步工具使用,例如先获取订单金额,再计算税费;
- 闲聊回归:普通闲聊不触发工具调用,仍能走正常 LLM 回复路径。
通过这些验证,可以确认 Agent 不仅能够调用单个 MCP Tool,也能在多步骤计划中进行多个工具的顺序调用,并通过 ResultSynthesizer 汇总最终结果。
7. 工具权限策略验证
今天还完成了 Agent 级工具权限策略的验证。当前 mcp_tool_policy 已支持 agent_id 字段:
agent_id IS NULL表示全局策略;agent_id IS NOT NULL表示 Agent 私有策略。
策略优先级为:
Agent 私有精确匹配 > Agent 私有通配 > 全局精确匹配 > 全局通配 > 默认规则同优先级内遵循:
DENY > APPROVAL > ALLOW本次验证覆盖了 Agent 私有策略和全局策略两类场景,确认 Agent 私有 DENY 不会影响其他 Agent,全局 DENY 则会影响所有 Agent。该能力为后续不同 Agent 配置差异化工具权限提供了基础。
8. 管理端与前端页面联动
今天同步梳理并验证了管理端相关页面与后端能力的联动。
当前前端主要涉及以下页面:
/digital-employees:Agent 管理页面,支持 Agent CRUD 和装配详情展示;/tools:工具广场页面,支持选择 Agent、查看 MCP Server、勾选 Tool 并自动绑定;/chat:模型对话页面,支持选择 Agent 后进行 SSE 流式对话和 Plan 执行展示;/models:模型管理页面,用于模型卡配置;/mcp:MCP 服务配置页面,用于配置 MCP Server。
其中,工具广场是本次 Agent-Tool 绑定链路的重要前端入口。用户可以在页面中选择 Agent,并为其勾选需要开放的 MCP Tool,后端通过 agent_tool_bind 记录绑定关系,使工具配置实时影响 Agent 执行范围。
9. 测试验证与结果
今天完成了多类测试和验证,覆盖工具注册、执行路径、模型隔离、MCP Server 绑定、工具权限策略和装配聚合等模块。
测试结果包括:
- 工具注册与发现:通过;
- 单 Skill / 多 Skill / 依赖链 / 闲聊:通过;
- 多 Agent 多模型卡隔离:通过;
- MCP Server 绑定 / 解绑:通过;
- Agent 私有策略与全局策略:通过;
- 装配聚合接口与知识库桩:通过。
累计完成 22 项测试,全部通过。这说明当前 MCP Server 与 Agent 集成链路已经具备较完整的可运行基础。
10. 技术文档沉淀
今天整理了《MCP Server 实现方案与 Agent 集成文档》。文档系统记录了:
- 管理端、Agent 引擎、MCP Client Gateway、MCP Skill Server 的总体架构;
- MCP Server 核心组件和启动流程;
- Gateway 调用链路和审计表;
- Agent Tool 绑定链路和双路径执行机制;
- Agent 配置全景;
- Plan 生成中的 Tool 注入方式;
- 模型隔离机制;
- 管理端 API 清单;
- 前端页面说明;
- 关键数据库表;
- 测试验证结果;
- 后续规划。
该文档为后续继续推进 Agent 工厂、工具治理、MCP Server 微服务化和 Human-in-the-loop 提供了清晰参考。
三、今日工作产出
- 完成进程内 MCP Skill Server 的实现,支持通过 HTTP JSON-RPC 提供
initialize、tools/list、tools/call能力。 - 完成 8 个 MCP Tool 注册,包括供应链查询工具、数学验证工具和依赖链测试工具。
- 完成 MCP Server 与 MCP Client Gateway 的集成,支持工具同步、工具调用、Schema 校验、权限策略和审计落库。
- 完成 Agent 直连 MCP Tool 的调用链路改造,引入
agent_tool_bind作为核心绑定表。 - 完成
SkillStepExecutor双路径执行机制,使 Local Skill 与 MCP Tool 直连路径可以共存。 - 完成 Agent 可用 Tool 列表注入 Plan Prompt,使 PlanGenerator 能基于当前 Agent 绑定的工具生成执行计划。
- 完成单 Skill、多 Skill、依赖链和闲聊场景验证。
- 完成 Agent 级 MCP Server 绑定和工具权限策略验证。
- 完成管理端工具广场、Agent 管理、模型对话等前端页面与后端装配能力的联动梳理。
- 沉淀《MCP Server 实现方案与 Agent 集成文档》,记录整体架构、核心组件、数据库表、接口清单和验证结果。
四、遇到的问题与解决情况
1. MCP Server 与 Gateway 需要统一协议适配
- 问题:MCP Server 在项目中采用进程内 HTTP JSON-RPC 实现,而 Gateway 原先主要面向 MCP Client Adapter 统一调用,需要适配本地 HTTP JSON-RPC 调用方式。
- 处理:实现
HttpJsonRpcClientAdapter,并通过CompositeMcpClientAdapter组合本地 HTTP 适配器与其他远程 MCP 连接。 - 结果:Gateway 能够正常调用进程内 MCP Server,实现工具发现与工具调用。
2. MCP Tool 不应全部通过 skill_definition 转发
- 问题:原有 MCP Tool 调用需要通过
skill_definition壳层间接转发,导致链路冗余,Tool 管理也不够直观。 - 处理:新增
agent_tool_bind,让 Agent 可以直接绑定 MCP Tool,并在执行时走 Tool 直连路径。 - 结果:MCP Tool 调用链路更简洁,前端工具广场也可以直接围绕 Tool 做配置。
3. 多 Skill 与依赖链需要验证执行稳定性
- 问题:单个工具调用不能证明 Agent 具备复杂任务执行能力,需要验证多个工具按 Plan 顺序执行以及前后步骤结果传递。
- 处理:设计单 Skill、多 Skill、依赖链和闲聊回归场景进行测试。
- 结果:相关场景均通过,说明当前 Plan-and-Execute 链路具备基础多工具编排能力。
4. 不同 Agent 的工具权限需要隔离
- 问题:如果工具策略只按全局维度控制,会导致一个 Agent 的限制影响其他 Agent。
- 处理:通过
mcp_tool_policy.agent_id支持 Agent 私有策略,并在 Gateway 调用前进行优先级策略匹配。 - 结果:验证了 Agent 私有策略与全局策略可以共存,且优先级符合预期。
5. 前端工具配置需要与后端绑定关系一致
- 问题:工具广场页面需要实时反映当前 Agent 的 Tool 绑定状态,否则容易出现前端显示与后端执行范围不一致。
- 处理:通过 Agent 下拉、MCP Server 切换和 Tool 勾选机制,将前端操作直接映射到
agent_tool_bind。 - 结果:工具配置链路更清晰,Agent 的可用工具范围可以通过页面直观管理。
五、明日计划
- 继续完善工具广场页面,优化 Agent 切换、Server 切换和 Tool 勾选状态的刷新体验。
- 补充更多 MCP Tool 的异常测试,包括参数缺失、Schema 校验失败、工具不存在和策略拒绝场景。
- 优化 PlanGenerator 中可用 Tool 列表的描述质量,提高多工具计划生成准确率。
- 完善 Agent、Gateway、MCP Server 三侧 traceId / requestId 串联,提升问题排查效率。
- 继续推进工具权限管理前端能力,使 Agent 私有 DENY / ALLOW 策略可视化配置。
- 评估 MCP Server 后续独立微服务部署方案,减少进程内耦合。
- 结合知识库绑定预留能力,后续继续推进 RAG 真实接入和 Plan 上下文增强。
六、总结
今天主要围绕 MCP Server 实现与 Agent 集成展开开发和联调工作,完成了进程内 MCP Skill Server、8 个工具注册、Gateway 调用适配、Agent 直连 Tool、工具权限策略、前端工具配置和多场景测试验证。通过今天的工作,平台进一步打通了从管理端配置 Agent,到 Agent 生成计划,再到 Gateway 调用 MCP Server 工具并汇总结果的完整链路,为后续建设更完善的 Agent 装配工厂、工具治理平台和企业级 MCP Server 能力奠定了基础。