> ## 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 を呼び出してリアルタイムデータの取得やアクションの実行（Web 検索、データベースクエリ、コンテンツ処理など）ができるようになります。

ツールは以下のアプリで使用できます：

- Workflow／Chatflow アプリ（独立した [ツールノード](/ja/self-host/use-dify/nodes/tools) として、または [Agent ノード](/ja/self-host/use-dify/nodes/agent#classic-agent) 内で使用）
- [Agent アプリ](/ja/self-host/use-dify/build/new-agent/build#tools)
- [レガシー Agent アプリ](/ja/self-host/use-dify/build/agent#dify-ツールで-agent-を拡張する)

すべてのツールは **統合** > **ツール** で管理できます。

## ツールの種類

<Tabs>
    <Tab title="ツールプラグイン">
        一般的なユーティリティや人気のサービス向けに、Dify とコミュニティが提供するすぐに使えるツールです。組み込みツール（Current Time など）はそのまま使え、[Marketplace](https://marketplace.dify.ai/) からさらにインストールできます。

        一部のツールプラグイン（Google や GitHub など）は、使用前に認証が必要です。ワークスペースレベルの認証情報は **統合** > **ツール** > **ツールプラグイン** で設定するか、アプリやノード内のツール設定で設定します。
    </Tab>
    <Tab title="Swagger API" id="swagger-api">
        ツールプラグインとして提供されていないサービスを、標準の OpenAPI（Swagger）仕様をインポートして統合します。

        スキーマを貼り付けるか、URL からインポートするか、提供されたサンプルから始めると、Dify がツールインターフェースを自動生成します。
    </Tab>
    <Tab title="Workflow" 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 サーバーとして公開](/ja/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 キーで認証するサーバー（例：`Authorization: Bearer <token>`）でよく使われますが、サーバーがカスタムヘッダーを必要とするあらゆる場面で利用できます。

        ヘッダーの値は動的にもできます。`{{request.headers.X-Custom-Auth}}` は、実行を開始した HTTP リクエスト（例：Service API 呼び出し）の `X-Custom-Auth` ヘッダーに、呼び出し時点で置き換えられます。これにより、各呼び出し元の認証情報をサーバーへ引き渡せます。

        リクエストに該当するヘッダーがない場合は空の値になり、元となる HTTP リクエストがない実行では、プレースホルダーのテキストがそのまま送信されます。

        #### タイムアウト

        Dify がサーバーを待つ時間を制御します。サーバーの応答が遅い場合はリクエストのタイムアウトを、長時間のストリーミング結果には SSE 読み取りタイムアウトを延ばします。タイムアウトエラーが出る場合のみ変更してください。
    </Tab>
</Tabs>
