```mdx
---
title: "工具"
description: "Connect to external services and APIs with pre-built integrations"
icon: "wrench"
---

工具节点通过预构建的集成将您的工作流连接到外部服务和API。与HTTP请求节点不同，工具提供结构化接口、内置错误处理和简化的流行服务配置。

<Frame caption="工具节点配置界面">
  <img src="https://assets-docs.dify.ai/dify-enterprise-mintlify/en/guides/workflow/node/0f0255764a3f459f0b3c708db1cb32c9.png" alt="Tools node interface" />
</Frame>

## 工具类型

Dify支持多种类型的工具以应对不同的集成需求：

<Frame caption="可用工具类别和选项">
  <img src="https://assets-docs.dify.ai/2025/04/f37cce4ccbb7456154cfa9eacda6b322.png" alt="Tool categories" />
</Frame>

<Tabs>
  <Tab title="内置工具">
    Dify维护的即用型集成，适用于包括Google搜索、天气API、生产力工具和AI服务等流行服务。这些工具需要最少的配置，并提供可靠、经过测试的集成。
  </Tab>
  
  <Tab title="自定义工具">
    使用OpenAPI/Swagger规范导入您自己的工具。非常适合内部API、专业化服务或未涵盖的内置选项的任何API。配置一次即可在多个工作流中重复使用。
  </Tab>
  
  <Tab title="工作流工具">
    将复杂工作流发布为可重用的工具。这创建了可以在不同应用程序之间共享的模块化构建块，促进代码重用和简化维护。
  </Tab>
  
  <Tab title="MCP工具">
    来自外部MCP（模型上下文协议）服务器的工具，提供专业功能。连接到不断增长的MCP服务器生态系统以扩展功能。
  </Tab>
</Tabs>

## 配置

### 认证

许多工具需要API密钥或OAuth认证。在使用工具之前，在工作区的**工具**部分配置这些凭据。配置后，认证会自动处理。

### 输入参数

工具提供带有验证功能的结构化表单用于输入配置。使用来自先前工作流节点的变量设置参数。界面会自动处理数据类型验证，并为每个参数提供有用的说明。

### 输出处理

工具返回的结构化数据可作为下游节点的变量使用。输出模式是预定义的，确保兼容性并减少集成复杂性。

## 优于HTTP请求的优势

**结构化接口**提供基于表单的配置与内置验证，使设置比手动HTTP请求配置更简单。

**内置错误处理**包括自动重试逻辑和错误管理，降低了处理API故障的复杂性。

**类型安全**确保输入和输出模式在工作流节点之间保持数据兼容性。

**文档**包括每个工具的使用示例和详细参数描述。

## 错误处理和重试

为依赖外部服务的工具配置强大的错误处理：

<Frame caption="工具重试配置">
  <img src="https://assets-docs.dify.ai/2024/12/34867b2d910d74d2671cd40287200480.png" alt="Tool retry settings" />
</Frame>

**重试设置**自动重试失败的工具执行最多10次，并具有可配置的间隔（最大5000ms）。这处理临时服务问题或网络问题。

<Frame caption="工具错误处理选项">
  <img src="https://assets-docs.dify.ai/2024/12/39dc3b5881d9a5fe35b877971f70d3a6.png" alt="Tool error handling" />
</Frame>

**错误处理**定义当工具执行失败时的替代工作流路径，确保即使外部服务不可用，您的工作流也能继续。

## 创建自定义工具

**OpenAPI集成**允许您导入任何具有OpenAPI/Swagger规范的服务。一旦导入，该服务即可作为工具使用，与内置选项一样易于使用。

**工作流发布**将多节点工作流转换为可在不同应用程序中重用的单节点工具。这促进了模块化和简化了复杂工作流管理。

## 工具管理

通过工作区导航中的**工具**访问工具配置。在这里，您可以管理认证凭据、导入自定义工具、配置MCP服务器，并将工作流发布为工具。

有关工具创建、管理和将工作流发布为工具的详细指南，请参阅[工具配置指南](/en/guides/tools)。
```