Deep Agents 可以调用你定义的任何工具、任何 LangChain 工具,以及来自任何 MCP 服务器. 将它们传递给 create_deep_agent 通过 tools= 参数以及 内置工具集 用于规划、文件管理和子代理生成。
from deepagents import create_deep_agent
agent = create_deep_agent(
model="anthropic:claude-sonnet-4-6",
tools=[search, fetch_url, run_query],
)
自定义工具
传递任何可调用对象——普通函数、LangChain @tool装饰的函数或工具字典——直接给 tools=. Deep Agents 从函数签名和文档字符串推断工具架构,在大多数情况下你无需定义单独的架构。
有关定义和使用 LangChain 工具的完整详细信息(工具字典, StructuredTool、返回类型、错误处理等),请参阅 工具.
MCP 工具
MCP 是一个开放协议,让代理通过标准接口连接到不断增长的服务器生态系统——数据库、API、文件系统、浏览器等。你无需为每个服务编写自定义集成代码,只需将 Deep Agents 指向一个 MCP 服务器,它就会获取该服务器暴露的所有工具。
安装 langchain-mcp-adapters 以连接到 MCP 服务器:
pip install langchain-mcp-adapters
from langchain_mcp_adapters.client import MultiServerMCPClient
from deepagents import create_deep_agent
async def main():
async with MultiServerMCPClient(
{
"my_server": {
"transport": "http",
"url": "http://localhost:8000/mcp",
}
}
) as client:
tools = await client.get_tools()
agent = create_deep_agent(
model="openai:gpt-5.5",
tools=tools,
)
result = await agent.ainvoke(
{"messages": [{"role": "user", "content": "Use the MCP server to help me."}]},
config={"configurable": {"thread_id": "1"}},
)
asyncio.run(main())
有关详细配置选项——包括 stdio 服务器、OAuth 身份验证、工具过滤和状态会话——请参阅完整的 MCP 指南.
内置工具集工具
除了你提供的工具外,每个 Deep Agent 都附带一组内置的工具集工具:
| 工具 | 描述 |
|---|---|
ls | 列出目录中的文件 |
read_file | 读取文件内容(支持分页和多模态) |
write_file | 创建新文件 |
edit_file | 对文件执行精确字符串替换 |
glob | 查找匹配 glob 模式的文件 |
grep | 搜索文件内容 |
execute | 运行 shell 命令(仅限沙箱后端) |
task | 生成子代理来处理委托的任务 |
write_todos | 管理结构化待办列表 |
有关每个内置工具的完整功能说明,请参阅 工具集概述.
多模态工具输出
自定义工具可以返回纯文本或 标准内容块 (文本、图像、音频、视频和文件),前提是所选模型支持多模态工具结果。内置的 read_file 该工具还为支持的非文本文件类型返回多模态块。
对于纯文本结果返回字符串,或对于文本加媒体或交错多模态输出返回内容块的有序列表。请参阅 多模态 和 工具返回值 获取示例和上下文压缩注意事项。