← 文档中心

MCP

配置

MCP(Model Context Protocol)让 DuoDuoCode 可以调用外部工具、读取外部数据源。配置后,MCP 提供的工具会与内置工具一起出现在模型的工具清单中。

配置位置

在配置文件的 mcp 字段中,以服务器名作为键:

{
  "mcp": {
    "服务器名": { /* 配置 */ }
  }
}

服务器名可自定义,仅用于标识与日志。


本地服务器(stdio)

通过启动本地进程通信,适合大多数 MCP 服务器:

{
  "mcp": {
    "context7": {
      "type": "local",
      "command": ["npx", "-y", "@upstash/context7-mcp"],
      "environment": {
        "API_KEY": "{env:CONTEXT7_KEY}"
      },
      "enabled": true
    }
  }
}
字段必填说明
type固定为 local
command命令与参数数组,第一个元素为可执行文件
environment传给子进程的环境变量,支持 {env:VAR} 插值
enabled是否随启动自动连接,默认取决于服务器
timeout请求超时(毫秒),默认 5000

远程服务器

通过 HTTP 连接远程 MCP 服务:

{
  "mcp": {
    "remote-tools": {
      "type": "remote",
      "url": "https://mcp.example.com/sse",
      "headers": {
        "Authorization": "Bearer {env:MCP_TOKEN}"
      },
      "enabled": true
    }
  }
}
字段必填说明
type固定为 remote
url远程服务地址
headers随请求发送的 HTTP 头
oauthOAuth 配置;设为 false 可关闭自动探测
enabled是否随启动自动连接
timeout请求超时(毫秒),默认 5000

OAuth 对象形式:

{
  "mcp": {
    "remote-tools": {
      "type": "remote",
      "url": "https://mcp.example.com/sse",
      "oauth": {
        "clientId": "your-client-id"
      }
    }
  }
}

临时禁用

不想删除配置,只想临时停用某个服务器:

{
  "mcp": {
    "context7": {
      "enabled": false
    }
  }
}

这是 mcp 字段支持的最简形式——只写 enabled 即可。


命令行管理

duoduocode mcp list      # 列出已配置的服务器及其连接状态
duoduocode mcp add       # 交互式添加
duoduocode mcp auth      # 完成 OAuth 认证
duoduocode mcp logout    # 登出
duoduocode mcp debug     # 诊断连接问题

连接不上时,优先用 duoduocode mcp debug 查看握手与工具列表拉取情况。


从市场安装

DuoDuoCode 内置技能与 MCP 市场,可直接搜索安装:

duoduocode gear search mcp
duoduocode gear install <id>

安全提示

MCP 服务器会以你的用户身份运行,并能向模型暴露任意工具。建议:

  • 只安装来源可信的 MCP 服务器
  • enabled: false 停掉暂时不用的服务器
  • 敏感凭据一律用 {env:VAR} 插值,不要写进配置文件
  • 通过权限对 MCP 工具单独控制(权限名带 mcp 前缀)

相关