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

n8n MCP サーバーにアクセス

n8n 内蔵の MCP サーバーを使って、対応する MCP クライアントを n8n のワークフローに接続できます。

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

  • MCP で利用可能としてマークされたワークフローを検索する
  • ワークフローのメタデータとトリガー情報を取得する
  • MCP へのアクセスが有効化されたワークフローをトリガーして実行する

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

インスタンスレベルの MCP アクセスでは、各 n8n インスタンスに対して 1 つの接続を作成でき、一元化された認証を利用し、どのワークフローをアクセス可能にするかを選択できます。有効化したワークフローは、ワークフローごとに個別設定しなくても簡単に見つけて実行できます。

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

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

  • これは AI クライアントを使ってワークフローを構築または編集するための仕組みではありません。ワークフローの作成は引き続き n8n 上で行います。
  • インスタンス内のすべてのワークフローが公開されるわけではありません。まずインスタンスレベルで MCP を有効にし、その後各ワークフローごとに個別に有効化する必要があります。
  • 対象範囲は MCP クライアントごとには分かれていません。接続済みのどのクライアントからも、MCP アクセス用に有効化されたすべてのワークフローが表示されます。

MCP アクセスを有効にする

Cloud とセルフホストインスタンス向け

  1. 設定 > インスタンスレベル MCP に移動します。
  2. MCP アクセスを有効化 をオンにします(インスタンス所有者または管理者権限が必要です)。

enable-mcp-access.png

有効化すると、以下が表示されます。

  1. MCP クライアントに公開されているワークフローの一覧
  2. 接続済み OAuth クライアントの一覧
  3. インスタンスレベルアクセスを有効または無効にするメインスイッチ
  4. MCP クライアント接続の詳細手順を表示する 接続詳細 ボタン

mcp_page_content.png

無効化: メインの MCP スイッチをオフにします。

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

この機能を完全に削除するには、以下の環境変数を設定します。

N8N_DISABLED_MODULES=mcp

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

MCP 認証を設定する

接続詳細 メニューでは、MCP クライアント向けに 2 つの認証オプションが提供されます。

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

mcp_connect_menu.png

OAuth2 を使用する

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

クライアントアクセスを取り消す

接続済みの MCP クライアントのアクセス権を取り消すには、次の手順に従います。

  1. 設定 > インスタンスレベル MCP に移動します。
  2. 接続済みクライアント タブに切り替えると、接続済み OAuth クライアントのテーブルが表示されます。
  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. 公開済みである
  2. 次のいずれかのトリガーノードを含んでいる
    • Webhook
    • Schedule(スケジュール)
    • Chat(チャット)
    • Form(フォーム)

デフォルトでは、MCP クライアントから見えるワークフローは 1 つもありません。MCP クライアントに利用可能にしたい対象ワークフローごとに、明示的にアクセスを有効化する必要があります。

ワークフローの適格性を評価する際、n8n は公開済みバージョンのみを対象にします。ドラフト版で対応トリガーが追加されていても、そのバージョンが公開されるまでは、MCP アクセスの対象とは見なされません。

注意

ワークフローの公開を解除すると、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)を設定します。
    • ワークスペースの 設定 > インテグレーション に移動します。
    • MCP Servers セクションで n8n を見つけ、Connect をクリックします。
    • n8n サーバー URL(MCP アクセス ページに表示されます)を入力します。
    • 接続を保存します。成功すると、n8n にリダイレクトされて Lovable の認可を行います。
  2. 接続を確認します。
    • 接続後、Lovable は MCP アクセスが有効化されたワークフローを検索できます。
    • 例: ユーザー一覧を表示し、ユーザー削除もできるワークフロー用 UI を Lovable に作成させます。

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

OAuth2 を使用する
  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 クライアント側の認証方式(OAuth2 またはアクセストークン)が正しく設定されていることを確認してください。
  • n8n サーバーのログを確認し、MCP 接続に関連するエラーがないかを調べてください。
  • デスクトップ版の MCP クライアントを使用している場合は、最新バージョンの Node.js がインストールされていることを確認してください。