中級向け
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日に確かめました。
登録するアドレス
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 の拡張機能だけです
- 接続を何日も使い続けたときに、承認が切れるかどうかは見ていません
次に読む
- 自分のパソコンの n8n でつなぐ手順は Claude Code から n8n を操作する
- VPS に n8n を入れるところからは ConoHa VPSにn8nを入れる
- どこで動かすか迷っているなら n8nはどこで動かすか