读者:Coding Agent。办事助手「怎么调某个工具」见
.xrk/skills/core/agent-tools。
文档与代码
docs/mcp-guide.md、docs/mcp-config-guide.md、core/system-Core/http/mcp.js、commonconfig/system/system-ai-workflow.js(ai-workflow.mcp)
要点
- 工作流内
registerMCPTool→ harnessToolRegistry(MCPToolAdapter)→ 执行仍进MCPServer。 - 执行前门禁统一在
MCPServer.handleToolCall→inspectToolCallSecurity(policies + toolScan + 可选审批);勿只在适配器拦一层。 - 办事助手 /
/v1+MCP 的 tool 环在@xrkseek/harness;仅无 workflows 的/v1client-tools 走工厂透传。 - 远程 MCP:
ai-workflow.mcp.remote或 workflow 模块export function getMcpServers()(Loader → 插件 MCP 表);连接前mcp.connect(checkMcpConnectAllowed)。HTTP 用fetchWithPolicy(#utils/fetch-with-retry.js),无RuntimeUtil.fetch。 - 产品 Agent 挂远程:优先 JS
getMcpServers,勿改系统 yaml(见.xrk/skills/core/agent-core-dev§3.5)。 tools增强:apply_edit/verify/repo_map/update_todos(实现workspace/apply-edit-blocks.js·repo-map-lite.js)。
Node 26
- MCP HTTP/远程连接走全局
fetch+AbortSignal.timeout;代理见proxy-utils.js。 - 工具 handler 判错用
Error.isError/normalizeError(skillxrk-node-runtime)。