3行でいうと

  • 外のAIから Dify のアプリを使うには、アプリの「Access Point」タブの「MCP Server」のカードをオンにします。アプリごとにURLができ、公式はそれを「API キーのように」扱うよう書いています。Claude Desktop と Cursor の設定の例が、公式のページにあります。
  • Dify から外のMCPサーバーを使うには、「Integrations」→「Tools」でMCPサーバーを足します。公式は、HTTPのトランスポートのサーバーだけが対象、と書いています。サーバーのURL、名前、「server identifier」を入れ、認証は「Dynamic Client Registration」か、Client ID と Client Secret、またはカスタムヘッダーです。
  • AIエージェントに Dify のアプリを使わせるには、公式のCLI difyctl を入れ、サインインし、エージェント用のスキルのファイルを書き込みます(difyctl skills install)。エージェントの権限は、サインインしたアカウントの権限と同じ、と公式は書いています。
  • APIは、アプリごとのキーで呼びます。 公式は「Call the API from your backend only」と書きます。Webhook は、ワークフローの「Webhook Trigger」で、外のシステムから Dify のワークフローを起動します。
  • 外し方は連携ごとに違います。書かれているのは、MCPのURLの再生成、difyctl のサインアウトと端末の失効、トークンのファイルの扱いなどです。書かれていないものは、「記載が見つからない」と書きます。

この記事は、公式の資料を2026年10月25日に読んでまとめたものです。この記事は、実際に使って確かめた記録ではありません。

先に結論

前提:用語をそろえる

連携の一覧:どの画面で、何が渡り、どう外すか

連携 向き 設定する画面 相手に渡るもの 外し方(公式の記載)
モデル提供会社(OpenAI など) Dify → 外 「Integrations」→「Model Provider」→「Setup」 モデルを呼ぶときの入力(プロンプトなど) キーの管理は「Configure」「Manage Credentials」。プロバイダー自体の外し方は、読んだページに記載が見つからない
外のMCPサーバーを取り込む Dify → 外 「Integrations」→「Tools」 ツールを呼ぶときの入力。カスタムヘッダーの値 サーバーの削除の手順は、読んだページに記載が見つからない
ワークフローをツールにする Dify内 ワークフローから、ツールを作る 同じワークスペースの内部 記載が見つからない
Swagger API(OpenAPI)のツール Dify → 外 「Integrations」→「Tools」 そのAPIへの入力 記載が見つからない
DifyのアプリをMCPサーバーにする 外 → Dify アプリの「Access Point」→「MCP Server」 外のAIが、アプリへ渡す入力。アプリの出力が返る 「regenerate」で、古いURLはすぐ使えなくなる。スイッチを戻す手順は記載が見つからない
difyctl とAIエージェント 外 → Dify ターミナル、エージェントのスキルのディレクトリ エージェントが、サインインしたアカウントの権限でできること difyctl auth logout、端末の失効(auth devices revoke)。スキルの削除は、記載が見つからない
API 外 → Dify アプリのAPIキー、ナレッジの「Service API」 リクエストの内容と、アプリの返答 キーの失効の手順は、読んだページに記載が見つからない
Webhook 外 → Dify ワークフローの「Webhook Trigger」 外のシステムが送るリクエスト 記載が見つからない(URLの作り直しも同様)
プラグイン 外 → Dify 「Integrations」 プラグインごとに違う 外せるのは、ワークスペースのオーナーと管理者だけ(手順の記載は見つからない)

連携1:モデル提供会社(OpenAI など)をつなぐ

05のFと同じ画面です。公式の「Model Providers」のページの手順を、連携の見方で並べます。

手順

  1. 「Integrations」→「Model Provider」を開きます(ワークスペースのオーナーと管理者だけ)。
  2. 入っていないプロバイダーは、「Install model providers」か Marketplace から入れます。
  3. カードの「Setup」で、APIキーなどを入れます。Dify が確かめてから、使えるようにします。
  4. Dify Cloud のクレジット(AI credits)の対象のモデルは、キーなしで使えます。キーを入れた場合は、「Usage Priority」で、キーとクレジットのどちらを先に使うかを決めます。
  5. 既定のモデルは「Default Models」で決めます(System Reasoning、Embedding、Rerank、Speech-to-Text、Text-to-Speech)。

渡るデータ

外し方と確認点

連携2:外のMCPサーバーを Dify に取り込む(Dify がMCPクライアントになる)

公式の「Dify Tools」のページの手順です。

手順

  1. 「Integrations」→「Tools」で、MCPサーバーを足します。公式は、対象は HTTP のトランスポートのサーバーだけと書いています。標準入出力(stdio)で動くサーバーの扱いは、そのページには書かれていませんでした。
  2. 次の3つを入れます。
