Reasonix already speaks the Model Context Protocol. Adding an MCP server means one more [[plugins]] entry under ~/.reasonix/config.toml (or reasonix.toml per-project). Three transports are supported, and MCP prompts automatically become slash commands.

Reasonix files and directories at a glance

How a Reasonix turn flows from input to provider to tools

Reasonix version timeline: 0.x TS legacy, 1.0 Go rewrite, current 1.17.x

The configuration

Two files: TOML for non-secret configuration, .env for key values. Resolution order is flag > ./reasonix.toml > ~/.reasonix/config.toml > built-in defaults.

Toml
# ~/.reasonix/config.toml

# stdio (subprocess) — most common
[[plugins]]
name    = "github"
command = "npx"
args    = ["-y", "@modelcontextprotocol/server-github"]
env     = { GITHUB_TOKEN = "ghp_***" }
call_timeout_seconds = 600

# stdio with built-in positional args
[[plugins]]
name    = "filesystem"
command = "npx"
args    = ["-y", "@modelcontextprotocol/server-filesystem", "/srv/code"]

# Streamable HTTP (2025-03 spec) — for remote MCPs
[[plugins]]
name    = "stripe"
type    = "http"
url     = "https://mcp.stripe.com"
headers = { Authorization = "Bearer ${STRIPE_KEY}" }

# Plain HTTPS — treated as HTTP+SSE for back-compat
[[plugins]]
name    = "remote-legacy"
type    = "sse"
url     = "https://internal.example.com/mcp/sse"

# per-tool timeout for slow generators
[[plugins]]
name                 = "edge"
command              = "edge-mcp-server"
tool_timeout_seconds = { generate_video = 1800 }

Notes that are easy to miss

  1. reasonix.toml at the project root overrides the user-level config. Put project-only servers in the project file so they do not leak to other repos.
  2. env values can reference ${VAR} and Reasonix will resolve from the user .env. Provider keys are NOT injected here — those go in api_key_env on the provider entry.
  3. Newly installed MCP servers do not need a per-tool allow list; tools declared readOnlyHint are auto-available to planner and read-only sub-agent registries.
  4. MCP prompts become slash commands of the form /mcp__server__prompt. MCP resources can be referenced with @server:uri.
  5. Set call_timeout_seconds per server for slow networks; tool_timeout_seconds for one specific tool (e.g., long-running media generation).

Common failure modes

  • Plain url = "https://..." is interpreted as SSE. Use type = "http" for the 2025-03 Streamable HTTP transport.
  • Provider secrets are filtered out of every MCP child-process environment. Do not try to pass DEEPSEEK_API_KEY through env = { ... }; the agent will not see it and the MCP server should not need it.
  • MCP servers that fork long-running subprocesses consume RAM proportional to the number of sessions. Drop the server from the project reasonix.toml if you only need it for one task.
  • /mcp opens the live + marketplace hub. If a server does not show up, run /doctor and check whether the stdio process exited immediately (missing binary, wrong args, network problem).

Sources

Last modified: 2026年7月23日

Author

Comments

Write a Reply or Comment

Your email address will not be published.