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

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とは?ユーザーが知っておくべき最小限の知識

深い仕様は不要です。
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つの連携パターン

n8nとMCPの連携には方向が2つあります。
| パターン | n8nの役割 | 用途 |
|---|---|---|
| パターン1 | MCPサーバー | AIクライアント(Claude Desktop等)からn8nワークフローを呼ぶ |
| パターン2 | MCPクライアント | 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でも問題なく動作します。
設定手順です。
- ワークフローを新規作成
- トリガーとして **MCP Server Trigger** を追加
- 認証方式を選択(本番では **Bearer Token** 推奨)
- MCP Server Triggerにツールノードを接続
- ワークフローを **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`
{
"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` に以下を追加します。
{
"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で新規ワークフローを作成し、以下のノードを配置します。
- MCP Server Trigger — 認証: Bearer Token
- 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` を編集します。
{
"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が動的に発見・呼び出しできます。
設定手順です。
- AI Agentノードを配置
- AI Agentのツールコネクタに **MCP Client Tool** を接続
- MCP Client Toolに外部MCPサーバーのSSE/Streamable HTTPエンドポイントを設定
- 認証情報を設定(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 Tool | n8n公式ノード | ワークフローの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の設定に注意が必要です。
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にできることが増える

n8nをMCPサーバーにする。やってみると、これは単なる技術連携ではありませんでした。
「AIエージェントのバックエンド」という新しい役割がn8nに加わった、ということです。
ワークフローを1つ追加するたびに、Claude DesktopやCursorから呼べるツールが1つ増えます。
Slack通知、カレンダー登録、データベース更新——n8nで自動化できるものは、全部AIツールにできます。
まずはMCP Server Triggerで1つワークフローを公開して、Claude Desktopから呼んでみてください。
「これ全部つながるのか」という感覚は、手を動かさないと得られません。
n8nの日本語化がまだの方は、UIが見やすくなるので先に済ませておくのもおすすめです。
参考になれば幸いです。
