n8nの公式 Instance-level MCPをセルフホスト環境で試す

n8nの公式 Instance-level MCPをセルフホスト環境で試す

2026.05.01

はじめに

https://x.com/n8n_io/status/2049855705172128213

今回紹介するのは、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は以前の記事でも試していましたね。

https://dev.classmethod.jp/articles/cad77bdd86d5bc7b0c2b4ab239f90341c278629a/

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」をクリックします。
管理者権限がないとこの設定画面自体が表示されません。

スクリーンショット 2026-05-01 13.33.40

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

スクリーンショット 2026-05-01 13.35.49

スクリーンショット 2026-05-01 13.36.14

Step 2:Access Token を発行

認証方式は OAuth2 と Access Token の2択です。OAuth2 はクライアントが n8n にリダイレクトして認可するフローで、Claude Desktop のような GUI クライアント向けです。Claude Code のような CLI ツールからは Access Token の方がシンプルに設定できるので、今回はこちらを使います。

「Connection details」ボタンから「Access Token」タブを開きます。

初回アクセス時にトークンが自動生成されています。
次回以降は伏字表示になり、コピーボタンも無効化されます。
トークンを紛失した場合は再生成できますが、旧トークンは即時失効します。
接続済みのクライアントをすべて更新する必要があります。

スクリーンショット 2026-05-01 14.03.10

Step 3:ワークフローを公開

デフォルトではどのワークフローも MCP に公開されていません。
ワークフローごとに個別に有効化する必要があります。

公開方法は3つありますが、一番手っ取り早いのはワークフローエディタからです。

  1. 右上の ... メニューを開く
  2. Settings を選択
  3. Available in MCP をトグルオン

スクリーンショット 2026-05-01 14.25.03

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

スクリーンショット 2026-05-01 14.26.28

説明文を添えておくと 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 コマンドを実行し、ツール一覧が表示されれば接続成功です。

スクリーンショット 2026-05-01 16.03.02

実際に使ってみる

スクリーンショット 2026-05-01 16.08.18

ツールは25個ありました。

事例1:既存ワークフローの一覧取得と実行

プロンプト: 今使えるワークフローは?

スクリーンショット 2026-05-01 16.12.09

現在サーバー側で登録されているリストを取得してくれました。

プロンプろ: では実行できるものは?

スクリーンショット 2026-05-01 16.15.48

Instance-level MCPに公開したものをmcp経由で実行できると教えてくれますね。

プロンプト: ではMCP直接実行できるワークフローを実行して

実行してみましょう。

スクリーンショット 2026-05-01 16.20.07

実行してくれますね。

スクリーンショット 2026-05-01 16.20.56

サーバーの方にもちゃんとログは残っていました。

事例2:新規ワークフローの構築

以下のお題で作ってもらいます。

次の内容のワークフローを作成してください。                                                             

RSSフィードを取得してSlackに通知します。                                                               
RSSはZennのhttps://zenn.dev/topics/zenn/feed を使って。

スクリーンショット 2026-05-01 16.29.41

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

スクリーンショット 2026-05-01 16.31.35

中を確認してみます。

スクリーンショット 2026-05-01 16.32.56

Zenn RSS フィード監視 — https://zenn.dev/topics/zenn/feed を1時間ごとにポーリング
スクリーンショット 2026-05-01 16.34.31

良さそうですね。

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

スクリーンショット 2026-05-01 16.35.52

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

スクリーンショット 2026-05-01 16.37.15

変わってる。ヨシ。

では最後に実行させてみます。

スクリーンショット 2026-05-01 16.40.46

RSS Feed Triggerは直接実行できないため、Manual Triggerを追加して実行できるよう修正します。

このままではmcp経由で実行できないからこのように修正をして実行されました。

スクリーンショット 2026-05-01 16.41.53

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

スクリーンショット 2026-05-01 16.43.41

注意点

トークン管理はユーザー責任

Access Token は個人のアカウントに紐付いています。そのトークン経由の操作はすべてそのユーザーとして扱われます。
チームで使うなら、誰がどのトークンを持っているかを把握しておく必要があります。

クライアント単位のスコープ分離はない

「このクライアントにはこのワークフローだけ」という設定はできません。
MCP に公開したワークフローは接続中の全クライアントから見えます。
何を公開するかは意識的に選ぶ必要があります。

おわりに

この機能はコミュニティでも待ち望んでいる人が多く、私自身もやっと公式のものがやってきたのでとても嬉しいですね。
ユーザーは手動での作業を大幅に削減できるようになると思います。AIとの対話でできますしね。

今回は簡単なワークフローを作ったので、そんなに作成では詰まることはなかったですが、
今後は複雑なワークフローの作成もこのmcpで試していきたいと思います。

この記事をシェアする

関連記事