n8n × MCP連携ガイド|Claude DesktopからワークフローをAIツール化する方法

eye 1 21

n8nがAIエージェントのバックエンドになった日

02 31

Claude Desktopに「Slackの#generalに『今日のデプロイ完了』と投げて」と打ちました。

3秒後、Slackに通知が届きます。

裏で動いたのはn8nのワークフローです。

Webhookではありません。

n8n MCPサーバー経由で、Claude DesktopがAIツールとしてワークフローを呼んでいます。

正直、初めて動いたときは声が出ました。

「これ、ワークフロー増やすだけでAIにできること増えるじゃん」と。

この記事では、n8nをDocker Composeでセルフホストしている環境を前提に、n8n MCPサーバーとしてワークフローを公開し、Claude DesktopやCursorから呼び出す全手順を解説します。

まだn8nを触ったことがない方は、先にn8nの基本的な使い方と概要をどうぞ。

n8n MCPとは?ユーザーが知っておくべき最小限の知識

03 30

深い仕様は不要です。

n8nで使うために知っておくべきことだけ書きます。

MCP(Model Context Protocol)は、AIアプリと外部ツールをつなぐ共通プロトコルです。

Anthropicが2024年11月に発表しました。よく「AIのUSB-C」と例えられます。

ポイントは2つだけ。

  • MCPサーバー: ツール(機能)を公開する側。今回のn8nがこれ
  • MCPクライアント: ツールを呼ぶ側。Claude DesktopやCursorがこれ

Webhookとの違いは「ツールの発見」です。

MCPクライアントはサーバーに「何ができる?」と聞けます。Claude Desktopは接続したn8nのワークフロー一覧を自動で取得し、ユーザーの指示に応じて適切なワークフローを選んで実行してくれます。

Webhookだと「このURLにこのJSONを投げて」とURLを覚えている必要がありました。

MCPなら、AIがツールを発見して自分で判断して呼ぶ。ここが決定的に違います。

n8n × MCPの2つの連携パターン

04 29

n8nとMCPの連携には方向が2つあります。

パターンn8nの役割用途
パターン1MCPサーバーAIクライアント(Claude Desktop等)からn8nワークフローを呼ぶ
パターン2MCPクライアントn8nのAI Agentノードから外部MCPサーバーを呼ぶ

本記事のメインはパターン1です。パターン2も後半で触れます。

パターン1:n8nをMCPサーバーにする(MCP Server Trigger)

MCP Server Triggerノードの設定

n8n v1.88.0(2025年4月)でMCP Server Triggerノードが追加されました。

現在のv2.8.3でも問題なく動作します。

設定手順です。

  1. ワークフローを新規作成
  2. トリガーとして **MCP Server Trigger** を追加
  3. 認証方式を選択(本番では **Bearer Token** 推奨)
  4. MCP Server Triggerにツールノードを接続
  5. ワークフローを **Activate**(公開)

MCP Server Triggerノードの設定項目は以下の通りです。

  • Path: MCPエンドポイントのパス(ランダム生成、カスタマイズ可)
  • Authentication: `None` / `Bearer Token` / `Header Auth`
  • Transport: SSE(レガシー) / Streamable HTTP(推奨)

ポイントは、MCP Server Triggerに接続されたツールノードだけがMCPツールとして公開されるということです。

ワークフロー全体ではなく、接続したノードが「AIから呼べるツール」になります。

SSE vs Streamable HTTP

n8nは2つのトランスポートをサポートしています。

  • SSE(Server-Sent Events): 初期からの方式。長時間接続を維持。現在は非推奨
  • Streamable HTTP: 新しい推奨方式。SSEの後継で、より効率的

ぶっちゃけ、Claude Desktop接続では`mcp-remote`経由になるので、体感差はほぼありません。

ただ、公式がStreamable HTTPを推奨しているので、新規構築なら素直に従っておくのが無難です。

Claude Desktopから接続する

ここが最大のハマりポイントです。

Claude DesktopはSTDIOトランスポートしかネイティブサポートしていません。

