Docs · 04

SDK e MCP.

Dois servidores MCP — um na nuvem, outro no seu computador — e dois SDKs. Escolha o mais próximo de onde o seu agente roda.

Qual eu preciso?

você quer que um agente…use
trabalhe com os seus arquivos da nuvem, conversas e conta, de qualquer lugaro servidor MCP hospedado
opere máquinas ligadas ao seu computador, sob concessões locaiso relé MCP local, commandagi mcp
seja controlado por código no seu próprio programao SDK para TypeScript ou o SDK para Python

Os três se autenticam como um principal. Nenhum deles pode criar ou ampliar uma concessão — isso é sempre um ato de uma pessoa.

Servidor MCP hospedado

https://api.commandagi.com/mcp — Streamable HTTP, sem estado, respostas em JSON. Autentique com uma chave de API (cagi_…), criada na bancada de trabalho, no menu da conta, em Chaves de API.

shell
claude mcp add --transport http commandagi https://api.commandagi.com/mcp \
  --header "Authorization: Bearer cagi_YOUR_KEY"

Ele expõe um catálogo grande de ferramentas — mais de trezentas — incluindo conversas (list_threads, create_thread, send_message, get_thread), arquivos (list_drive, read_drive_file, write_drive_file), a sua conta (whoami, get_credits, list_models), código (run_code), sites hospedados (create_site, deploy_site), negociação (trade_venues, trade_order, trade_account, trade_cancel) e hosts pareados (list_hosts, host_call). Use search_tools para encontrar a que você precisa.

Relé MCP local

Em um computador que roda o host, commandagi mcp é um servidor MCP stdio que repassa as chamadas para o endpoint do próprio host. Dê a ele a credencial de host do agente — no ambiente ou em um arquivo, nunca como argumento:

shell
claude mcp add commandagi -e COMMANDAGI_CREDENTIAL=cagp_… -- commandagi mcp
# or
claude mcp add commandagi -- commandagi mcp \
  --credential-file ~/.config/claude/commandagi.credential

Sem uma credencial, um cliente pode ler e mostrar coisas, mas não pode agir. O endpoint do host responde somente em loopback e recusa requisições que trazem a origem de uma página web. As mesmas ferramentas de controle também respondem a HTTP simples em POST /control/<tool>, com Authorization: Bearer <credential>.

Ferramentas locais

grupoferramentas
projeto e mundosget_project, project_status, list_worlds, get_world, save_world, list_devices, get_device
arquivosread_file, write_file (sob uma concessão de arquivos), graph_query, graph_search
código e simulaçãoevaluate_code (em sandbox, sem rede), sim_trials
a bancada abertalist_panes, open_file, show_world, thread_read, thread_say
controlelist_grants, list_units, open_channel, arm, run_program, send_command, read_channel, stop, close_channel
outros hostslist_hosts, host_call
prospecçãooutreach_apps, outreach_identify, outreach_start, outreach_send, outreach_reply, outreach_outcome, outreach_due, outreach_advance, outreach_status
mercadosmarket_venues, market_order, market_account, market_cancel

As ferramentas de controle seguem todas as regras em Agentes e concessões permanentes: cada uma precisa do verbo correspondente em uma concessão, stop precisa de qualquer concessão, e toda ação é registrada antes de ser enviada.

SDK para TypeScript

shell
npm i commandagi        # Node 22 or later
typescript
import { CommandAGI } from "commandagi";

const cagi = new CommandAGI(); // reads COMMANDAGI_API_KEY
const { threadId } = (await cagi.threads.create({
  intent: "Summarise this week's robotics news",
})) as { threadId: string };
await cagi.threads.send(threadId, "Add a link for each one.");

O comando commandagi é outro pacote, @commandagi/host (npm install -g @commandagi/host), que também é o host local: commandagi whoami, commandagi threads create --intent "…", commandagi call <tool> --json '{…}', e um terminal interativo quando executado sozinho. Código-fonte: github.com/CommandAGI/commandagi-sdk-typescript.

SDK para Python

shell
pip install commandagi      # Python 3.9 or later
uv pip install commandagi   # an environment uv manages (in a uv project: uv add commandagi)
python
from commandagi import CommandAGI

cagi = CommandAGI()  # reads COMMANDAGI_API_KEY
with cagi.launch("simulation/warehouse") as world:
    world.sim.ik(target=[0.3, 0.0, 0.4])
    jpeg = world.observe(fresh=True)

Código-fonte: github.com/CommandAGI/commandagi-sdk-python.

Ambiente

variávelsignificado
COMMANDAGI_API_KEYa sua chave de API, cagi_…
COMMANDAGI_BASE_URLa origem da API, padrão https://api.commandagi.com
COMMANDAGI_CREDENTIALa credencial de um principal para o relé local