項目 公式の説明
Server URL サーバーのアドレス
Name 表示名
Server identifier アプリがそのサーバーを参照するための、固有のID
  1. 認証を決めます。
  2. 「Dynamic Client Registration」は、既定でオンです。サーバーが対応していれば、そのまま使い、Dify が OAuth の資格情報を自動で取ります。
  3. 対応していない、または既存のOAuthアプリを使うときは、オフにして、「Client ID」と「Client Secret」を入れ、Dify が画面に出すリダイレクトURLを、OAuthアプリに登録します。
  4. 固定の鍵が要るサーバーには、「Custom Headers」を使います。公式の例は、名前 Authorization、値 Bearer <token> です。
  5. 呼び出す人ごとに別の鍵を渡したいときは、値に {{request.headers.X-Custom-Auth}} のような動的な値を使えます。Dify が、起点のHTTPリクエストの、そのヘッダーの値に置き換えます。リクエストにそのヘッダーがなければ、空になります。起点のHTTPリクエストがない実行では、プレースホルダーが、置き換えられずにそのまま送られる、と書かれています。
  6. 必要なときだけ、「Timeouts」を変えます(リクエストのタイムアウト、SSE の読み取りのタイムアウト)。
  7. あとでサーバーの最新のツールを取り込み直すときは、ツール一覧を更新します。使っているツールが消えたり変わったりすると、アプリが壊れることがある、と公式は書いています。

アプリやエージェントに使わせる

公式のページは、ツールの置き場として、ワークフロー/チャットフローのツールノードか Agent ノード(Classic Agent)、Agent アプリのツール設定、旧型のAgentアプリのツール設定を挙げています。細かい手順は、そのページには書かれていませんでした。新しい Agent では、「Configure」の「Tools」に、MCPサーバーも入れられます(06の場面4)。

渡るデータ

外し方と確認点

連携3:ワークフローとOpenAPIをツールにする

連携4:DifyのアプリをMCPサーバーにして、ClaudeやCursorから使う

公式の「MCP Server」(公開)のページの手順です。これは、外のAIが、Dify のアプリを「ツール」として呼ぶ向きです。

手順(Dify側)

  1. アプリを開き、「Access Point」のタブへ進みます。
  2. 「MCP Server」のカードを探します。初期状態は無効(disabled by default)です。
  3. オンにすると、アプリごとに固有のMCPサーバーのアドレスができます。
  4. そのアドレスは、認証の資格情報を含むので、公式は「APIキーのように」扱うよう書いています。
  5. ツールの説明と、入力パラメーターの説明は、具体的に書きます。AIが、呼ぶかどうか、どう呼ぶかを決める材料になるためです。公式の例は、「何かのデータ」のような曖昧な書き方でなく、「必須の項目を持つ、ユーザープロファイルのJSONオブジェクト」のような書き方でした。

手順(Claude Desktop 側、公式のページの記載)

  1. Claude のプロフィールから、「Settings」→「Integrations」→「Add integration」へ進みます。
  2. 「Integration URL」を、Dify のアプリのサーバーのURLに置き換えます。
  3. 公式のページの記載は、この短い経路だけです。Claude 側の画面は変わるので、Claude の公式の説明で確かめてください(今回読んでいません)。

手順(Cursor 側、公式のページの記載)

プロジェクトのルートの .cursor/mcp.json を作るか、編集します。公式のページの形は次のとおりです(公式の例の写し)。

{
  "mcpServers": {
    "your-server-name": {
      "url": "your-server-url"
    }
  }
}

your-server-name は好きな名前、your-server-url は、Dify の「MCP Server」のアドレスです。Dify のアプリを増やすときは、mcpServers に、項目を足します。公式のページは、Cursor が自動で検出する、と書いています。

渡るデータ

外し方

うまくいかないときの確認点

確認すること 内容
アプリが公開されているか MCPのページに、公開が前提かの記載は見つかりませんでした。06の公開(Publish)が済んでいるか、画面で確認してください
どの種類のアプリが対象か 公式のページに記載が見つかりませんでした
URLの貼り間違い regenerate したあとは、古いURLが使えない
応答の遅さ アプリの処理時間は、クライアント側にも見える。公式は、進捗の表示や、複雑なワークフローを小さく分けることを挙げています
呼ばれ方が悪い ツールと入力パラメーターの説明を具体的にする

連携5:difyctl とAIエージェント(Claude Code、Codex など)

公式の difyctl のページの手順です。エージェントが、シェルのコマンドとして difyctl を動かし、Dify のアプリを呼ぶ形です。

公式の仕組みの説明

手順

  1. 入れる:05のGの手順で、difyctl を入れ、difyctl version で確かめます。
  2. サインインする(Cloud):公式のクイックスタートの手順です。
