0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

n8n MCPを繋いだら、ワークフローをターミナルから作れるようになった

0
Last updated at Posted at 2026-04-09

n8nのWebUIを開くのが、地味にしんどい。

ワークフローが25本を超えたあたりから、ブラウザでポチポチやるのが苦痛になってきた。ノードをドラッグして、設定画面を開いて、JSONを手で貼って、テスト実行ボタンを押して——1本のWFを修正するのに、画面遷移だけで5回は必要になる。

ある晩、npx n8n-mcp という1行を見つけた。n8nの公式MCP。Claude Codeから直接n8nを操作できるらしい。

試した。世界が変わった。

n8n MCPとは何か

n8nが公式に提供するMCPサーバーだ。Claude Code、Cursor、その他MCP対応ツールからn8nのAPIを叩ける。インストールはnpx一発。

できることは大きく分けてこのあたり:

カテゴリ ツール やること
WF管理 list / get / create / update / delete ワークフローのCRUD
実行 test / executions テスト実行・実行履歴の取得
バージョン workflow_versions 変更履歴の管理
修正 autofix エラーの自動修正
検証 validate WF構造の検証
テンプレ search_templates / deploy_template 公式テンプレートの検索・デプロイ

全部で21ツール。正直、WebUIでやっていたことの8割はカバーされている。

セットアップ

Claude Codeの設定ファイル(.claude/settings.json)にMCPサーバーとして追加する。

{
  "mcpServers": {
    "n8n-mcp": {
      "command": "npx",
      "args": ["-y", "n8n-mcp"],
      "env": {
        "N8N_BASE_URL": "https://your-n8n-instance.example.com",
        "N8N_API_KEY": "n8n_api_xxxxxxxxxxxxxxxx"
      }
    }
  }
}

APIキーはn8nの Settings → API で生成する。VPS上のn8nなら、URLはそのVPSのドメインかIPを指定する。ローカルで動かしているなら http://localhost:5678 だ。

設定したらClaude Codeを再起動するだけ。npxが自動でパッケージを取得してくれるので、事前インストールは不要。

最初にハマったこと

APIキーを設定したのに接続できない。30分悩んだ。

原因は単純だった。セルフホスト版のn8n側で「API」機能が有効になっていなかった。Docker環境の場合、環境変数に N8N_PUBLIC_API_ENABLED=true を追加する必要がある。n8n cloudを使っている場合はデフォルトで有効なので関係ない。セルフホスト版だけの罠だ。ドキュメントの奥の方に小さく書いてあった。

# docker-compose.yml
environment:
  - N8N_PUBLIC_API_ENABLED=true

これだけで動く。だがこの1行を見つけるまでの30分は返ってこない。

実践:WFの一覧取得と中身の確認

接続できたら、まずは既存WFの確認から。

「n8nのワークフロー一覧を見せて」

これだけでClaude Codeが n8n_list_workflows を叩いて、全WFのID・名前・ステータス(active/inactive)を返してくれる。

特定のWFの中身を見たいときは:

「WF "API監視Bot v2" の詳細を見せて」

ノード構成、接続関係、各ノードの設定値がJSONで返ってくる。WebUIで1ノードずつクリックして確認していたのが、一覧でまるっと見える。

ここで気づいたのだが、WFの全体構造を俯瞰するのは、テキストの方がUIより速い。ノードの接続関係が一目で見えるし、設定値の比較もgrepできる。UIだとノードを1個ずつ開かないと設定値が見えない。まさかテキストの方が「見やすい」とは思わなかった。

実践:WFの作成

新規WFの作成。ここがn8n MCPの真骨頂だ。

「Chatwork APIを5分おきにポーリングして、未読メッセージがあったらSlackに転送するn8n WFを作って」

Claude Codeが以下のような流れで動く:

  1. search_templates でChatwork関連のテンプレートを探す
  2. テンプレートがなければ、 n8n_create_workflow でゼロからWFを組む
  3. 各ノード(Schedule Trigger → HTTP Request → IF → Slack)の設定をJSONで生成
  4. n8n_validate_workflow で構造を検証
  5. n8n_test_workflow でテスト実行

自然言語で「こういうWFが欲しい」と言うだけで、ノードの組み立てからテスト実行まで一気にやってくれる。手でやったら20分かかる作業が、3分で終わる。

作成時の注意点

思うに、ここが一番ハマりやすいポイントだ。

認証情報(Credentials)はMCPから作れない。WF内でHTTP Requestノードを使う場合、APIキーやOAuthトークンはn8nのWebUIから事前に登録しておく必要がある。MCPで作成したWFがCredentialを参照する場合、そのCredential IDを指定する。

