添加 MCP 服务器
通过命令行
--command) 表示 stdio。
远程 MCP 服务器默认使用 Streamable HTTP。如果服务器返回 HTTP 4xx 错误,CLI 会回退到同一 URL 上的 SSE。如有需要,请显式设置
"transport": "sse"——请参阅下方的旧版 SSE 回退。.devin/config.local.json,已加入 gitignore) 。可使用 -s/`—scope“ 更改:
通过配置文件
mcpServers 部分添加服务器:
- 项目配置
- 用户配置
- 本地覆盖
项目级服务器会通过版本控制与你的团队共享。
服务器配置选项
本地命令 (stdio)
远程服务器 (Streamable HTTP)
示例
GitHub(stdio)
GitHub(stdio)
Notion(HTTP + OAuth)
Notion(HTTP + OAuth)
添加基于 OAuth 的服务器后,运行
devin mcp login notion 完成身份验证。请参阅下方的身份验证。Linear(HTTP + OAuth)
Linear(HTTP + OAuth)
Atlassian / Jira(HTTP + OAuth)
Atlassian / Jira(HTTP + OAuth)
添加后,运行
devin mcp login atlassian 完成身份验证。每个 MCP 客户端 (Windsurf、Claude Code、Devin CLI) 都会维护各自的 OAuth 会话,因此即使你已在其他工具中完成身份验证,也仍需单独登录。自定义服务器(stdio)
自定义服务器(stdio)
身份验证
login 命令进行身份验证:
如果服务器支持 OAuth,首次使用该服务器时,系统也会提示你自动完成身份验证。
预先注册的 OAuth 客户端
oauthClientId / oauthClientSecret 提供客户端 ID;如果是机密客户端,还需提供客户端密钥:
oauthClientId 后,Devin CLI 会跳过动态客户端注册,并在 OAuth 流程中使用你预先注册的客户端。像平常一样,运行 devin mcp login <name> (或在首次使用时触发) 即可完成身份验证。
你也可以在添加服务器或登录服务器时,通过命令行设置这些项:
oauthClientId / oauthClientSecret 是在授权流程中使用的 OAuth 客户端凭据。它们不是通用的、按请求提供的凭据——如果服务器需要静态令牌,请改用 headers (HTTP) 或 env (stdio) 。OAuth 资源重写
resource 参数,以便授权服务器签发受众受限的令牌。默认情况下,该值为 MCP 服务器的 URL。可使用 oauthResource 进行重写:
- 未设置 (默认) :发送
resource,其值设为 MCP 服务器 URL。 - 非空值:用你提供的值替换默认值 (例如,特定的应用程序 ID URI) 。
- 空字符串 (
""):从授权 URL 和令牌交换中完全省略resource参数。
oauthResource 支持展开 ${env:VAR} 和 ${file:/path}。
启用和禁用服务器
"disabled": true 标记设为启用。使用 -s/--scope 可指定特定作用域:
如果你想保留服务器的配置 (包括环境变量和 OAuth 凭据) ,但暂时停用它,禁用功能就很有用——例如,可以缩短启动时间或隔离问题。
管理敏感凭据
- 在
.devin/config.json中定义服务器,并使用占位符或不设置 env vars - 每位团队成员在
.devin/config.local.json中添加自己的个人密钥
MCP 权限
组织限制
故障排查
远程服务器要求身份验证 / OAuth 错误
远程服务器要求身份验证 / OAuth 错误
如果你在连接远程 MCP 服务器时看到 每个 MCP 客户端都需要单独进行身份验证。即使你已经在 Windsurf 或 Claude Code 中完成了身份验证,仍需单独为 Devin CLI 运行
Auth required 或 AuthRequired 之类的错误,说明该服务器需要 OAuth 身份验证。运行:devin mcp login。要确认你的身份验证状态,可以尝试先移除凭据再重新添加:服务器无法启动
服务器无法启动
确认该命令在 Devin CLI 外部也能正常运行:检查是否已设置所有必需的环境变量。
工具未显示
工具未显示
让 Agent 列出 MCP 服务器和工具。服务器可能需要一点时间完成初始化。
权限被拒绝
权限被拒绝
检查你的权限配置。MCP 工具默认会提示你批准。将它们添加到
permissions.allow 中即可自动批准。因 resource 参数导致的 OAuth 错误
因 resource 参数导致的 OAuth 错误
某些授权服务器会拒绝包含 RFC 8707 然后重新进行身份验证:有关
resource 参数的 OAuth 请求。将 oauthResource 设为空字符串即可省略该参数:oauthResource 的完整行为,请参阅 OAuth 资源重写。旧版 SSE 回退
旧版 SSE 回退
连接到 HTTP 服务器时,Devin CLI 会先尝试 Streamable HTTP。如果服务器返回 HTTP 4xx 错误 (如 404 或 405) ,它会自动回退到同一已配置 URL上的旧版 SSE。这遵循了 MCP 规范中的向后兼容性指南。只有在收到 4xx 响应时才会触发回退——连接错误、超时和 5xx 响应会直接报错,不会尝试 SSE。如果你服务器的 SSE 端点位于其他路径 (如
/sse 而不是 /mcp) ,请将 "transport": "sse" 设置为使用该 SSE URL,以便直接连接,而不先尝试 Streamable HTTP。如果两种传输方式都失败,错误消息会包含两次尝试的详细信息,帮助你排查问题。
