agno connect finds your running AgentOS, mints one service-account token per coding agent when the AgentOS has authorization enabled, writes each client’s MCP configuration, and verifies every entry with a real MCP handshake. Your coding agents can then run your agents, teams, and workflows through the AgentOS MCP server.
The AgentOS must have its MCP server enabled:
The Execution Flow
- Discover. Resolve the AgentOS from
--url,AGENTOS_URL(the environment variable, or a project.env.production/.envfile), or a localhost probe, then read its version, MCP path, and auth mode fromGET /info. - Authenticate. When authorization is enabled, resolve an admin credential from
AGNO_ADMIN_TOKENorOS_SECURITY_KEY, or prompt for it. - Mint. When authorization is enabled, create one service account per client (named
claude-code,cursor, and so on) with the server’s default run and read scopes and a 90-day expiry. An unsecured AgentOS connects without credentials. - Write. Add an MCP server entry, named after your AgentOS (
agentoswhen it has no name), to each client’s own config file. - Verify. Read the entry back the way the client would resolve it, then complete an MCP
initializeandtools/listcall against the AgentOS with the configured token. - Report. Print per-client results:
connected,sign in,already ok,skipped,action needed, orfailed.
sign in in the report). Pass --pat to mint tokens anyway, for headless clients.
Re-runs are safe. Entries that still verify are left alone, and --skip-existing never touches anything that exists. Broken or stale entries are rotated after a confirmation prompt in interactive runs; non-interactive runs (--json or no TTY) report them as failed instead, so pass --rotate in automation.
Supported Clients
By defaultagno connect configures every client it detects on the machine. Scope the run with --clients:
Claude Desktop speaks MCP over stdio only, so its entry launches the
mcp-remote proxy with npx. Node.js must be installed for that entry to start.claude.ai and ChatGPT
The hosted chat apps add MCP servers from their own cloud, soagno connect cannot write or verify anything for them. It prints the setup steps instead:
- The AgentOS must be on a public HTTPS URL. A local AgentOS is unreachable from the apps’ clouds; deploy it or expose it through a tunnel first.
- Both apps’ Connectors UIs authenticate with OAuth, not bearer tokens, so the AgentOS must be public or OAuth-enabled. A token-protected AgentOS cannot be added from the UI yet.
- In the app, go to Settings -> Connectors -> Add custom connector and paste the printed MCP URL. Custom connectors need a paid plan.
connect prints these steps automatically, without --clients.
Options
Security
Each client gets its own service account, so if one token leaks or a client is retired, you can revoke just that one without touching the others:Disconnect
agno disconnect removes the AgentOS entry from each client’s config. It edits configs only, so it works with the AgentOS stopped and needs no admin credential. Without --server-name it removes every entry pointing at the target AgentOS; entries pointing at any other server are never touched. Pass --revoke to also revoke the service accounts connect minted (this path needs the running AgentOS and an admin credential).
Scripting
--json prints one JSON document with the discovered OS, per-client results, and the exit code. Exit codes: 0 all connected, 1 nothing connected, 2 usage error, 3 partial success. In --json mode the CLI never prompts, so set AGNO_ADMIN_TOKEN before you run it.