> ## Documentation index
> Fetch the complete documentation index at: https://dify-docs.docs7.io/llms.txt
> Ask it with GET https://dify-docs.docs7.io/ask?q=<keywords or question>. Short keywords rank best.
> Use these to discover all available pages before exploring further.

# Dify 工具

> 管理使 LLM 能够与外部服务和 API 交互的工具

> 本文档由 AI 自动翻译。如有任何不准确之处，请参考 [英文原版](/en/self-host/use-dify/workspace/tools)。

为你的应用添加工具，让 LLM 能够调用外部服务和 API 来获取实时数据或执行操作，如网页搜索、数据库查询或内容处理。

工具的使用场景：

- Workflow / Chatflow 应用，作为独立的 [工具节点](/zh/self-host/use-dify/nodes/tools)，或在 [Agent 节点](/zh/self-host/use-dify/nodes/agent#classic-agent) 中使用
- [Agent 应用](/zh/self-host/use-dify/build/new-agent/build#tools)
- [旧版 Agent 应用](/zh/self-host/use-dify/build/agent#使用-dify-工具扩展-agent)

可在 **集成** > **工具** 中管理所有工具。

## 工具类型

<Tabs>
    <Tab title="工具插件">
        由 Dify 和社区提供的即用型工具，涵盖常用功能和热门服务。内置工具（如 Current Time）开箱即用，你也可从 [市场](https://marketplace.dify.ai/) 安装更多。

        部分工具插件（如 Google 和 GitHub）使用前需要鉴权。可在 **集成** > **工具** > **工具插件** 中设置工作空间级凭据，或在应用或节点内的工具设置中配置。
    </Tab>
    <Tab title="Swagger API" id="swagger-api">
        通过导入标准的 OpenAPI（Swagger）规范，将尚未以工具插件形式提供的服务集成进来。

        粘贴规范、从 URL 导入，或从提供的示例开始，Dify 会自动生成工具接口。
    </Tab>
    <Tab title="工作流" id="workflow">
        将任意以用户输入节点开始的工作流转化为工具，从而在多个应用间共享多步逻辑。Chatflow 无法用作工具。

        创建工具时会先发布工作流，工具即以当前的工作流为准。

        <Frame>
            ![工作流发布为工具](/images/use-dify/workspace/workflow-as-tool.png)
        </Frame>
    </Tab>
    <Tab title="MCP" id="mcp">
        连接 [MCP 服务器](https://modelcontextprotocol.io/)，将其工具导入 Dify。MCP 服务器封装数据库、文件系统或 API 等外部资源，并通过标准接口对外提供，让你的应用能像调用其他工具一样调用它们。

        <Tip>
          如需将你自己的 Dify 应用发布为 MCP 服务器，参见 [发布为 MCP 服务器](/zh/self-host/use-dify/publish/publish-mcp)。
        </Tip>

        ### 连接 MCP 服务器

        <Info>
          仅支持采用 [HTTP 传输](https://modelcontextprotocol.io/docs/learn/architecture#transport-layer) 的 MCP 服务器。
        </Info>

        提供 URL、名称和唯一的服务器标识符即可添加服务器。Dify 会进行连接、按需授权，并导入服务器的工具，供你的应用调用。

        之后可更新工具列表以拉取服务器的最新工具，但若其中某个工具被移除或更改，可能导致使用它的应用出错。

        <Note>
          - 应用通过标识符引用服务器。若之后更改标识符，使用旧标识符的应用将无法使用该服务器的工具；在每个受影响的应用中重新添加这些工具即可恢复。
          - 导出的应用同样通过标识符引用服务器，因此要在另一个工作空间中运行，需以相同的标识符重新创建相同的服务器。
        </Note>

        ### 鉴权

        **动态客户端注册**（默认开启）让 Dify 自动从服务器获取 OAuth 凭据，无需你自行注册应用。只要服务器支持，就保持开启。

        当服务器不支持自动注册，或你必须使用团队已有的 OAuth 应用时，将其关闭，填入该应用的 **Client ID** 和 **Client Secret**，再注册 Dify 显示的重定向 URL。

        ### 高级选项

        #### 自定义请求头

        在每次请求中向服务器发送额外的 HTTP 请求头。常见用途是为使用静态令牌或 API 密钥（而非 OAuth）鉴权的服务器提供凭据（如 `Authorization: Bearer <token>`），也适用于服务器需要自定义请求头的其他场景。

        请求头的值也可以是动态的：`{{request.headers.X-Custom-Auth}}` 会在调用时替换为触发本次运行的 HTTP 请求（例如一次 Service API 调用）所携带的 `X-Custom-Auth` 请求头，从而将每个调用方的凭据透传给服务器。

        若请求未携带该请求头，则解析为空值；若本次运行没有对应的源 HTTP 请求，则原样发送占位符文本。

        #### 超时

        控制 Dify 等待服务器的时长。服务器响应缓慢时调高请求超时时间，流式结果耗时较长时调高 SSE 读取超时时间。仅在出现超时错误时才需调整。
    </Tab>
</Tabs>
