以编程方式使用文档

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 该工具还为支持的非文本文件类型返回多模态块。

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