跳转到主要内容

添加 MCP 服务器

通过命令行

添加 MCP 服务器的最快方法:
传输类型会自动推断:URL 表示 HTTP (Streamable HTTP) ,末尾参数 (或 --command) 表示 stdio。
远程 MCP 服务器默认使用 Streamable HTTP。如果服务器返回 HTTP 4xx 错误,CLI 会回退到同一 URL 上的 SSE。如有需要,请显式设置 "transport": "sse"——请参阅下方的旧版 SSE 回退
默认情况下,服务器会保存到 local 作用域 (.devin/config.local.json,已加入 gitignore) 。可使用 -s/`—scope“ 更改:
你也可以通过命令行管理服务器:

通过配置文件

直接在配置文件的 mcpServers 部分添加服务器:
项目级服务器会通过版本控制与你的团队共享。

服务器配置选项

MCP 服务器可配置为两种形式:本地命令 (stdio 传输) 或远程服务器 (HTTP 传输) 。

本地命令 (stdio)

远程服务器 (Streamable HTTP)

示例

添加基于 OAuth 的服务器后,运行 devin mcp login notion 完成身份验证。请参阅下方的身份验证
添加后,运行 devin mcp login atlassian 完成身份验证。每个 MCP 客户端 (Windsurf、Claude Code、Devin CLI) 都会维护各自的 OAuth 会话,因此即使你已在其他工具中完成身份验证,也仍需单独登录。

身份验证

某些远程 MCP 服务器需要进行 OAuth 身份验证。将基于 OAuth 的服务器添加到你的配置中后,使用 login 命令进行身份验证:
例如:
这会打开一个浏览器窗口,你可以在其中授权访问。OAuth 令牌会存储在本地,并自动自动刷新。 你也可以按需请求特定的 OAuth 作用域:
要删除某个服务器已存储的 OAuth 凭据:
如果服务器支持 OAuth,首次使用该服务器时,系统也会提示你自动完成身份验证。

预先注册的 OAuth 客户端

大多数基于 OAuth 的 MCP 服务器都支持动态客户端注册 (DCR) ,因此 Devin CLI 会自动注册,无需你提供任何客户端凭据。 有些提供商 (例如 GitHub) 不支持 DCR,而是要求使用预先注册的 OAuth 客户端。对于这类提供商,请通过 oauthClientId / oauthClientSecret 提供客户端 ID;如果是机密客户端,还需提供客户端密钥:
设置 oauthClientId 后,Devin CLI 会跳过动态客户端注册,并在 OAuth 流程中使用你预先注册的客户端。像平常一样,运行 devin mcp login <name> (或在首次使用时触发) 即可完成身份验证。 你也可以在添加服务器或登录服务器时,通过命令行设置这些项:
oauthClientId / oauthClientSecret 是在授权流程中使用的 OAuth 客户端凭据。它们不是通用的、按请求提供的凭据——如果服务器需要静态令牌,请改用 headers (HTTP) 或 env (stdio) 。
不要将客户端密钥提交到共享配置中。请通过环境变量 (${env:VAR}) 引用它,从文件中读取它 (${file:/path}) ,或将其放入 .devin/config.local.json (已加入 git 忽略) 。请参阅下方的“管理 secrets”部分。

OAuth 资源重写

在 OAuth 授权和令牌交换过程中,Devin CLI 会发送一个 RFC 8707 resource 参数,以便授权服务器签发受众受限的令牌。默认情况下,该值为 MCP 服务器的 URL。可使用 oauthResource 进行重写:
该字段有三种行为:
  • 未设置 (默认) :发送 resource,其值设为 MCP 服务器 URL。
  • 非空值:用你提供的值替换默认值 (例如,特定的应用程序 ID URI) 。
  • 空字符串 (""):从授权 URL 和令牌交换中完全省略 resource 参数。
你也可以在添加服务器或登录服务器时通过命令行进行设置:
与其他 OAuth 字段一样,oauthResource 支持展开 ${env:VAR}${file:/path}

启用和禁用服务器

你可以在不删除其配置的情况下临时禁用 MCP 服务器。已禁用的服务器会在工具自动发现时被跳过——其工具不会显示,服务器进程也不会启动。
这会在配置文件的 server 条目中将 "disabled": true 标记设为启用。使用 -s/--scope 可指定特定作用域:
你也可以直接在配置文件中设置此标志:
如果你想保留服务器的配置 (包括环境变量和 OAuth 凭据) ,但暂时停用它,禁用功能就很有用——例如,可以缩短启动时间或隔离问题。

管理敏感凭据

切勿将 API key 或其他敏感凭据提交到版本控制中。请使用 .devin/config.local.json 存放敏感值。
对于团队项目,推荐采用以下方式:
  1. .devin/config.json 中定义服务器,并使用占位符或不设置 env vars
  2. 每位团队成员在 .devin/config.local.json 中添加自己的个人密钥
本地配置文件会自动被 git 排除。

MCP 权限

你可以在权限配置中,将特定的 MCP 工具设为预先批准、拒绝或始终询问:
权限匹配模式:

组织限制

如果你所在的是 Enterprise 团队,Admin 可能会限制你可连接的 MCP 服务器。如果团队已禁用 MCP,或者你已配置的某个服务器不在团队的 allowlist 中,或不在强制使用的 MCP 注册表 中,该服务器就可能被阻止——这样一来,它将无法连接,其工具也无法使用。详见团队设置 — MCP 注册表

故障排查

如果你在连接远程 MCP 服务器时看到 Auth requiredAuthRequired 之类的错误,说明该服务器需要 OAuth 身份验证。运行:
每个 MCP 客户端都需要单独进行身份验证。即使你已经在 Windsurf 或 Claude Code 中完成了身份验证,仍需单独为 Devin CLI 运行 devin mcp login要确认你的身份验证状态,可以尝试先移除凭据再重新添加:
确认该命令在 Devin CLI 外部也能正常运行:
检查是否已设置所有必需的环境变量。
让 Agent 列出 MCP 服务器和工具。服务器可能需要一点时间完成初始化。
检查你的权限配置。MCP 工具默认会提示你批准。将它们添加到 permissions.allow 中即可自动批准。
某些授权服务器会拒绝包含 RFC 8707 resource 参数的 OAuth 请求。将 oauthResource 设为空字符串即可省略该参数:
然后重新进行身份验证:
有关 oauthResource 的完整行为,请参阅 OAuth 资源重写
连接到 HTTP 服务器时,Devin CLI 会先尝试 Streamable HTTP。如果服务器返回 HTTP 4xx 错误 (如 404 或 405) ,它会自动回退到同一已配置 URL上的旧版 SSE。这遵循了 MCP 规范中的向后兼容性指南只有在收到 4xx 响应时才会触发回退——连接错误、超时和 5xx 响应会直接报错,不会尝试 SSE。如果你服务器的 SSE 端点位于其他路径 (如 /sse 而不是 /mcp) ,请将 "transport": "sse" 设置为使用该 SSE URL,以便直接连接,而不先尝试 Streamable HTTP。如果两种传输方式都失败,错误消息会包含两次尝试的详细信息,帮助你排查问题。