
n8nの公式 Instance-level MCPをセルフホスト環境で試す
はじめに
今回紹介するのは、n8n 本体に組み込まれた公式の「Instance-level MCP」です。
何ができるかというと、Claude Code などの AI クライアントから n8n インスタンスに
直接接続して、ワークフローの検索・実行・新規作成・編集をチャットで操作できます。
ワークフロー構築機能は v2.14.0 から追加され、公式が推奨するバージョンは v2.18.5 以上。
Docker Compose環境でひととおり試したので、設定手順と実際の動作をまとめます。
n8nのMCPは2種類ある
n8nのMCP機能には2種類あります。混同しやすいので最初に整理します。
| Instance-level MCP(今回) | MCP Server Trigger ノード | |
|---|---|---|
| 公開単位 | インスタンス単位 | ワークフロー単位 |
| 認証方式 | OAuth2 / Access Token | 任意(自前実装) |
| 主な用途 | ワークフロー管理・構築全般 | 特定ツールの公開 |
| 設定の手間 | インスタンス設定で一元管理 | ワークフローごとに設計が必要 |
使い分けはシンプルで、すでに動いているワークフローを AI から操作したいなら
Instance-level MCP、特定のワークフローを独自ツールとして MCP に公開したいなら
MCP Server Trigger ノードです。
MCP Server Triggerは以前の記事でも試していましたね。
Instance-level MCP でできること
接続した AI クライアントから使えるツールは3カテゴリです。
- ワークフロー管理:ワークフローの検索、詳細取得、実行
- ワークフロー構築:新規作成、既存の編集(v2.14.0〜)
- データテーブル操作:n8n のデータテーブルの読み書き
ひとつ頭に入れておきたい制約があります。MCP に公開するワークフローは
インスタンス全体で共通です。クライアントごとのスコープ分離はなく、
接続しているクライアントは全員同じワークフロー群を見ています。
セルフホスト環境での設定してみる
Claude Codeから接続するためにn8n側の設定をしていきます。
前提環境
- n8n v2.18.5(Docker Compose)
- インスタンスオーナーまたは管理者権限のアカウントで有効の設定
- ユーザー権限のアカウントも用意
Step 1:MCP 機能を有効化
Settings > Instance-level MCP を開き、「Enable MCP access」をクリックします。
管理者権限がないとこの設定画面自体が表示されません。

有効化すると、公開中のワークフロー一覧・接続済み OAuth クライアント一覧・
Connection details ボタンが表示されます。


Step 2:Access Token を発行
認証方式は OAuth2 と Access Token の2択です。OAuth2 はクライアントが n8n にリダイレクトして認可するフローで、Claude Desktop のような GUI クライアント向けです。Claude Code のような CLI ツールからは Access Token の方がシンプルに設定できるので、今回はこちらを使います。
「Connection details」ボタンから「Access Token」タブを開きます。
初回アクセス時にトークンが自動生成されています。
次回以降は伏字表示になり、コピーボタンも無効化されます。
トークンを紛失した場合は再生成できますが、旧トークンは即時失効します。
接続済みのクライアントをすべて更新する必要があります。

Step 3:ワークフローを公開
デフォルトではどのワークフローも MCP に公開されていません。
ワークフローごとに個別に有効化する必要があります。
公開方法は3つありますが、一番手っ取り早いのはワークフローエディタからです。
- 右上の
...メニューを開く - Settings を選択
- Available in MCP をトグルオン

Instance-level MCPの画面で有効にしたワークフローが表示されるようになりました。

