中級向け

VPSのn8nにMCPでつなぐ

自分のパソコンではなく、VPS の上で動く n8n に Claude Code を MCP でつなぎました。登録するアドレスと承認の流れ、実際に作って公開して実行結果まで読めたこと、返ってくる情報に名前とメールアドレスが入っていたこと、ツールが51個並んでいたことまで確かめています。

動作確認: — n8n 2.41.6(VPS) / Claude Code 2.1.283(VS Code 拡張) / ConoHa VPS 1GB

Claude Code と n8n を MCP でつなぐ手順は、自分のパソコンで動かしている n8n(localhost)を相手に書きました。 この記事は、その続きです。パソコンの外、VPS の上で動く n8n に、同じように Claude Code から MCP でつなぎます。

先に結論を書くと、つなぎ方はほとんど変わりませんでした。変わるのは次の3点です。

  • 登録するアドレスが、localhost ではなく自分の VPS の https のアドレスになる
  • 承認のとき、ブラウザに出るのはVPS の n8n のログイン画面。ログインできないと進めない
  • n8n が外に見えているので、「誰が何を許可されるか」を考える必要が出る

ここで書いたことは、VPS に n8n を入れる手順で作った n8n で、2026年10月4日に確かめました。

Claude Code手元のパソコンn8nVPS の上(https)1 /mcp-server/http へ接続ログインがまだ → 4012 ブラウザで n8n にログインして「許可」3 許可のあと、ワークフローの作成・公開・実行結果の取得ができる
トークンを貼る場面はない。許可はブラウザで、n8n のアカウントでログインして行う。

登録するアドレス

n8n の MCP の入口は、/mcp-server/http です。VPS の n8n では、次の形になります。

https://<VPS の n8n のアドレス>/mcp-server/http

n8n 側の準備は、ローカルのときと同じです。n8n の Settings に Instance-level MCP という項目があるので、有効にします。

登録前に、外から入口に届くかを確かめました。ログインしていない状態で呼ぶと、401(認証が必要)が返りました。 届いていて、ログインを求められている、という正しい状態です。 このとき、認証の方式は OAuth でした。ブラウザで n8n にログインして許可する形で、トークンをどこかに貼る必要はありません。

claude mcp add が使えなかったので、設定ファイルを直接編集した

ローカルの記事に書いた登録の方法は、次のコマンドです。

claude mcp add --transport http n8n-vps https://<VPS の n8n のアドレス>/mcp-server/http

筆者の環境(VS Code の拡張機能の中で Claude Code を使っています)では、claude コマンドが見つかりませんでした。 そこで、Claude Code の設定ファイル(~/.claude.json)の mcpServers に、同じ内容を直接足しました。

"n8n-vps": { "type": "http", "url": "https://<VPS の n8n のアドレス>/mcp-server/http" }

ブラウザで承認する

Claude Code の入力欄で /mcp を実行して、登録した n8n-vps を選び、認証を始めます。 ブラウザが開いて、VPS の n8n のログイン画面が出ます。

ここで、ログインできないと先へ進めません。筆者は、VPS の n8n のパスワードを忘れていて、この画面で止まりました。 メールでのリセットは、テンプレートにメールの設定がなくて使えません。直し方は手順の記事の最後に書いています。

ログインすると、許可を求める画面が出ます。許可すると、Claude Code に戻って、ツールが使える状態になりました。

つながったあと、実際にやったこと

Claude Code から、次の8つの操作を使いました。

やったこと 使った操作
ワークフローの一覧を見る search_workflows
書き方の参照を読む get_workflow_sdk_reference
コードが正しいか確かめる validate_workflow
ワークフローを作る create_workflow_from_code
公開する publish_workflow
実行の結果を調べる search_workflow_executions、get_workflow_execution
公開を止める unpublish_workflow

作ったのは、「毎日9時38分に動いて、そのときの時刻を記録する」だけのワークフローです。 9時38分15秒(日本時間)に、実際に動きました。 実行の結果は、Claude Code から読めました。

  • ワークフローは、コード(n8n の SDK の書き方)で渡す。先に validate_workflow で確かめてから create_workflow_from_code で作る流れでした
  • 作ることと、公開することは別の操作です。作ったあとに publish_workflow を呼びました
  • 作ったワークフローは、自分のアカウントの個人のプロジェクトに入りました
  • 定時実行が日本時間で動いたのは、VPS 側で時刻の設定を直してあったからです。設定していない VPS では、ニューヨーク時間になります(手順の記事)

丸ごと戻したあとも、接続はそのまま使えた

VPS の n8n のデータを、バックアップから全部戻したあとで、Claude Code から一覧を読んでみたところ、接続し直さずに使えました(1回だけの確認です)。

返ってくる情報に、名前とメールアドレスが入っていた

ワークフローを作ったとき、返事の中に、作った先のプロジェクトの名前が入っていました。 その名前は、n8n のオーナーアカウントを作ったときに入れた名前とメールアドレスでした。

Claude Code の会話の記録やスクリーンショットを、ほかの人に見せるときは、この部分が写っていないか確かめてください。 気になるなら、n8n の Settings で自分の名前を変える方法がありますが、変えるとプロジェクトの名前も変わるかは確かめていません。

ツールが51個並んでいた

2.41.6 の MCP の入口には、51個のツールが並んでいました(Claude Code に読み込まれた一覧を数えました)。 ワークフローの操作のほかに、次のようなものがありました。

  • Agent(n8n の Agent という機能)の作成・実行
  • Data Table の作成・行の追加
  • 認証情報の一覧(list_credentials)
  • コミュニティノードのインストール(install_community_node)

今回使ったのは、そのうち8つだけです。ほかのツールは試していません。 認証情報の一覧が、どこまで中身を返すのかも、確かめていません。

入口の情報(/.well-known/oauth-protected-resource/mcp-server/http)には、許可の範囲(scope)の一覧が出ていました。workflow:write、workflow:execute、credential:read のような名前が並んでいます。 許可したときに、どの範囲が渡るのかは、確かめられていません。許可の画面に何が表示されていたかも、記録していません。

外に公開するときの守りは、n8nを外に公開するときに守ることにまとめました。

確認していないこと

  • ワークフローの修正(update_workflow)、Agent、Data Table、コミュニティノードの追加は使っていません。
  • 許可の範囲を絞る方法は確かめていません。ローカルの記事に書いた「見せるワークフローを選ぶ設定」が、VPS でも同じように働くかは、見ていません
  • Claude Code のほかの環境(ターミナルで動かす版)では試していません。VS Code の拡張機能だけです
  • 接続を何日も使い続けたときに、承認が切れるかどうかは見ていません

次に読む

次に読む