用途:Code Mode 让 Claude Code 以编程方式调用 MCP 工具。它把脚本写入 /tmp/claude-code-mode/(会话结束由 hook 自动清理),在单条持久连接上连续调用多个工具,中间结果直接传给下一次调用,无需每次回到 LLM。
主要能力:支持多工具编排(3 个以上且结果相互依赖)、批量重复调用、跨 MCP 服务器组合结果,以及工具数量庞大(如 figma-console 的 63+)时避免加载全部 schema 浪费上下文。辅助模块 mcp-client.ts 直接读取 Claude Code 自身配置,无需重复配置,提供 getServerConfig、listServers、createTransport,支持 stdio、http、sse 三种传输。
使用方式:先 mkdir -p /tmp/claude-code-mode,将脚本写到 _run.ts,用 bun 执行,NODE_PATH 指向技能的 node_modules。可用 bun <path-to-skill>/scripts/mcp-client.ts list 查看可用服务器,用 get 查看解析后的配置,用 listTools() 发现工具。结果以 JSON 输出到 stdout,调试信息用 console.error 输出到 stderr。
限制与注意:必须用 try/finally 调用 client.close(),否则 stdio 子进程会变成孤儿;必须检查 isError,工具错误是返回而非抛出;默认超时 60 秒,慢工具可传 timeout 选项;需要交互式 OAuth 的工具应先通过 claude mcp 认证;步骤间需要人工审批的操作应使用普通工具调用循环;简单单工具调用不适用本模式。
适用场景:Figma 多工具工作流、跨服务器数据处理等。具体收费、平台支持与效果资料暂未提供。