n8nのSSE/Streamable HTTPベースのMCPサーバーに直接接続できないのです。

解決策は `mcp-remote` です。STDIOとSSEをブリッジしてくれるnpmパッケージで、これを挟むことで接続が通ります。

`claude_desktop_config.json` を編集します。

macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`

Windows: `C:\Users\USERNAME\AppData\Roaming\Claude\claude_desktop_config.json`

json
{

"mcpServers": {

"n8n-workflows": {

"command": "npx",

"args": [

"mcp-remote@latest",

"https://your-n8n-domain.com/mcp/your-mcp-path/sse",

"--header",

"Authorization: Bearer ${AUTH_TOKEN}"

],

"env": {

"AUTH_TOKEN": "ここにn8nで設定したBearerトークンを入れる"

}

}

}

}

URLの形式は `https://your-n8n-domain.com/mcp/{path}/sse` です。

`{path}` はMCP Server Triggerノードの設定画面で確認できます。

設定後、Claude Desktopを再起動してください。ツール一覧にn8nのワークフローが表示されれば成功です。

Cursorから接続する

CursorはSSEへの直接接続をサポートしています。

`mcp-remote`は不要です。

プロジェクトルートの `.cursor/mcp.json` に以下を追加します。

json
{

"mcpServers": {

"n8n-workflows": {

"url": "https://your-n8n-domain.com/mcp/your-mcp-path/sse",

"headers": {

"Authorization": "Bearer your-token-here"

}

}

}

}

Cursorの Settings > MCP からも追加できます。

実践レシピ:Slack通知ワークフローをn8n MCP経由で公開

手を動かしましょう。

Slack通知ワークフローをMCPツールとしてClaude Desktopから呼べるようにします。

Step 1: ワークフローを作る

n8nで新規ワークフローを作成し、以下のノードを配置します。

  1. MCP Server Trigger — 認証: Bearer Token
  2. Slack – Send Message — MCP Server Triggerのツールコネクタに接続

Slackノードの設定で、チャンネルとメッセージを「入力パラメータ」として受け取るようにします。

MCP Server Triggerに接続されたSlackノードは、クライアントが渡すパラメータ(channel、message)をそのまま受け取れます。

Step 2: ワークフローを公開する

右上の Publish を押しましょう。これでProduction URLが有効化されます。

MCP Server Triggerノードをクリックすると、Production URLが表示されます。

この中の `/mcp/{path}/sse` 部分をメモしてください。

Step 3: Claude Desktopに接続する

`claude_desktop_config.json` を編集します。

json
{

"mcpServers": {

"n8n-slack": {

"command": "npx",

"args": [

"mcp-remote@latest",

"https://your-n8n-domain.com/mcp/your-mcp-path/sse",

"--header",

"Authorization: Bearer ${N8N_MCP_TOKEN}"

],

"env": {

"N8N_MCP_TOKEN": "your-bearer-token"

}

}

}

}

Claude Desktopを再起動します。

Step 4: 動作確認

Claude Desktopで以下のように入力します。

Slackの#generalチャンネルに「MCP連携テスト成功!」と送って

Claude Desktopがn8n MCPサーバーのSlackツールを検出し、確認ダイアログが表示されます。

許可すると、n8nのワークフローが実行されてSlackにメッセージが届きます。

ここまで、30分もかかりません。

パターン2:n8nからMCPサーバーを呼ぶ(MCP Client)

逆方向の連携です。

n8n側がMCPクライアントとなり、外部のMCPサーバーを呼びます。

AI Agentノード × MCP Client Toolの組み合わせ

n8nには MCP Client Tool ノードがあります。

これをAI Agentノードのツールとして接続すると、外部MCPサーバーのツールをLLMが動的に発見・呼び出しできます。

設定手順です。

  1. AI Agentノードを配置
  2. AI Agentのツールコネクタに **MCP Client Tool** を接続
  3. MCP Client Toolに外部MCPサーバーのSSE/Streamable HTTPエンドポイントを設定
  4. 認証情報を設定(Bearer Token / Header Auth / OAuth2)

