Skip to main content
This page will cover connecting external MCP servers. Servers are declared in an agent’s mcp_servers.yaml and loaded at startup; their tools are registered under the server name as a namespace and enter the same progressive discovery surface as native tools, so the model finds them with search_tools and activates them with load_tools. A server that fails to connect is non-fatal: the rest of the session continues. It will cover the four transports (stdio, sse, streamable_http, and websocket), OAuth acquisition and refresh including the device-code flow used when running headless, and the live MCP manager that holds one persistent session per server so repeat tool calls reuse an open connection instead of reconnecting. Finally it will cover the control panel: Ctrl+O or /mcp in the TUI opens a table of servers with state, transport, auth, and tool count, mapping connect, disconnect, and reconnect to the manager, with a tool peek and an OAuth prompt modal. In the REPL, /mcp [server] prints the same information as a table.
This page is in progress. Until it lands, the shipped mcp_servers.yaml files in each agent folder are the best worked examples.
See Tools for how MCP tools join the deferred discovery tier, Plugins for MCP servers surfaced by an installed plugin, and Configuration for how mcp_servers.yaml resolves.