Deep Agents 可以调用您定义的任何工具、任何 LangChain 工具,以及来自任意 MCP 服务器的工具。通过 tools= 参数将其与用于文件管理和子智能体生成的内置运行时工具一起传递给 create_deep_agent。

自定义工具

您可以将任何可调用对象,例如普通函数、使用 LangChain @tool 装饰器的函数或工具字典,直接传递给 tools=。Deep Agents 会根据函数签名和文档字符串推断工具模式,因此在大多数情况下无需单独定义模式。
有关定义和使用 LangChain 工具(工具字典、StructuredTool、返回类型、错误处理等)的完整详细信息,请参阅 工具。

MCP 工具

Deep Agents 完全支持 模型上下文协议 (MCP),这是一个将智能体连接到外部服务的开放标准。您可以从任何 MCP 服务器加载工具,并将其直接传递给 create_deep_agent。
MCP 是一个开放协议,它让智能体能够通过标准接口连接到不断增长的服务器生态系统——数据库、API、文件系统、浏览器等等。您无需为每个服务编写自定义集成代码,只需将 Deep Agents 指向一个 MCP 服务器,它就能获取该服务器提供的所有工具。 安装 @langchain/mcp-adapters 以连接到 MCP 服务器:
有关详细的配置选项(包括 stdio 服务器、OAuth 身份验证、工具过滤和有状态会话),请参阅完整的 MCP 指南。

内置运行时工具

除了您提供的工具外,每个 Deep Agent 还附带一组来自运行时环境的内置工具: 要使用 write_todos 添加结构化任务规划功能,请通过 TodoListMiddleware 启用。请参阅 任务规划。 有关每个内置工具功能的完整说明,请参阅 运行时环境概述。

多模态工具输出

当所选模型支持多模态工具结果时,自定义工具可以返回纯文本或标准内容块(文本、图像、音频、视频和文件)。内置的 read_file 工具也会为支持的非文本文件类型返回多模态内容块。 对于纯文本结果,请返回字符串;对于文本加媒体或交错的多模态输出,请返回一个有序的内容块列表。有关示例和上下文压缩的考虑,请参阅多模态和工具返回值。