説明文を添えておくと AI クライアントがワークフローを正確に識別しやすくなります。
Settings > Instance-level MCP の Workflows タブから後から編集できます。
Step 4(セルフホスト固有):リバースプロキシの確認
nginx や Cloudflare Tunnel を挟んでいる場合、Authorization ヘッダーが
透過されているかを確認してください。Bearer トークンがプロキシ側で落とされると
認証エラーになります。
MCP 機能を完全に無効化したいときは N8N_DISABLED_MODULES=mcp を環境変数に
設定すれば MCP エンドポイントと関連 UI がまるごと消えます。
Claude Code への接続
トークンをシェル履歴にも設定ファイルにも残さずに渡す方法を n8n 公式 YouTube 動画で紹介されていたものをそのまま参考にしています。
Step 1:claude.json にプレースホルダーを書く
以下のコマンドでclaude codeに登録する。
claude mcp add --transport http n8n-mcp \
https://<your-n8n-domain>/mcp-server/http \
--header "Authorization: Bearer N8N_MCP_TOKEN"
もしくは、設定ファイルにプレースホルダーを記述しておきます。
{
"mcpServers": {
"n8n-mcp": {
"type": "http",
"url": "https://<your-n8n-domain>/mcp-server/http",
"headers": {
"Authorization": "Bearer N8N_MCP_TOKEN"
}
}
}
}
Step 2:ターミナルでトークンを安全に注入
以下のコマンドをターミナルに貼り付けて実行します。
read -r -s "?Paste n8n access token: " TOKEN && \
printf '\n' && \
TOKEN="$TOKEN" perl -0pi -e 's/N8N_MCP_TOKEN/$ENV{TOKEN}/once' \
~/.claude.json && \
unset TOKEN
実行するとトークンの入力を求められます。n8n の Settings > Instance-level MCP > Connection details からコピーしたトークンを貼り付けて Enter を押します。
セキュリティの都合上、貼り付けたトークンはターミナルに表示されません。表示されなくても正常です。そのまま Enter を押してください。
これでプレースホルダーが実際のトークンに置き換えられます。read -r -s を使っているのでシェル履歴にもトークンは残りません。
Step 3:接続確認
Claude Code を起動して /mcp コマンドを実行し、ツール一覧が表示されれば接続成功です。

実際に使ってみる

ツールは25個ありました。
事例1:既存ワークフローの一覧取得と実行
プロンプト: 今使えるワークフローは?

現在サーバー側で登録されているリストを取得してくれました。
プロンプろ: では実行できるものは?

Instance-level MCPに公開したものをmcp経由で実行できると教えてくれますね。
プロンプト: ではMCP直接実行できるワークフローを実行して
実行してみましょう。

実行してくれますね。

サーバーの方にもちゃんとログは残っていました。
事例2:新規ワークフローの構築
以下のお題で作ってもらいます。
次の内容のワークフローを作成してください。
RSSフィードを取得してSlackに通知します。
RSSはZennのhttps://zenn.dev/topics/zenn/feed を使って。

結構雑な指示でしたが作ってくれたようです。

中を確認してみます。

Zenn RSS フィード監視 — https://zenn.dev/topics/zenn/feed を1時間ごとにポーリング

良さそうですね。
slackの通知先がgeneralだったので変えてもらいましょう。

これぐらいなら迷わずにやってくれるみたいですね。

変わってる。ヨシ。
では最後に実行させてみます。

RSS Feed Triggerは直接実行できないため、Manual Triggerを追加して実行できるよう修正します。
このままではmcp経由で実行できないからこのように修正をして実行されました。

Slackにも無事通知されることを確認できましたね。

注意点
トークン管理はユーザー責任
Access Token は個人のアカウントに紐付いています。そのトークン経由の操作はすべてそのユーザーとして扱われます。
チームで使うなら、誰がどのトークンを持っているかを把握しておく必要があります。
クライアント単位のスコープ分離はない
「このクライアントにはこのワークフローだけ」という設定はできません。
何を公開するかは意識的に選ぶ必要があります。
MCP に公開したワークフローは接続中の全クライアントから見えます。
ユーザー単位のスコープは n8n の通常の権限設定(プロジェクト・ロール)に従います。
アクセス権のないワークフローは MCP からも見えません。
おわりに
この機能はコミュニティでも待ち望んでいる人が多く、私自身もやっと公式のものがやってきたのでとても嬉しいですね。
ユーザーは手動での作業を大幅に削減できるようになると思います。AIとの対話でできますしね。
今回は簡単なワークフローを作ったので、そんなに作成では詰まることはなかったですが、
今後は複雑なワークフローの作成もこのmcpで試していきたいと思います。










