From the UI

1
SettingsMCP tab → Add MCP server.
2
Name (e.g. "Linear"), description, type (HTTP or stdio).
3
If HTTP: URL + (optional) bearer token header. If stdio: command + args + env vars.
4
Click Test connection. Ambrose introspects the server and lists its tools.
5
Save. The MCP is now available to attach to any agent or team.
6
Open the agent / team detail → Attached MCPs → toggle on.

From the floating chat widget

Add the Linear MCP server using URL https://mcp.linear.app/sse with my Linear bearer token, then allow it for the Engineering team.

→ admin_mcp_add stage → confirm → live.

Where an attached MCP works

Once you attach an MCP to an agent or team, its tools are callable everywhere that agent/team runs — chat, the War Room, scheduled routines, and the published team/agent MCP endpoint (where they re-appear as mcpext__<slug>__<tool>). Every MCP is isolated to your agency: its credentials are stored against your agency only, and the AI can never reach another agency's connectors. Per-agent allowlists mean an agent only sees the MCPs you attached to it, even if your agency has others installed.

To invoke a tool the model just calls it by name (e.g. mcp__ghl-mcp__contacts_get-contacts) — it never routes through the Skill tool. If a tool needs approval, it surfaces an Allow / Deny card in the chat.

Catalog of popular external MCPs

  • Slack (official) — channels, messages, users.
  • Linear (official) — issues, projects, comments.
  • GitHub (official) — issues, PRs, code search.
  • Notion (official) — pages, databases.
  • Zoom (official) — recordings, meetings.
  • Google Drive (official) — file search + read.
  • PostHog — events + funnels.