メインコンテンツまでスキップ

n8n MCP サーバーへのアクセス

n8n に内蔵された MCP サーバーを使用して、対応している MCP クライアントをあなたの n8n ワークフローに接続できます。

このサーバーにより、Lovable や Claude Desktop などのクライアントが n8n インスタンスに安全に接続できるようになります。接続後、これらのクライアントは以下の操作を行えます:

  • MCP 利用可能としてマークされたワークフローを検索
  • ワークフローのメタデータおよびトリガー情報を取得
  • MCP 向けに有効化されたワークフローをトリガーして実行

インスタンスレベルの MCP アクセスと「MCP Server Trigger」ノードの違い

インスタンスレベルの MCP アクセスでは、各 n8n インスタンスにつき1つの接続を作成し、一元的な認証を使ってどのワークフローを MCP に公開するかを選択できます。有効化されたワークフローは、個別に設定することなく簡単に検索・実行できます。

一方、「MCP Server Trigger」ノードは単一のワークフロー内で設定されます。このノードはそのワークフロー内のツールのみを MCP に公開します。特定のワークフロー内でカスタマイズされた MCP サーバー動作を実現したい場合に便利です。

インスタンスレベルの MCP アクセスを利用する際の重要な注意点

  • これは AI クライアント経由でワークフローを構築・編集する方法ではありません。ワークフローの作成は引き続き n8n 内で行ってください。
  • インスタンス内のすべてのワークフローが自動的に公開されるわけではありません。まずインスタンスレベルで MCP を有効化し、その後各ワークフローごとに個別に有効化する必要があります。
  • MCP クライアントごとのアクセス制御はできません。接続済みのどのクライアントも、あなたが MCP アクセス用に有効化したすべてのワークフローを閲覧できます。

MCP アクセスの有効化

Cloud およびセルフホストインスタンス向け

  1. 設定 > インスタンスレベルの MCP に移動
  2. MCP アクセスを有効化 を切り替え(インスタンス所有者または管理者権限が必要)

enable-mcp-access.png

有効化後、以下が表示されます:

  1. MCP クライアントに公開されているワークフローの一覧
  2. 接続済みの OAuth 2.0 クライアントの一覧
  3. インスタンスレベルのアクセスを有効/無効にするための主 MCP スイッチ
  4. 「接続詳細」 ボタン(クリックすると MCP クライアントの接続手順が表示される)

mcp_page_content.png

無効化方法: 主 MCP スイッチをオフにするだけです。

セルフホストユーザー向け:完全に無効化する方法

この機能を完全に削除するには、以下の環境変数を設定してください:

N8N_DISABLED_MODULES=mcp

これにより MCP エンドポイントが削除され、関連するすべての UI 要素が非表示になります。

MCP 認証の設定

「接続詳細」 ポップアップメニューでは、MCP クライアント向けに以下の2種類の認証オプションが提供されています:

  • OAuth 2.0
  • アクセストークン(Access Token)

mcp_connect_menu.png

OAuth 2.0 の使用

OAuth タブからインスタンスのサーバー URL をコピーし、MCP クライアントの設定に使用してください。接続後、クライアントは n8n への認可のためにリダイレクトされます。

クライアントアクセスの取り消し

接続済みの MCP クライアントのアクセスを削除するには:

  1. 設定 > インスタンスレベルの MCP に移動
  2. 接続済みクライアント タブに切り替え、接続済み OAuth 2.0 クライアントの一覧を表示
  3. 各クライアント行のアクションメニューから、特定クライアントの接続を解除

mcp_revoke_client_access.png

アクセストークンの使用

インスタンスのサーバー URL と、「接続詳細」 メニューの アクセストークン タブから取得した個人用 MCP アクセストークンを使用します。

MCP アクセスページ に初めてアクセスすると、n8n は自動的にあなたのユーザーアカウントに紐づいた個人用 MCP アクセストークンを生成します。

重要: トークンは画面に一度しか表示されません。必ず今すぐコピーしてください。次回以降のアクセスではマスクされた値しか表示されず、コピーボタンも無効になります。

トークンのローテーション

トークンを紛失した場合や新しいトークンが必要な場合は:

  1. 設定 > インスタンスレベルの MCP に移動
  2. 右上のボタンをクリックして 「接続詳細」 メニューを開く
  3. アクセストークン タブに切り替える
  4. マスクされたトークン値の横にあるボタンをクリックして新規トークンを生成