これにより、n8nのワークフロー内でLLMが外部MCPサーバーのツールを使えるようになります。

n8nとDifyの比較記事でも触れた「AIエージェント」の機能が、MCPでさらに拡張される形です。

ちなみに、AI Agentノードを経由しない MCP Client(スタンドアロン) ノードもあります。

`List Tools`(ツール一覧取得)と`Execute Tool`(ツール実行)の2つのオペレーションで、ワークフロー内の任意のステップから直接MCPサーバーを呼べます。

AI Agentを介さずにMCPサーバーを呼びたい場面では、こちらのほうが軽量です。

注意:公式ノードとサードパーティの違い

ここ、まじで混同しやすいので整理します。

名前種類機能
MCP Server Trigger / MCP Client Tooln8n公式ノードワークフローのMCPサーバー化 / MCPクライアント
n8n-nodes-mcpコミュニティノードSTDIOトランスポート対応のMCPクライアント(公式はSSE/Streamable HTTPのみ)
n8n-mcp外部npmパッケージn8n APIを操作してワークフローを自然言語で作成・管理する

日本語の解説記事でもこの3つを混同しているものが少なくありません。この記事で解説しているのは **公式ノード** です。`n8n-mcp`はn8nのワークフローを「実行する」のではなく「作成・管理する」ためのツールなので、目的が根本から違います。

補足:Instance-level MCP(Beta)

n8n v1.120以降では、インスタンス全体を1つのMCPサーバーとして公開できる Instance-level MCP 機能がベータ提供されています。

ワークフローごとにMCP Server Triggerを設定する必要がなく、単一の接続で複数ワークフローをまとめて公開できます。

ただし、ベータ段階のため仕様変更の可能性があります。

また、接続クライアント間のスコープ分離が未実装(全クライアントが同じワークフロー群を参照)という制約もあるため、本番導入は慎重に判断してください。

セキュリティと本番運用のポイント

VPSでn8nをセルフホストしている場合、MCPエンドポイントの公開にはセキュリティ対策が必須です。

認証は必ず設定する

当たり前ですが、本番で `Authentication: None` は絶対にダメです。

Bearer Tokenを設定し、トークンは環境変数で管理してください。定期的なローテーションも忘れずに。

nginxリバースプロキシの設定

SSE/Streamable HTTPを通すには、nginxの設定に注意が必要です。

nginx
location /mcp/ {

proxy_pass http://localhost:5678;

proxy_http_version 1.1;

proxy_buffering off;

gzip off;

chunked_transfer_encoding off;

proxy_set_header Connection '';

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_read_timeout 86400s;

proxy_send_timeout 86400s;

}

`proxy_buffering off`、`gzip off`、`chunked_transfer_encoding off` の3つが揃っていないとSSEが正常に動きません。

ここでハマる人、本当に多いです。

Cloudflare Tunnelの活用

ポートを開放せずにMCPエンドポイントを公開したいなら、Cloudflare Tunnel + Zero Trustが有効です。

UIとMCPエンドポイントでサブドメインを分離すれば、それぞれ異なるセキュリティポリシーを適用できます。

IPホワイトリスト

自分しか使わないなら、ファイアウォールで接続元IPを制限するのが最もシンプルです。

まとめ:ワークフローを増やす=AIにできることが増える

01 1 18

n8nをMCPサーバーにする。やってみると、これは単なる技術連携ではありませんでした。

「AIエージェントのバックエンド」という新しい役割がn8nに加わった、ということです。

ワークフローを1つ追加するたびに、Claude DesktopやCursorから呼べるツールが1つ増えます。

Slack通知、カレンダー登録、データベース更新——n8nで自動化できるものは、全部AIツールにできます。

まずはMCP Server Triggerで1つワークフローを公開して、Claude Desktopから呼んでみてください。

「これ全部つながるのか」という感覚は、手を動かさないと得られません。

n8nの日本語化がまだの方は、UIが見やすくなるので先に済ませておくのもおすすめです。

参考になれば幸いです。