以编程方式使用文档

Deep Agents 可以调用你定义的任何工具、任何 LangChain 工具,以及来自任何 MCP 服务器. 将它们传递给 create_deep_agent 通过 tools= 参数以及 内置工具集 用于规划、文件管理和子代理生成。

const agent = await createDeepAgent({
  model: "anthropic:claude-sonnet-4-6",
  tools: [search, fetchUrl, runQuery],
});

自定义工具

传递任何可调用对象——普通函数、LangChain @tool装饰的函数或工具字典——直接给 tools=. Deep Agents 从函数签名和文档字符串推断工具架构,在大多数情况下你无需定义单独的架构。

有关定义和使用 LangChain 工具的完整详细信息(工具字典, StructuredTool、返回类型、错误处理等),请参阅 工具.

MCP 工具

MCP 是一个开放协议,让代理通过标准接口连接到不断增长的服务器生态系统——数据库、API、文件系统、浏览器等。你无需为每个服务编写自定义集成代码,只需将 Deep Agents 指向一个 MCP 服务器,它就会获取该服务器暴露的所有工具。

安装 @langchain/mcp-adapters 以连接到 MCP 服务器:

npm install @langchain/mcp-adapters
const client = new MultiServerMCPClient({
  my_server: {
    transport: "http",
    url: "http://localhost:8000/mcp",
  },
});

const tools = await client.getTools();

const agent = await createDeepAgent({
  model: "openai:gpt-5.5",
  tools,
});

const result = await agent.invoke({
  messages: [{ role: "user", content: "Use the MCP server to help me." }],
});

有关详细配置选项——包括 stdio 服务器、OAuth 身份验证、工具过滤和状态会话——请参阅完整的 MCP 指南.

内置工具集工具

除了你提供的工具外,每个 Deep Agent 都附带一组内置的工具集工具:

工具描述
ls列出目录中的文件
read_file读取文件内容(支持分页和多模态)
write_file创建新文件
edit_file对文件执行精确字符串替换
glob查找匹配 glob 模式的文件
grep搜索文件内容
execute运行 shell 命令(仅限沙箱后端)
task生成子代理来处理委托的任务
write_todos管理结构化待办列表

有关每个内置工具的完整功能说明,请参阅 工具集概述.

多模态工具输出

自定义工具可以返回纯文本或 标准内容块 (文本、图像、音频、视频和文件),前提是所选模型支持多模态工具结果。内置的 read_file 该工具还为支持的非文本文件类型返回多模态块。

对于纯文本结果返回字符串,或对于文本加媒体或交错多模态输出返回内容块的有序列表。请参阅 多模态工具返回值 获取示例和上下文压缩注意事项。