新規トークンを生成すると、n8n は以前のトークンを無効化します。

  1. 新しいトークンの値をすべての接続済み MCP クライアントに反映させてください。

mcp_rotate_token.png

ワークフローを MCP クライアントに公開する

ワークフローの要件

MCP クライアントからアクセス可能なワークフローは、以下の条件を満たしている必要があります:

  1. 公開(Publish)済みであること
  2. 以下のいずれかのトリガーノードを含んでいること:
    • Webhook
    • Schedule(スケジュール)
    • Chat(チャット)
    • Form(フォーム)

※「公開」とは、n8n 上でワークフローを「公開」状態にすることを指します。「MCP に公開」とは異なります。

デフォルトでは、どのワークフローも MCP クライアントからは見えません。公開したい対象のワークフローそれぞれについて、明示的に MCP 向けに有効化する必要があります。

ワークフローの要件評価は、n8n が公開済みバージョンのみを対象に行います。ワークフローの下書きバージョンでサポート対象のトリガーを追加しても、そのバージョンが公開されるまでは要件を満たしているとは見なされません。

注意
ワークフローの公開を解除すると、n8n はそのワークフローの MCP アクセスを自動的に削除します。再度公開した場合、アクセスを再び有効化する必要があります。

アクセスの有効化

方法1:MCP 設定ページから(n8n v2.2.0 以降で利用可能)

  1. ワークフローを有効化 ボタンをクリック(ワークフローテーブルのヘッダーまたは空の状態で表示)
  2. 対象のワークフローを検索(名前または説明で)、リストから選択
  3. 有効化 ボタンをクリックして確定

方法2:ワークフローエディターから

  1. ワークフローを開く
  2. 右上のワークフローメインメニュー(...)をクリック
  3. 設定 を選択
  4. MCP で利用可能 を切り替え

方法3:ワークフローリストから

  1. ワークフロー に移動
  2. ワークフローカードのメニューを開く
  3. MCP アクセスを有効化 を選択

アクセスの管理

インスタンスレベルの MCP 設定ページには、MCP クライアントに利用可能なすべてのワークフローが表示されます。このリストから以下の操作が可能です:

  • ワークフロー、そのプロジェクト、または親フォルダーを直接開く
  • アクションメニューからアクセスを削除(またはワークフローカードメニューの MCP アクセスを無効化 を使用)
  • アクションメニューからワークフローの説明を更新(またはワークフローエディターのメニューを使用)
  • ワークフローを有効化 ボタンを使って、さらに多くのワークフローのアクセスを有効化(n8n v2.2.0 以降で利用可能)

ワークフローの説明

MCP クライアントがワークフローを識別しやすくするために、自由形式のテキスト説明を追加できます:

  1. 方法1:インスタンスレベルの MCP ページから
    1. 設定 > インスタンスレベルの MCP に移動
    2. ワークフロー タブにいることを確認
    3. 対象ワークフロー行のアクションメニューから 説明を編集 を選択
    4. または、説明テキストを直接クリックして編集ダイアログを開く
  2. 方法2:ワークフローエディターから
    1. ワークフローを開く
    2. 右上のワークフローメインメニュー(...)をクリック
    3. 説明を編集 を選択

mcp_workflow_description.png

MCP クライアントによるワークフローの実行

MCP クライアントは、あなたのリクエストに基づいて条件を満たしたワークフローを実行できます。クライアントがワークフローをトリガーすると、通常通り n8n 内で実行され、実行履歴 リストでその実行状況を監視できます。実行完了後、結果が MCP クライアントに返されます。

入力データの提供

MCP クライアントは通常、ワークフローに必要な入力を評価できます。Webhook トリガーを使用していて、クライアントが正しい入力を特定できない場合は、ワークフローの説明にその情報を記載することをお勧めします。

ワークフローのタイムアウト

n8n は MCP クライアントによってトリガーされたワークフロー実行に対して、5分の強制タイムアウトを適用します。ワークフローがタイムアウトまでに完了しなかった場合、n8n は実行を停止し、MCP クライアントにエラーを送信します。この際、ワークフロー設定で MCP トリガー実行用に指定したタイムアウト時間は無視されます。

制限事項

  • ワークフローに複数のサポート対象トリガーが含まれている場合、MCP クライアントはそのうち1つ(最初のもの)のみを使用できる可能性があります。
  • 複数ステップにわたるフォームや、ユーザー操作・承認など人的介入を必要とするワークフローの実行はサポートされていません。
  • バイナリ入力データはサポートされておらず、MCP クライアントはテキストベースの入力のみをワークフローに提供できます。

