Skip to main content
参考

MCP 参考

MCP 服务器的传输方式、配置字段、作用范围与权限

MCP(Model Context Protocol)允许 Qoder CLI 接入第三方工具和服务。本页是 MCP 服务器配置的完整参考。使用指南见 MCP 服务

传输方式

MCP 服务器通过 type 字段指定传输协议:
类型说明
stdio(默认)启动一个子进程,通过 stdin/stdout 交互。
sse通过 Server-Sent Events HTTP 连接。
http / streamable-http通过 HTTP(JSON-RPC + 可选流式)连接。
ws通过 WebSocket / TCP 连接。
sdk内置 SDK 级别的服务器(进程内)。

配置字段

MCP 服务器在 settings.jsonmcpServers 字段下配置,每个 key 为服务器名:
{
  "mcpServers": {
    "my-server": {
      "command": "node",
      "args": ["./mcp-server.js"],
      "env": { "API_KEY": "..." },
      "cwd": "/path/to/dir"
    }
  }
}

stdio 类型

字段类型说明
commandstring启动服务器的命令。
argsstring[]传递给命令的参数。
envobject传递给子进程的环境变量。
cwdstring子进程的工作目录。

sse 类型

字段类型说明
urlstringSSE 端点 URL。
type"sse"传输类型标识。
headersobjectHTTP 请求头(可含认证)。

http / streamable-http 类型

字段类型说明
urlstringHTTP 端点 URL。
type"http"传输类型标识。
headersobjectHTTP 请求头。

ws 类型(TCP)

字段类型说明
tcpobjectTCP 连接参数(host/port)。
type"ws"传输类型标识。

通用可选字段

字段类型说明
timeoutnumber连接/请求超时(毫秒)。
typestring显式指定传输类型。
descriptionstring服务器描述,用于管理视图中展示。
trustboolean信任该服务器,调用其工具时跳过确认。
includeToolsstring[]仅注册列出的工具。
excludeToolsstring[]排除列出的工具。
disabledboolean禁用该服务器(保留配置不删除)。
alwaysAllowstring[]无需确认、始终允许的工具名列表。
oauthobjectOAuth 授权配置(字段包括 enabledclientIdclientSecretauthorizationUrltokenUrlscopescallbackPort 等)。

配置作用范围

MCP 服务器可在多个层级配置:
层级位置说明
用户级~/.qoder/settings.jsonmcpServers对所有项目可用。
项目级<项目>/.qoder/settings.jsonmcpServers需批准后可用(安全考虑)。
项目级<项目>/.mcp.json需带顶层 mcpServers 键;需批准后可用。
本地级<项目>/.qoder/settings.local.jsonmcpServers仅本机当前项目;-s 的默认作用域,仅在目录受信任时加载。
插件插件目录下的 .mcp.jsonmcp.json随插件安装加载。
CLI 参数--mcp-config <path>--settings仅本次会话有效。
同名服务器按以下顺序覆盖(后者覆盖前者):用户级 → 项目级 settings.json → 项目级 .mcp.json → 本地级 → CLI 参数。 项目级 MCP 服务器默认需要逐个批准。可通过以下方式跳过:
  • mcp.enableAllProjectMcpServers: true:自动批准所有项目级服务器。
  • mcp.enabledProjectMcpServers:白名单,按名称批准。
两项写在 settings.jsonmcp 分组下(修改后需重启):
{
  "mcp": {
    "enableAllProjectMcpServers": true,
    "enabledProjectMcpServers": ["playwright", "context7"]
  }
}

权限与安全

  • MCP 工具与内置工具一样受权限系统管理——调用前需用户确认(除非使用 autobypass_permissions 模式)。
  • --allowed-mcp-server-names:限制仅加载指定名称的 MCP 服务器。
  • --strict-mcp-config:严格模式,仅加载 --mcp-config 指定文件中的服务器。
  • mcp.allowed / mcp.excluded:在配置中控制允许或排除的服务器列表。

懒加载模式

当连接了多个 MCP 服务器时,默认会在启动时注册所有工具 schema,可能占用较多首轮 prompt token。 启用懒加载(mcp.lazyLoad: trueQODER_MCP_LAZY=1)后,CLI 仅暴露三个 meta 工具(mcp_list / mcp_get / mcp_call),按需加载实际工具,节省 token 开销。

管理命令

在交互式会话中使用 /mcp 斜杠命令管理 MCP 服务器:
  • /mcp — 查看已连接的服务器列表与状态。
  • /mcp reload(别名 /mcp refresh)— 重新发现 MCP 服务器与工具,适用于添加或修改配置之后。
在命令行使用 qodercli mcp 子命令进行非交互管理:
  • qodercli mcp add <name> -- <command> — 添加 stdio 服务器。
  • qodercli mcp list — 列出已配置的服务器。
  • qodercli mcp remove <name> — 移除服务器。
各子命令的参数与示例见 MCP 服务

下一步