3行でいうと
- 外のAIからn8nを呼ぶ入り口は2つ。インスタンス全体を1つのMCPサーバーとして出す「Instance-level MCP」(Settings から有効化)と、1本のワークフローのツールだけ出す「MCP Server Trigger」ノードです。
- インスタンスレベルのMCPは、有効にしても、ワークフローは1本ずつ「Available in MCP」にしないと中身は見えません。公式は、クライアントごとに見せるワークフローを分けられない、と書いています。
- 認証は、OAuth(公式が recommended と書く)と、APIキー(個人のアクセストークン)の2通りです。OAuthでつないだクライアントは「Connected clients」から「Revoke access」で外せます。
- この記事は、使って確かめた記録ではありません。画面や設定名は版で変わり、MCPの設定画面は2.33.0以降の形です。
この記事は、公式の資料を2026年10月25日に読んでまとめたものです。この記事は、実際に使って確かめた記録ではありません。手順は「公式の手順を順に並べたもの」で、設定例は「公式の例(要約を介して取得したため、全文は公式ページで確認)」か、「公式の記載に合わせて、この記事で組んだ例(動作は確かめていません)」のどちらかを、そのつど書きます。システムに設定や権限を登録する操作は、原文を見て写すようにしてください。画面の表記は版によって変わるので、手元の画面と照らして読んでください。
先に結論
- 2つの入り口は、役割が違います。 公式は、インスタンスレベルのMCPを「インスタンスに1つの接続、認証の一元化、有効にするワークフローの選択」、MCP Server Triggerを「1本のワークフローの中で、そのワークフローのツールだけ出す」ものと説明しています。
- MCPを有効にする人は、オーナーか管理者です。 「Settings > Instance-level MCP」で「Enable MCP access」を選びます。
- 認証は、OAuth(公式が recommended と書く)と、APIキー(個人のアクセストークン)の2通りです。
- 「何も公開されていない」が出発点です。 公式は、インスタンスで有効にしたうえで、ワークフローやエージェントを1つずつ有効にする、と書いています。例外が、ワークフローの「プレビュー」を返す
search_workflowsです。
前提:用語をそろえる
- MCP(Model Context Protocol):AIのツールが、外のデータや機能につながるための共通の規格です。
- MCPサーバー/クライアント:機能を出す側がサーバー、使う側がクライアントです。この記事では、n8nが「サーバー」になります(Claude CodeやCursorがクライアント)。
- OAuth:画面で「許可する」を押して、つなぐ許可を出す方式です。
- Bearerトークン:HTTPのヘッダー
Authorization: Bearer <トークン>で渡す、合言葉の文字列です。 - SSE/ストリーミングHTTP:サーバーからクライアントへ、つなぎっぱなしで流す通信方式です。
- リバースプロキシ:n8nの前に置く、中継のサーバーです。HTTPSを受けて、n8nに渡します。
- コールバックURL:OAuthで、許可のあとにブラウザーが戻る先のURLです。
- オーナー/管理者:n8nで、インスタンスの設定を変えられる権限の人です。
連携の地図
| 連携 | 向き | n8nの側の設定 | 認証 | 節 |
|---|---|---|---|---|
| Instance-level MCP | 外のAI → n8n | Settings > Instance-level MCP | OAuth/APIキー | I |
| MCP Server Trigger | 外のAI → n8nの1本のワークフロー | ワークフローにノードを置いて公開 | None/Bearer auth/Header auth | J |
I:インスタンスレベルのMCPサーバー(外のAIが、n8nを呼ぶ)
公式の「Connect to n8n MCP server」の記述です。Cloudとセルフホストの両方に当てはまります。プランやエディションごとの可否は、読んだページには書かれていませんでした。
I-1. 版の目安(公式の本文の記述から)
| 版 | 変更 |
|---|---|
| 2.2.0 | 「Workflows enabled」のページと「Enable workflows」ボタン(当時は「Workflows exposed」) |
| 2.13.0 | クライアントが、ワークフローを作る・編集することも可能に |
| 2.24.0 | プロジェクト・フォルダー単位のMCPアクセス制御 |
| 2.33.0 | 「Connection details」「Access」「Connected clients」の設定画面、「Connect a client」のダイアログ、「Allowed callback URLs」 |
| 2.34.0 | MCPクライアントからエージェントを管理 |
| 2.36.0 | 「Auto-expose new workflows」が順次提供 |
| 2.42.0 | 「Workflows exposed」が「Workflows enabled」に改名 |
2.33.0より前は、設定ページが簡素で、クライアントごとの手順がありません。その場合は、公式の「MCP client connection examples」の手動の設定を使う、と書かれています。
I-2. 有効にする
- オーナーか管理者でログインする。
- 「Settings > Instance-level MCP」を開く。
- 「Enable MCP access」を選ぶ。
有効にすると、3つのセクションが出ます。「Connection details」(「MCP status」と「Connect」ボタン)、「Access」(公開しているワークフロー[とエージェント]の数。オーナーと管理者は「Allowed callback URLs」も)、「Connected clients」(つないだクライアントを最大3件プレビュー)。
無効にするには、「Connection details」の「MCP status」で「Disable」を選び、確認します。すべてのクライアントが切れ、アクセスが取り消されます。あとで再び有効にできます。セルフホストでは、N8N_DISABLED_MODULES=mcp で、MCPのエンドポイントと関連のUIを、まるごと外せます(公式の記述)。
I-3. クライアントをつなぐ:OAuth
- 「Settings > Instance-level MCP」で「Connect」を選ぶ。「Connect a client」のダイアログが開く。
- 「OAuth (recommended)」のタブで、「Your client」から選ぶ。クライアントの分類は、CLI(Claude Code、Codex、Gemini CLI)、Web(Claude.ai、ChatGPT、Mistral Vibe)、IDE(Cursor、VS Code、Windsurf)。
- 種類ごとの続き:
- Webのクライアント:「One-click setup」を選ぶか、「Server URL」をコピーして、クライアントのコネクターの設定に入れる。
- CLIのクライアント:表示されたインストールのコマンドを実行するか、設定ファイルに設定の断片を足す。最後に「Authenticate」の手順。
- IDEのクライアント:エディターが対応していれば、ワンクリックのリンクを使う。そうでなければ、「Server URL」と設定の断片を自分で入れる。
- クライアントから、n8nに戻されたら、アクセスを承認する。
サーバーのURLは、/mcp-server/http で終わります(公式の記述)。公式の例のプレースホルダー <your-n8n-domain> は、https:// を除いたドメインです。素のHTTPで動かす場合(たとえば http://localhost:5678)は、http:// を使います。
I-4. クライアントごとの設定(公式の「MCP client connection examples」)
以下は、公式の例です。要約を介して取得したため、書き写して使う前に、公式ページの原文と照らしてください。<your-n8n-domain> と <YOUR_N8N_MCP_TOKEN> は、公式のプレースホルダーです。
| クライアント | OAuthの方法(公式の例) | APIトークンの方法 |
|---|---|---|
| Claude Desktop | 「Settings > Connectors」で「Add custom connector」を選び、名前を n8n MCP、「Remote MCP Server URL」を https://<your-n8n-domain>/mcp-server/http にして保存し、承認する |
claude_desktop_config.json に、npx で外部のパッケージ supergateway を起動する設定を書く(--streamableHttp にURL、--header に Authorization:Bearer <トークン>)。JSONの全文は公式ページで確認(要約では、外側の { } が欠けて取得された) |
| Claude Code | claude mcp add --transport http n8n https://<your-n8n-domain>/mcp-server/http を実行し、Claude Codeの中で /mcp を実行して「n8n」を選び、認証する |
claude mcp add --transport http n8n-mcp https://<your-n8n-domain>/mcp-server/http --header "Authorization: Bearer <YOUR_N8N_MCP_TOKEN>" |
| Codex CLI | codex mcp add n8n --url "https://<your-n8n-domain>/mcp-server/http" のあと codex mcp login n8n |
~/.codex/config.toml の [mcp_servers.n8n-mcp] に url と http_headers(authorization に Bearer <トークン>)を書く |
| Gemini CLI | gemini mcp add --transport http n8n https://<your-n8n-domain>/mcp-server/http のあと、Gemini CLIで /mcp を実行して「n8n」を選び、認証する。設定ファイルは ~/.gemini/settings.json の mcpServers.n8n.httpUrl |
公式の例に、トークンの方法は示されていない |
| Cursor | 「Connect a client」で「Cursor」を選び、「One-click setup」。手動は ~/.cursor/mcp.json かプロジェクトの .cursor/mcp.json に、type が streamable-http、url がサーバーのURL |
示されていない |
| VS Code | 「VS Code」を選び「One-click setup」。手動は .vscode/mcp.json の servers.n8n(type が http、url) |
示されていない |
| Windsurf | ~/.codeium/windsurf/mcp_config.json に mcpServers.n8n.serverUrl(キーが serverUrl で、ほかの url、httpUrl と違う)。初回の接続で、n8nに戻されて承認 |
示されていない |
Claude Codeの設定ファイルの例(公式の記述の要点)は、mcpServers の下に、名前(n8n)、type が http、url がサーバーのURL、という形です。公式の表記は、ファイル名を claude.json としています。Claude Code側の実際の置き場所は、Claude Codeの説明で確かめてください。
I-5. クライアントをつなぐ:APIキー
- 「Connect a client」で「API key」のタブに切り替える。
- 初めて開くと、n8nが、自分のユーザーに紐づく個人のアクセストークンを自動で作る。
- 「Configuration JSON」のブロック(サーバーのURLと
Authorization: Bearerのヘッダーが入っている)をコピーするか、「Server URL」とトークンを別々にコピーする(CodexのTOMLのように形式が違うクライアント向け)。 - クライアントの設定に貼る。このタブは、クライアントごとの内容ではありません。
タブを離れると、トークンは伏せ字だけになり、もう一度コピーできません。作り直す(rotate)と、前のトークンはすぐ無効になります。使っているクライアントすべてを、新しい値に更新する必要があります。APIキーでつないだクライアントは、「Connected clients」の一覧に出ません。
I-6. 見せるワークフローを選ぶ
search_workflows は、ユーザーが見られるすべてのワークフローの「プレビュー」を返します。ワークフローの全データの読み取り、実行、変更は、ワークフローを有効にしたものだけです。
| 方法 | 手順(公式) |
|---|---|
| 「Workflows enabled」のページ | 「Settings > Instance-level MCP」>「Workflows enabled」>「Enable workflows」。名前や説明で探して選び、「Enable」 |
| エディターから | ワークフローを開き、右上の「Workflow menu」(...)>「Settings」>「Available in MCP」をオン |
| ワークフローの一覧 | ワークフローのカードのメニューから「Enable MCP access」 |
| プロジェクト・フォルダー(2.24.0以降) | プロジェクトやフォルダーの「Workflows」から、名前の横の「Options」>「Manage MCP access」>「Enable MCP」か「Disable MCP」。そのときある分だけに効き、あとから作るものには効かない |
| 新しいワークフローを自動で(2.36.0から順次) | 「Settings > Instance-level MCP」で「Auto-expose new workflows」をオン。既定はオフ。オーナーと管理者だけが変えられる |
また、ワークフローの「説明」は、クライアントがワークフローを見分けるために使われます。「Workflows enabled」のページの「Edit description」か、エディターの「Workflow menu」>「Edit description」で付けます。
エージェント(Preview)も、「Agents exposed」から別に有効にします。エージェントは、公式がPreviewと書き、変わりうるとしています。
I-7. つないだクライアントを確認し、取り消す
- 「Settings > Instance-level MCP」を開く。
- 「Connected clients」で、クライアントを選んで詳細を見るか、「View all」で一覧を見る。
- 「Revoke access」を選び、確認する。クライアントはすぐに切れ、再び使うには、つなぎ直してサインインが要る。
各クライアントは、つなぐときに許可された権限だけをもつ、と書かれています(たとえば、読むだけで、作ったり動かしたりはできない)。「all-users」の表示に切り替えると、ほかのユーザーのクライアントも見られる、と書かれています。どの役割が使えるかは、読んだページに明記がありません。
I-8. OAuthのコールバックURLを絞る
既定では、n8nは、どのコールバックURLも受け付けます(公式は「less secure」と書く)。オーナーと管理者は、次の手順で絞れます。
- 「Settings > Instance-level MCP」。
- 「Access」で「Allowed callback URLs」を選ぶ。
- 「All callback URLs」か「Only trusted URLs」を選ぶ。
- 後者なら、信頼するURLを1つずつ入れて「Save」。
I-9. 渡るデータと、見える範囲
- クライアントは、有効にしたワークフローを、見つけ、動かし、テストし、作り、編集できます。データテーブルも扱えます(公式の概要)。
- 公式は、アクセスは「インスタンス全体」で、特定のクライアントにだけ特定のワークフローを見せることはできない、と書いています。
- 見えるのは、そのユーザーに権限があり、MCPを有効にしたワークフローです。
- 多くのツールは、公開前(下書き)のワークフローにも動きます。
execute_workflowについて、公式の「Connect to n8n MCP server」は、既定は本番(公開した版)で、manualにすると公開前の今の版が動く、と書いています。一方、ツール一覧のページは、executionModeが必須で既定はなく、manualは今の版、productionは公開した版(公開済みであること)と書いています。2つのページで書き方が違うので、手元の版で確かめてください。 list_credentialsは、秘密のデータを返しません。get_workflow_detailsは、認証情報をidとnameに絞って返します(公式のツール一覧)。- ツールの例:
search_workflows(最大200件)、get_workflow_details、execute_workflow、test_workflow、publish_workflow、unpublish_workflow、search_workflow_executions、list_credentials、ワークフローを作るsearch_nodes、get_node_typesなど。execute_workflowは、複数ステップのフォームや、人の確認が要る流れに対応していません。 - 2.34.0で、ツールの名前がいくつか変わっています(たとえば
get_executionがget_workflow_executionに)。
I-10. うまくいかないときの確認点(公式の記述から)
| 症状 | 確認すること |
|---|---|
| Web・クラウド側のクライアントがつながらない | n8nのインスタンスが、インターネットから届くか |
| 認証のときに「You do not have sufficient permissions to authorize this request」 | インスタンスでMCPが無効。オーナーか管理者に有効にしてもらい、つなぎ直す |
| クライアントが、ワークフローを実行・編集できない | ワークフローが「Available in MCP」か。MCPが有効か |
| クライアントが接続に失敗する、古いプロトコルに落ちる | リバースプロキシ、ロードバランサー、WAFが、MCPのリクエストのヘッダーを落としていないか。許可リストに MCP-Protocol-Version、Mcp-Method、Mcp-Name を入れる |
| つながらない原因が分からない | n8nのサーバーのログで、MCPの接続エラーを見る |
J:MCP Server Trigger(1本のワークフローを、外に出す)
公式の「MCP Server Trigger」の記述です。n8nを、MCPサーバーにするトリガーのノードです。普通のトリガーと違い、出力を次のノードに渡さず、つないだ「ツール」のノードだけを動かします。
J-1. 手順
- 新しいワークフローに、「MCP Server Trigger」を足す。
- ノードに、ツールのノードを足す。ワークフローを出したいときは、「Custom n8n Workflow Tool」のノードで付ける(06の「Call n8n Workflow Tool」とは、公式のページで呼び名が違います。同じものかは、公式の記述では確認できていません)。
- 「Authentication」を選ぶ:「None」「Bearer auth」「Header auth」。認証情報の項目は、HTTP Requestの認証情報に準じる(Bearerは「Bearer Token」、Headerは「Name」と「Value」)。
- 「Path」:既定は、ほかのMCP Server Triggerと衝突しない、ランダムな文字列。自分で決めることもできる。
- 「Test URL」と「Production URL」の切り替えで、2つのMCPのURLを見る。
- Test URL:「Listen for Test Event」か「Execute workflow」で(ワークフローが有効でないとき)登録される。呼び出しは、エディターに表示される。
- Production URL:ワークフローを公開すると登録される。データはエディターに出ず、「Executions」のタブで見る。
- クライアントに、MCPのURLを教える。
対応する通信方式は、SSEとストリーミングHTTPで、標準入出力(stdio)には対応していません。
J-2. Claude Desktopから使う公式の例
公式は、SSEを標準入出力のサーバーに変換する外部のパッケージ mcp-remote を、npx で動かす形を示しています。設定は、mcpServers の下に名前(公式の例は n8n)、command を npx、args に mcp-remote、MCPのURL、--header、Authorization: Bearer ${AUTH_TOKEN} を並べ、env に AUTH_TOKEN としてトークンを入れる形です。JSONの全文は、公式ページで確認してください。公式の要約を取得した際、${AUTH_TOKEN} が args の中で展開されるかは、ページに書かれていないと注記されました。うまくいかないときは、公式やmcp-remoteの説明で確かめる必要があります。mcp-remoteは、n8nの外のパッケージで、作った人は、読んだ範囲では確認できていません。
J-3. 注意(公式の記述)
- claude.aiのカスタムコネクタは、認証が「None」でも、n8nへのサインインを求めることがある。claude.aiだけがこうなる、と書かれている。
- キューモードで、Webhook用のレプリカが複数あるときは、
/mcp*のリクエストを、MCP専用の1つのレプリカに集める設定が要る。そうしないと、SSEやストリーミングHTTPの接続が壊れることがある(公式の記述)。 - リバースプロキシ(nginxなど)の後ろでは、MCPのパスで、バッファリングを切る(
proxy_buffering off)、gzipを切る(gzip off)、チャンク転送を切る(chunked_transfer_encoding off)、Connectionヘッダーを空にする(proxy_set_header Connection '')、proxy_http_version 1.1が要る。公式の例はlocation /mcp/ { ... }のブロックです。全文は公式ページで確認してください。
J-4. 外し方
ワークフローの公開を外す(「Publish」の隣の矢印から、または「Workflows」の一覧から)と、本番のURLは使えなくなる、という読みになりますが、公式のMCP Server Triggerのページに、公開を外したときの動きの明記は見つかりませんでした。確実に止めるには、認証を付ける、ノードを消す、といった操作があります(ノードの操作は06の場面2)。
渡るデータの整理(外から呼ぶ向き)
| つなぎ方 | n8nから出るもの | 公式の記述 |
|---|---|---|
| Instance-levelのMCP | 有効にしたワークフローの内容、実行の結果、ワークフローのプレビュー、認証情報の id と name |
秘密の値は返らない。権限は、つないだユーザー本人のもの。クライアントごとの出し分けはできない |
| MCP Server Trigger | つないだツールの出力 | 認証が「None」なら、URLを知る人は誰でも呼べる(公式のノードの説明から) |
外し方の整理
| 対象 | 外し方(公式の記述) |
|---|---|
| インスタンスレベルのMCP全体 | 「MCP status」で「Disable」。セルフホストは N8N_DISABLED_MODULES=mcp |
| 1つのクライアント(OAuth) | 「Connected clients」で「Revoke access」 |
| APIキーでつないだクライアント | トークンを作り直す(rotate)と、前のものはすぐ無効 |
| 1本のワークフロー | 「Available in MCP」をオフ、または「Disable MCP access」 |
| MCP Server Trigger | 公開を外す、またはノードを消す。公開を外したときのURLの動きは、読んだページに明記が見つかりませんでした |
気をつけること
- この記事は、実際に使って確かめた記録ではありません。公式の資料を読んだ範囲です。
- MCPの設定画面は、2.33.0以降の形です。ツールの名前は2.34.0で複数が改名されています。自分の版で確かめてください。
- 「Auto-expose new workflows」は、公式が「順次提供」と書き、すべてのインスタンスに出ていない可能性があります。
supergatewayとmcp-remoteは、npxで取ってくる外部のパッケージです。公式の資料では、誰が作ったかを確認できていません。- Claude Codeなどの設定ファイルの置き場所は、公式の表記と、各クライアントの説明が一致しないことがあります。クライアント側の説明で確かめてください。
- Webhook、Slack、セルフホストの設定は、続きの09にあります。
- 規約や契約の解釈は、必要なら専門家や公式に確認してください。この記事は法律の助言ではありません。
出典
- Connect to n8n MCP server(n8n Docs、確認日 2026-10-25)
- MCP client connection examples(n8n Docs、確認日 2026-10-25)
- MCP server tools reference(n8n Docs、確認日 2026-10-25)
- MCP Server Trigger(n8n Docs、確認日 2026-10-25)
- Save and publish workflows(n8n Docs、確認日 2026-10-25)
- Configure workflow settings(n8n Docs、確認日 2026-10-25)