Docs · 04

SDK et MCP.

Deux serveurs MCP — un dans le cloud, un sur votre ordinateur — et deux SDK. Choisissez celui le plus proche de l'endroit où tourne votre agent.

Lequel vous faut-il ?

vous voulez qu'un agent…utilisez
travaille avec vos fichiers cloud, vos conversations et votre compte, de n'importe oùle serveur MCP hébergé
pilote des machines branchées sur votre ordinateur, sous autorisations localesle relais MCP local, commandagi mcp
pilote CommandAGI depuis votre propre programmele SDK TypeScript ou Python

Les trois s'authentifient en tant que principal. Aucun ne peut créer ou élargir une autorisation — c'est toujours un acte de la personne.

Serveur MCP hébergé

https://api.commandagi.com/mcp — Streamable HTTP, sans état, réponses JSON. Authentifiez-vous avec une clé d'API (cagi_…), créée dans l'atelier depuis le menu du compte, Clés d'API.

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

Il expose un large catalogue d'outils — plus de trois cents — dont les conversations (list_threads, create_thread, send_message, get_thread), les fichiers (list_drive, read_drive_file, write_drive_file), votre compte (whoami, get_credits, list_models), le code (run_code), les sites hébergés (create_site, deploy_site), le trading (trade_venues, trade_order, trade_account, trade_cancel) et les hôtes appairés (list_hosts, host_call). Utilisez search_tools pour trouver celui qu'il vous faut.

Relais MCP local

Sur un ordinateur qui fait tourner l'hôte, commandagi mcp est un serveur MCP stdio qui relaie vers le point d'accès propre à l'hôte. Donnez-lui l'identifiant de l'agent — dans l'environnement ou dans un fichier, jamais en argument :

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

Sans identifiant, un client peut lire et afficher des choses, mais il ne peut pas agir. Le point d'accès de l'hôte ne répond qu'en boucle locale (loopback) et refuse les requêtes qui portent l'origine d'une page web. Les mêmes outils de contrôle répondent aussi en HTTP simple, sur POST /control/<tool>, avec Authorization: Bearer <credential>.

Outils locaux

groupeoutils
projet et mondesget_project, project_status, list_worlds, get_world, save_world, list_devices, get_device
fichiersread_file, write_file (sous une autorisation de fichiers), graph_query, graph_search
code et simulationevaluate_code (en bac à sable, sans réseau), sim_trials
l'atelier ouvertlist_panes, open_file, show_world, thread_read, thread_say
contrôlelist_grants, list_units, open_channel, arm, run_program, send_command, read_channel, stop, close_channel
autres hôteslist_hosts, host_call
prospectionoutreach_apps, outreach_identify, outreach_start, outreach_send, outreach_reply, outreach_outcome, outreach_due, outreach_advance, outreach_status
marchésmarket_venues, market_order, market_account, market_cancel

Les outils de contrôle suivent chaque règle de Agents et autorisations permanentes : chacun exige le verbe correspondant dans une autorisation, stop exige une autorisation quelconque, et chaque action est enregistrée avant d'être envoyée.

SDK 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.");

La commande commandagi est un autre paquet, @commandagi/host (npm install -g @commandagi/host), qui est aussi l'hôte local : commandagi whoami, commandagi threads create --intent "…", commandagi call <tool> --json '{…}', et un terminal interactif lorsqu'il tourne seul. Source : github.com/CommandAGI/commandagi-sdk-typescript.

SDK 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)

Source : github.com/CommandAGI/commandagi-sdk-python.

Environnement

variablesignification
COMMANDAGI_API_KEYvotre clé d'API, cagi_…
COMMANDAGI_BASE_URLl'origine de l'API, par défaut https://api.commandagi.com
COMMANDAGI_CREDENTIALl'identifiant d'un principal pour le relais local