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 头 |
oauth | 否 | OAuth 配置;设为 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前缀)