MCP

minacode 可以连接 Model Context Protocol server,并通过 MCP 工具调用其工具。Server 可以是远程(HTTP)或本地(stdio);在主动连接之前,该 server 的任何信息都不会进入模型 context

配置 server

每个 server 对应一个 [mcp.<name>] 配置块。

远程(HTTP)

[mcp.example]
url = "https://example.com/mcp"
bearer_token_env_var = "EXAMPLE_MCP_TOKEN"  # optional: send a bearer token from this env var
# auth = "oauth"                            # optional: use interactive OAuth instead
# auto_connect = true                       # optional: connect at startup (default false)

本地(stdio)

[mcp.filesystem]
command = "npx"
args = ["-y", "@modelcontextprotocol/server-filesystem", "/tmp"]
# env = { FOO = "bar" }   # optional extra environment variables
# auto_connect = true

选项

配置项

适用范围

含义

url

远程

Server endpoint(不能与 command 同时设置)

command, args

本地

要启动的程序和参数

env

本地

传给子进程的额外环境变量

auth = "oauth"

远程

通过交互式 OAuth 认证

bearer_token_env_var

远程

发送 Authorization: Bearer <env var>

env_http_headers

远程

HTTP header 到保存其值的环境变量映射

auto_connect

两者

启动时连接,而不是按需连接(默认 false

连接

Server 默认手动连接:连接前保持未激活,也不会占用 token。对始终需要的 server,可设置 auto_connect = true。连接方式包括:

  • /mcp — 打开交互式管理器,切换 server 的连接状态。

MCP server 管理器列出全部已配置 server 及其连接状态

/mcp 交互式 server 管理器。

  • 在消息中输入 @server — 按需连接。连接会保持,直到主动断开。

使用 `@server` 引用按需连接 MCP server

通过 @ 引用按需连接 server。

  • /mcp connect <server> [server ...] / /mcp disconnect <server> — 终端命令形式。

  • /mcp tools [server] — 列出已连接 server 的工具。

一条命令连接多个 server 时会并发执行;交互式 OAuth 浏览器流程会串行进行,避免互相干扰。

连接后,minacode 可以像使用其他工具一样使用该 server 的工具。Server 标记为只读的工具无需确认即可运行;可能改变状态的操作会先请求确认

认证

  • Bearer token — 设置 bearer_token_env_var,或通过 env_http_headers 设置自定义 header。

  • OAuth — 设置 auth = "oauth"。连接时执行授权流程;断开连接会清除已保存的登录信息。

信任边界

本地(stdio)server 会在你的机器上运行程序,远程 server 会收到 agent 发给它的内容。只连接可信的 server。