工具与自动化
工具与 MCP 服务器
智能体能做的每一件事都是一个工具——而这与你作为开发者所拥有的工具接口完全相同。你的 API 密钥的权限范围是两者之间唯一的区别。有三种方式可以触达它:REST API、一个托管的 MCP 服务器,或智能体内置的代码模式。
连接一个 MCP 客户端
CommandAGI 在 https://api.commandagi.com/mcp 托管了一个 Model Context Protocol 服务器。用一个 cagi_ API 密钥把 Claude Code、Claude Desktop,或任何 MCP 客户端指向它,它就能启动并指挥智能体会话、捕获并分叉快照、管理触发器,以及读写你的 Drive——每个工具都会重新分发到相同的 REST 路由,因此权限、计费和审计与你自己直接调用 API 完全一致。
shell
# Claude Code / Claude Desktop — add CommandAGI as an MCP server.
claude mcp add --transport http commandagi https://api.commandagi.com/mcp \
--header "Authorization: Bearer cagi_YOUR_KEY"mcp.json
{
"mcpServers": {
"commandagi": {
"type": "http",
"url": "https://api.commandagi.com/mcp",
"headers": { "Authorization": "Bearer cagi_YOUR_KEY" }
}
}
}找到合适的工具
工具目录很庞大,因此智能体(以及你)不会一次性加载全部——search_tools 会在整个集合上做关键词搜索,只返回匹配的工具,从而保持上下文精简。搜索“快照”,你得到的就只是快照相关的工具,没有其他。
代码模式——一次串联多次调用
对于超出单次调用范围的任何操作,run_code 让智能体可以针对一个类型化的 cagi SDK 编写 TypeScript,并在一个临时沙箱中执行它——在一个回合内完成循环、分支和串联数十次工具调用,而不是每一步都要一次往返。
run_code
// run_code — write TS against a typed `cagi` SDK; it runs server-side
// and can chain many calls in one turn.
const threads = await cagi.threads.list({ status: "running" });
for (const t of threads) {
const obs = await cagi.call("observe", { threadId: t.id });
// …decide, then act
}同一接口,三种接入方式
- REST——直接调用任意端点(参见API 参考)。
- MCP——如上所述,将这些工具暴露给一个 MCP 客户端。
- 智能体内置——智能体在工作过程中挑选的正是这同一套工具,按相关性呈现。