Skip to main content
MCP(模型上下文协议) 允许您通过外部服务器(文件系统、API、数据库等)扩展 Deep Agents CLI,而无需修改代理本身。CLI 在启动时连接到 MCP 服务器,发现其工具,并使它们与内置工具一起可供代理使用。

快速入门

创建配置文件

在项目根目录创建一个 .mcp.json 文件。格式遵循 Claude Desktop 约定
.mcp.json
{
    "mcpServers": {
        "docs-langchain": {
        "type": "http",
        "url": "https://docs.langchain.com/mcp"
        }
    }
}

启动 CLI

deepagents
启动时,CLI 会自动发现您的 .mcp.json,启动每个配置的服务器,发现其工具,并打印确认信息:
✓ 已加载 3 个 MCP 工具
代理现在可以在会话期间使用这些工具。会话保持活动状态——stdio 服务器在工具调用之间不会重新启动。

自动发现

CLI 会自动在标准位置搜索 .mcp.json 文件。无需标志——只需放置配置文件,它就会被拾取。

发现位置

配置按此顺序检查(从最低到最高优先级):
优先级位置范围
1(最低)~/.deepagents/.mcp.json用户级别——适用于所有项目
2<project>/.deepagents/.mcp.json项目级别——.deepagents 子目录
3(最高)<project>/.mcp.json项目级别——根目录(与 Claude Code 兼容)
项目根目录是包含 .git 文件夹的最近父目录,回退到当前工作目录。 当存在多个配置文件时,它们的 mcpServers 条目会被合并。如果同一服务器名称出现在多个文件中,则优先级更高的配置获胜。

标志

标志行为
--mcp-config PATH添加显式配置作为最高优先级源(在自动发现的配置之上合并)
--no-mcp完全禁用 MCP——不加载任何服务器
--mcp-config--no-mcp 互斥。

Claude Code 兼容性

如果您已经在项目根目录为 Claude Code 准备了 .mcp.json,Deep Agents CLI 会自动拾取它——无需额外设置。

配置格式

mcpServers 下的每个键都是一个服务器名称。服务器的字段决定了 CLI 如何连接到它。

stdio 服务器(默认)

stdio 服务器作为子进程启动。CLI 通过 stdin/stdout 与它们通信。
mcp-config.json
{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/tmp"],
      "env": {}
    },
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": { "GITHUB_TOKEN": "your-token" }
    }
  }
}
command
string
required
要运行的可执行文件。
args
string[]
传递给命令的参数。
env
object
为子进程设置的环境变量。用于传递 API 密钥和其他凭据,而不会在 shell 历史记录中暴露它们。

SSE 和 HTTP 服务器

对于远程 MCP 服务器,将 type 设置为 "sse""http" 并提供 url
mcp-config.json
{
  "mcpServers": {
    "remote-api": {
      "type": "sse",
      "url": "https://api.example.com/mcp",
      "headers": { "Authorization": "Bearer your-token" }
    }
  }
}
type
string
required
传输类型:"sse" 表示服务器发送事件,"http" 表示可流式 HTTP。
url
string
required
服务器端点 URL。
headers
object
随每个请求发送的 HTTP 头。通常用于身份验证。

服务器类型摘要

类型必需字段可选字段
stdio(默认)commandargs, env
ssetype: "sse", urlheaders
httptype: "http", urlheaders
type 字段也可以写为 transport,以与其他 MCP 客户端兼容。

多个服务器

您可以根据需要配置任意数量的服务器。来自所有服务器的工具都会被合并并可供代理使用:
mcp-config.json
{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/home/user/projects"]
    },
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": { "GITHUB_TOKEN": "ghp_..." }
    },
    "database": {
      "type": "sse",
      "url": "https://db-mcp.internal:8080/mcp",
      "headers": { "Authorization": "Bearer ..." }
    }
  }
}

项目级别信任

项目级别配置可以包含执行本地命令的 stdio 服务器。为了防止不受信任的存储库在 CLI 启动时运行任意代码,CLI 对项目级别 stdio 服务器强制执行默认拒绝策略。

工作原理

  • 交互模式: CLI 在启动项目 stdio 服务器之前提示批准,显示确切的命令。批准使用 SHA-256 内容指纹持久化——如果配置更改,将再次提示您。
  • 非交互模式(-n): 项目 stdio 服务器会被静默跳过,除非传递 --trust-project-mcp
  • 来自项目配置的**远程服务器(SSE/HTTP)**始终允许,因为它们不执行本地代码。
  • 用户级别配置~/.deepagents/.mcp.json)始终受信任——与 config.tomlhooks.json 的信任模型相同。

标志

标志行为
--trust-project-mcp信任所有项目级别 stdio 服务器而不提示(用于 CI 和自动化)
# 跳过批准提示
deepagents --trust-project-mcp

# 非交互式:显式信任项目服务器
deepagents -n "run tests" --trust-project-mcp

信任存储

信任决策存储在 ~/.deepagents/config.toml 中:
[mcp_trust.projects]
"/Users/you/myproject" = "sha256:abc123..."
每个键都是绝对项目根路径。值是连接的项目级别配置内容的 SHA-256 摘要。要撤销信任,请删除条目或修改项目的 .mcp.json(这将自动使指纹无效)。
受信任的 stdio MCP 服务器具有与您的用户帐户相同的权限。仅批准来自您信任的存储库的服务器。在接受之前,请查看批准提示中显示的命令。

系统提示意识

连接的 MCP 服务器及其工具会自动列在代理的系统提示中,按服务器名称和传输类型分组。这有助于模型推理工具来源和故障域,而无需手动上下文。

故障排除

验证命令在 CLI 外部是否有效:
npx -y @modelcontextprotocol/server-filesystem /tmp
常见原因:软件包未安装、npx 不在 PATH 上,或缺少必需的环境变量。
检查远程服务器是否正在运行以及 URL 是否正确。如果服务器需要身份验证,请确保 headers 包含正确的凭据。
CLI 在启动时打印加载的工具数量(例如,✓ 已加载 3 个 MCP 工具)。如果看到 0,则服务器启动成功但未通告任何工具——检查服务器自身的日志或文档。

延伸阅读

  • LangChain MCP 指南:协议详情、构建自定义服务器以及以编程方式使用 langchain-mcp-adapters
  • MCP 规范:官方协议规范和服务器注册表