difyctl auth login --host https://cloud.dify.ai
difyctl auth login --host https://cloud.dify.ai --no-browser
difyctl auth whoami
difyctl get app
difyctl run app 0a1b2c3d-4e5f-6789-abcd-ef0123456789 "What are your business hours?"
difyctl run app 7f3e9a2b-1c4d-4e8f-9a0b-2d5c8e1f4a7b --inputs '{"topic":"quarterly report","audience":"executives"}'
エージェント 公式の記載
スキルを読むもの(Claude Code、Codex など) difyctl skills install で、スキルの SKILL.md を書き込む
スキルを読まないもの システムプロンプトや指示に、公式の例の文を足す。例は「difyctl help -o json --compact でコマンドを一覧し、必要なものを difyctl help <path> -o json で調べてから実行する」という趣旨

スキルの入れ方(公式の記載)

目的 コマンド
下見(何も書かない) difyctl skills install
検出したすべてのエージェントに書く difyctl skills install --yes
1つのエージェントに書く difyctl skills install --agent <name> --yes
ディレクトリを指定して書く difyctl skills install <dir> --yes
書かずに表示 --stdout(公式のページは、フラグの名前だけ書いていて、例はない)

権限と渡るデータ

外し方

うまくいかないときの確認点

症状 公式の記載から読める原因・確認点
コマンドが終了コード4で失敗 サインインしたセッションがない、または期限切れ。サインインし直す
エージェントが difyctl を使わない スキルが入っていない、またはエージェントの設定ディレクトリがなく、検出されなかった。エージェントを一度起動してから、再度インストール
サンドボックスのエージェントが動かない シェルのないエージェントの扱いは、公式の概要ページには書かれていない(公式で確認できていない)。difyctl は、シェルのコマンドとして動かす前提
セルフホストで、サインインできない OPENAPI_ENABLED と ENABLE_OAUTH_BEARER の両方を true にする
バージョンが合わない サーバーの DIFY_VERSION に合う difyctl を入れる

連携6:API で、自分のプログラムやAIから呼ぶ

公式の「API Get Started」のページの内容です。

手順

  1. ベースのURL:Dify Cloud は https://api.dify.ai/v1、セルフホストは、自分のインスタンスのAPIのURLです。
  2. キーを作る:アプリのキーは、アプリの中で作ります(メニューの経路は、そのページに書かれていませんでした)。ナレッジのキーは、「Knowledge」の右上の「Service API」で作ります。
  3. 認証:Authorization: Bearer $DIFY_API_KEY の形で送ります。
  4. 動作の確認(公式の例):
curl https://api.dify.ai/v1/info \
  -H "Authorization: Bearer $DIFY_API_KEY"

キーの種類

キー 範囲
アプリのキー 1つのアプリだけ。1つのキーで、そのアプリの全利用者に対応する。利用者を区別するには、user の値を渡す
絞ったナレッジのキー 選んだナレッジだけ
全アクセスのナレッジのキー すべてのナレッジに届く

渡るデータ・注意

連携7:Webhook で、外のシステムから Dify のワークフローを起動する

公式の「Webhook Trigger」のページの内容です。手順の細部は06の場面7にあります。ここでは連携の観点だけを置きます。

連携8:プラグイン(Integrations)

公式の「Integrations (Plugins)」のページの内容です。

この記事の案:組み合わせの例

ここは、公式のページに書かれた機能を、この記事で組み合わせた案です。動作は確かめていません。画面の表記は、手元の画面と照らしてください。

案 組み合わせ 使う連携
1. ClaudeからDifyの「社内FAQ」アプリを呼ぶ 06の場面2・3でナレッジ入りのチャットフローを作る → 公開 → 「MCP Server」をオン → Claude Desktop に、URLを入れる 連携4
2. CursorからDifyのワークフローを呼ぶ ワークフローを公開 → 「MCP Server」をオン → .cursor/mcp.json に追加 連携4
3. Claude Code に、Difyのアプリを使わせる difyctl を入れる → サインイン → difyctl skills install で SKILL.md を書き込む → エージェントに、アプリの一覧と実行を任せる 連携5
4. 外のMCPサーバーの道具を、Difyのアプリで使う 連携2で取り込み → ワークフローのツールノードか、Agent の「Tools」に足す 連携2
5. 外のシステムの通知で、Difyのワークフローを動かす 「Webhook Trigger」を置く → 外のシステムに、本番のURLを設定 連携7

案の注意:案1・2でMCPのURLを使う前に、06の公開が済んでいるか、画面で確かめてください。案3では、サインインに使うアカウントの権限が、そのままエージェントの権限になります。

気をつけること

出典