Skip to Content
View as .md

MCP Host

Squadron can run as an MCP server, exposing its own missions, runs, agents, and documentation as tools for any Model Context Protocol  client — Claude Desktop, Claude Code, Cursor, and any other MCP-compatible AI assistant.

This lets you drive Squadron from inside your editor or AI tool: kick off missions, browse run history, inspect agent configs, and read the docs without leaving the client.

mcp_host { enabled = true port = 8090 secret = vars.mcp_host_secret # optional — enables Bearer token auth }
AttributeTypeDefaultDescription
enabledboolfalseMust be true to start the host server
portnumber8090Port the MCP host listens on (1024–65535)
secretstringWhen set, all requests must include this as a Bearer token or ?token= query param

The host server only starts when Squadron runs in serve mode. squadron mission and squadron chat do not start it.

Looking for the other direction — pulling tools from external MCP servers into your agents? See MCP Tools.

Authentication

When secret is set, clients must authenticate via one of:

  • Authorization header: Authorization: Bearer <secret>
  • Query parameter: ?token=<secret>

Requests without a valid token receive a 401 Unauthorized response. If secret is omitted, the server is open (suitable for local-only use).

Available tools

The host exposes Squadron itself as a collection of tools:

Documentation

ToolDescription
list_versionGet the squadron version
list_doc_pagesList all available documentation pages
get_doc_pageGet the contents of a documentation page by path

Missions & runs

ToolDescription
list_missionsList all missions defined in config
get_mission_configGet the full configuration of a mission
run_missionStart a mission with optional inputs (returns mission ID)
list_runsList recent mission runs with optional filtering by name
get_run_detailsGet high-level details of a run including task summaries
get_run_configGet the config snapshot used for a specific run
get_run_task_detailsGet detailed task info including subtasks and outputs

Agents & plugins

ToolDescription
list_agentsList all agents defined in config
get_agent_configGet the full configuration of an agent
list_pluginsList all plugins defined in config
list_plugin_toolsList all tools provided by a plugin
get_plugin_toolGet detailed info about a plugin tool including its schema

Config operations

ToolDescription
verify_configValidate config files on disk without applying changes
reload_configRe-read and apply config changes from disk
list_varsList all configuration variables (secrets masked)
get_varGet a single configuration variable (secrets masked)

The host speaks the Streamable HTTP transport  — the current MCP spec. Both GET (for server→client streaming) and POST (for client→server requests) are served at the same endpoint: /mcp.

Client setup

Claude Code

Claude Code supports Streamable HTTP natively:

claude mcp add squadron --transport http http://localhost:8090/mcp

Claude Desktop

Claude Desktop only runs stdio MCP servers directly. Use the mcp-remote bridge to forward stdio over the wire. Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{ "mcpServers": { "squadron": { "command": "npx", "args": [ "-y", "mcp-remote", "http://localhost:8090/mcp" ] } } }

With authentication, pass the token via the --header flag:

{ "mcpServers": { "squadron": { "command": "npx", "args": [ "-y", "mcp-remote", "http://localhost:8090/mcp", "--header", "Authorization: Bearer YOUR_SECRET" ] } } }

Fully quit Claude Desktop (Cmd+Q) and reopen after editing the config — it only loads MCP settings on startup.

Cursor, Continue, and other clients

Any MCP client that supports Streamable HTTP can connect directly to http://localhost:8090/mcp. Check your client’s docs for the exact config format — the URL and (optionally) the Bearer token are all you need.

Running

# variables.hcl variable "mcp_host_secret" { secret = true } # mcp_host.hcl mcp_host { enabled = true port = 8090 secret = vars.mcp_host_secret }
squadron engage -c ./config # MCP host is now available at http://localhost:8090/mcp
Last updated on