Integrations
A uniform gateway over MCP servers, REST APIs, and native CLIs — without pasting secrets.
The integrations gateway gives the agent a single, uniform surface over third-party services, no matter how each one is actually reached: MCP servers, REST APIs, or native command-line tools all look the same from the agent's side.
Built-in integrations
Controller ships with integrations for:
| Integration | Kind |
|---|---|
| Cloudflare (MCP) | MCP server — for managing Cloudflare resources (Workers, KV, DNS, etc.) |
| Help Scout Docs | REST API |
| Notion | Native CLI (ntn) |
| Trello | REST API |
| Interactive Brokers | Local gateway |
| GitHub Issues | Native CLI (gh) |
| Tavily | Web search / extraction |
Cloudflare as a model provider is separate. To use Cloudflare-hosted models (Workers AI, or anything routed through the AI Gateway) from inside Controller, add the Cloudflare provider in Settings → Agents → Anita → API Keys with your account id, API token, and (optionally) AI Gateway id. That surface picks up the new provider automatically and lists the available models in Anita's default-model picker. The Cloudflare MCP integration above is a different concern — it is a tool the agent can call, not a model backend.
Credentials stay out of the prompt
Controller injects credentials into each integration call. You never paste secrets into the app or into the agent's prompt, and the agent never sees the raw tokens — it just calls the tool and Controller supplies the auth.
How you use them
You don't call integrations yourself — the agent does, on your behalf,
through the controller-integrations skill. When a task needs an external
service, the agent searches the gateway for a matching capability and invokes
it, with Controller supplying the credentials.
Just ask in plain language for something that involves a connected service — "open a Trello card for this bug" or "search Notion for the launch doc" — and the agent routes through the gateway automatically.