docs/integrations/mcp.mdx
Strix can connect to Model Context Protocol (MCP) servers you list and expose their tools to the agent during a run. Use this to let the agent read how your system is actually built instead of inferring it from the outside.
A few things it pays off for:
Create the file ~/.strix/mcp-servers.json. It holds a JSON list of the servers you want the agent to reach. Each entry is either a local stdio server that Strix launches as a subprocess, or a remote http server.
Create the directory if it does not exist, then write the file:
mkdir -p ~/.strix
Paste the servers you want into ~/.strix/mcp-servers.json. The example below shows one of each transport: a local filesystem server over stdio and a remote GitHub server over http with a bearer token:
[
{
"name": "local_fs",
"transport": "stdio",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/project"]
},
{
"name": "github",
"transport": "http",
"url": "https://api.githubcopilot.com/mcp/",
"auth": { "kind": "bearer", "token": "your-token" },
"allowed_tools": ["list_issues"]
}
]
Strix reads this file at the start of each run. There is no default file, so no MCP tools are loaded until you create it. Edit command, args, url, and token to match your own servers.
By default every connection in the file is used on each run. To narrow it for a single run without editing the file, use either flag (both repeatable):
strix --mcp-server github -t ... # use only the named connection(s)
strix --mcp-exclude staging-db -t ... # use everything except the named one(s)
--mcp-server keeps only the connections you name; --mcp-exclude drops the
ones you name. Connection names must be unique in the file; if two entries share
a name, the first is kept and the rest are ignored.
To read the config from another path instead of ~/.strix/mcp-servers.json, either pass --mcp-config <path> on the command line:
strix --mcp-config ./mcp-servers.json -t ...
or set the STRIX_MCP_CONFIG environment variable to that path. The flag takes precedence when both are given.
When servers are configured, Strix prints a one-line summary at scan startup, for example MCP: connected 1 server (14 tools): local_fs, so you can confirm your servers connected.
Each call the agent makes to one of your servers is shown with its own icon and
labelled with the connection it went out to, in the terminal and in the run
viewer (strix view), so a call that left Strix for a server you connected is
easy to pick out of a transcript. The terminal shows the call and its arguments;
results can be large and arbitrary, so read them in the viewer, which shows a
preview you can expand.