Lovable を n8n MCP サーバーに接続する

  1. Lovable で MCP サーバー(OAuth 2.0)を設定
    • ワークスペースの 設定 > インテグレーション に移動
    • MCP Servers セクションで n8n を見つけ、Connect をクリック
    • n8n サーバーの URL を入力(MCP アクセス ページに表示)
    • 接続を保存。成功すれば、n8n が Lovable の認可のためにリダイレクトします
  2. 接続を確認
    • 接続後、Lovable は MCP アクセスが有効化されたワークフローを照会可能
    • : Lovable に「ユーザー一覧を表示し、削除を可能にする」ワークフローを実行させること。

Claude Desktop を n8n MCP サーバーに接続する

OAuth 2.0 を使用する場合
  1. Claude Desktop で 設定 > コネクタ に移動
  2. カスタムコネクタを追加 をクリック
  3. 以下の詳細を入力:
    • 名前: n8n MCP
    • リモート MCP サーバー URL: n8n のベース URL(インスタンスレベルの MCP ページに表示)
  4. コネクタを保存
  5. プロンプトが表示されたら、Claude Desktop が n8n インスタンスにアクセスすることを許可
アクセストークンを使用する場合

注意
この操作には最新版の Node.js が必要です。

claude_desktop_config.json ファイルに以下のエントリを追加:

{
"mcpServers": {
"n8n-mcp": {
"command": "npx",
"args": [
"-y",
"supergateway",
"--streamableHttp",
"https://<YOUR_N8N_HOST>/mcp-server/http",
"--header",
"authorization: Bearer <YOUR_TOKEN>"
]
}
}
}

以下のプレースホルダーを置き換えてください:

  • <YOUR_N8N_HOST>:n8n のベース URL(インスタンスレベルの MCP ページに表示)
  • <YOUR_TOKEN>:生成したトークン

Claude Code を n8n MCP サーバーに接続する

以下の CLI コマンドを使用:

claude mcp add --transport http n8n-mcp https://<YOUR_N8N_HOST>/mcp-server/http \
--header "Authorization: Bearer <YOUR_TOKEN>"

または、claude.json ファイルに以下のエントリを追加(上記の説明に従ってプレースホルダーを置き換え)。

Codex CLI を n8n MCP サーバーに接続する

~/.codex/config.toml ファイルに以下のエントリを追加:

[mcp_servers.n8n_mcp]
command = "npx"
args = [
"-y",
"supergateway",
"--streamableHttp",
"https://<YOUR_N8N_HOST>/mcp-server/http",
"--header",
"authorization:Bearer <YOUR_TOKEN>"
]

(n8n のベース URL と生成したトークンで対応するプレースホルダーを置き換えてください。)

Google ADK エージェントを n8n MCP サーバーに接続する

リモート n8n MCP サーバーに接続するエージェントを作成するサンプルコード:

from google.adk.agents import Agent
from google.adk.tools.mcp_tool import McpToolset
from google.adk.tools.mcp_tool.mcp_session_manager import StreamableHTTPServerParams

N8N_INSTANCE_URL = "https://localhost:5678"
N8N_MCP_TOKEN = "YOUR_N8N_MCP_TOKEN"

root_agent = Agent(
model="gemini-2.5-pro",
name="n8n_agent",
instruction="Help users manage and execute workflows in n8n",
tools=[
McpToolset(
connection_params=StreamableHTTPServerParams(
url=f"{N8N_INSTANCE_URL}/mcp-server/http",
headers={"Authorization": f"Bearer {N8N_MCP_TOKEN}"},
),
)
],
)

詳細については、Connect ADK agent to n8n を参照してください。

トラブルシューティング

MCP クライアントを n8n インスタンスに接続する際に問題が発生した場合は、以下の点を確認してください:

  • クラウドベースの MCP クライアントを使用している場合、n8n インスタンスがパブリックにアクセス可能であることを確認
  • n8n 設定で MCP アクセスが有効になっていることを確認
  • アクセスしたいワークフローが MCP で利用可能としてマークされていることを確認
  • MCP クライアントでの認証方法(OAuth 2.0 またはアクセストークン)が正しく設定されていることを確認
  • n8n サーバーログを確認し、MCP 接続に関連するエラーメッセージがないかチェック
  • デスクトップ版 MCP クライアントを使用している場合、最新版の Node.js がインストールされていることを確認