つまりフローはこうなる:

[事前準備] WebUIでCredentialを登録 → IDをメモ
     ↓
[MCP] WF作成時にCredential IDを指定

「全部CLIでやりたい」という気持ちはわかる。俺もそう思った。でもCredentialには秘密鍵やトークンが含まれるので、WebUIの暗号化ストレージに入れる方が安全だ。ここは割り切っている。

実践:既存WFの修正とバージョン管理

25本もあると、「あのWFのあのノード、設定値いくつだっけ」が頻発する。

「"エラー通知WF" のHTTP Requestノードのタイムアウト値を30秒から60秒に変更して」

MCPが n8n_get_workflow でWFを取得し、該当ノードの設定を書き換え、n8n_update_full_workflow で保存する。差分だけを変えてくれるので、他のノードに影響しない。

変更前の状態は n8n_workflow_versions で確認できる。n8nにはバージョン管理機能があるので、「3つ前のバージョンに戻して」もできる。gitのように使える。

一括修正が効く

ここからが面白い。正直、これには助かった。

「全WFのHTTP Requestノードで、タイムアウトが10秒以下のものを一覧にして」

こういう横断検索はWebUIでは不可能だ。25本のWFを1本ずつ開いて、ノードを1つずつ確認する——考えただけで帰りたくなる。MCPなら全WFをループで取得して、JSONの中身をフィルタするだけ。5秒で終わる。

同僚のCが「タイムアウト10秒だと夜間バッチで落ちるから全部30秒にしてくれ」と言ったとき、5分で全WFの修正が終わった。WebUIなら1時間コースだった。

実践:テスト実行と実行履歴

修正したWFが正しく動くか確認する。

「"エラー通知WF" をテスト実行して」

n8n_test_workflow が実行され、各ノードの出力がJSONで返ってくる。成功・失敗・スキップの状態がノードごとに見えるので、どこで詰まったかがすぐわかる。

過去の実行履歴も取れる:

「"API監視Bot" の直近10件の実行履歴を見せて」

n8n_executions が実行時刻・ステータス・実行時間を返す。「昨日の夜、3回失敗してるな」が一目でわかる。

テスト実行の落とし穴

一つ注意がある。n8n_test_workflow はWFを実際に実行する。テスト用のモックモードではない。

つまり、Chatworkに通知するWFをテスト実行したら、本当にChatworkにメッセージが飛ぶ。本番のAPIを叩く。最初にこれをやらかして、テスト用のメッセージが本番ルームに投稿された。深夜2時に。

[テスト] n8n MCP動作確認

という投稿を見た同僚が「何事?」とリアクションしてくれた。申し訳ない。

対策は簡単で、テスト用のWFは通知先をテスト用ルームに向けておくか、IFノードで {{ $env.NODE_ENV === 'test' }} のような分岐を入れておく。

autofixが地味に便利

WFを修正した後、構造がおかしくなることがある。ノードの接続が切れていたり、必須パラメータが抜けていたり。

「"エラー通知WF" を検証して、問題があれば自動修正して」

n8n_validate_workflow で問題を検出し、n8n_autofix_workflow で修正する。修正内容はdiffで返してくれるので、「何を直したか」が確認できる。

万能ではない。複雑なロジックの誤りは検出できない。だが、接続の断線やパラメータの型不一致といった「構造的な問題」はほぼ拾ってくれる。ちょっとしたlinterだ。

WebUIとMCPの使い分け

1ヶ月使ってみて、棲み分けが見えてきた。

作業 WebUI MCP
新規WFを「見ながら」組む
既存WFの設定値を修正
全WFの横断検索・一括修正 ×
テスト実行
Credentialの登録 ×(未対応)
ノードの視覚的なデバッグ
バージョン比較

初めて組むWFは、WebUIでノードをドラッグしながら試行錯誤した方が速い。ビジュアルで確認できる安心感がある。

一方、既存WFのメンテナンス——設定変更・横断検索・一括修正・テスト実行——はMCPが圧倒的に速い。WFが増えれば増えるほど、差が開く。

まとめない

正直に言うと、AIの憲法を23,000語で書く人がいる時代に(Amanda Askellの件だ)、ワークフローを手でポチポチ作っているのが急にバカバカしくなった。それがn8n MCPを試したきっかけだった。

25本のWFをCLIから管理できるようになって、n8nの画面を開く頻度は半分以下に減った。「ブラウザを開かずにインフラを操作する」という感覚は、一度味わうと戻れない。

MCPの設定は5分。ハマりポイントは N8N_PUBLIC_API_ENABLED=true の1行。それだけで25本のWFがターミナルから操作できるようになる。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?