n8nとClaudeでVPS上にAIワークフローを構築する方法
VPS上のn8nにClaudeを接続する手順です。API keyの設定、ノードごとのモデル選択、3つの実例、料金計算、無料プランがない点と頻出エラーを解説します。
構築するもの
すでに運用している n8n インスタンス上で、3 つの AI ワークフローを動かします。送信した内容を要約する Webhook、記事を構造化されたスプレッドシートの行に変換するスケジュール実行のフィードリーダー、そして HTTP API を自律的に呼び出して質問に答える AI Agent です。これは VPS から Claude API を呼び出す方法 に相当するノーコード構成です。API、トークン、料金は同じですが、スクリプトではなく n8n のノードでオーケストレーションします。
Docker でセルフホストする n8n のガイドに従い、n8n はすでに HTTPS の背後で稼働しているものとします。まだの場合は、先に構築してください。Webhook には実際の TLS エンドポイントが必要です。また、これから API key を保存する credential store には、同ガイドでバックアップを求めている encryption key が必要です。
ここで重要なのは、ドラッグアンドドロップの操作ではありません。ノードごとのモデル選択、undefinedを暗黙に展開する prompt フィールド、そして自動化が無人で実行される点が問題になります。1 回あたり半セントのワークフローは安価でも、リトライループによって一晩で四千回実行されれば、無視できない費用になります。このガイドの大半では、これらを扱います。
バックアップした暗号鍵で暗号化する1つの認証情報
platform.claude.com の Anthropic Console で、Settings、API Keys の順に開き、n8n-vps などの名前を付けて API key を作成します。キーは作成時に1回だけ表示されます。作成時には有効期限も選択するため、その日付を記録してください。有効期限が切れると、下記の「障害時の対応」で説明するものと同じ 401 エラーが発生し、無人ワークフローが停止します。アカウントに入金するか、請求を設定します。API の利用料金はトークン単位で発生し、前払いクレジットから支払われます。Pro サブスクリプションには含まれません。ただし、Claude Max と Team のプランには、月間の Claude API クレジットが含まれるようになりました。Max 5x では $100、Max 20x では $200、Team では最大 $500 を共有して利用できます。利用するには、claude.ai の請求設定で Console の組織をリンクします。これらのクレジットは、n8n が実行するような API 呼び出しに使用できますが、Claude Code には使用できません。また、各請求サイクルの終了時に失効します。料金を一切支払わずにこの3つのワークフローを構築したい場合、Anthropic の料金に関する FAQ によると、新規ユーザーには API を試すための少額の無料クレジットが付与されます。そのため、新しい Console アカウントでは、請求を追加する前にスタータークレジットでこれらのワークフローを試せます。クレジットを使い切ると、Claude の呼び出しはすべてトークン単位で課金されます。トークン以外の追加料金が発生しないものもあります。たとえば、トークン数の計算エンドポイントや、組織ごとに月最大 1,550 時間までのコード実行時間は無料です。ただし、これら3つのワークフローではコード実行を使用しません。詳細は 無料 API クレジットの対象範囲で説明します。
n8n で、Credentials、Create credential の順に選択し、Anthropic を選びます。キーを API Key フィールドに貼り付けて保存します。すべてのワークフローの Claude node は、この保存済み認証情報を参照します。キーを node に貼り付けることはありません。
運用上の注意点が2つあります。1つ目は、n8n が保存済みの認証情報を N8N_ENCRYPTION_KEY で暗号化することです。n8n のガイドに従って compose ファイルでこの環境変数を明示的に設定すると、コンテナを再構築しても認証情報を保持できます。n8n に生成させた値を使用し、その後 volume を失うと、このキーを含む保存済み認証情報はすべて復元できない暗号文になります。設定を省略した場合は、今すぐキーをバックアップしてください。2つ目は、n8n の認証情報ストアを影響範囲として扱うことです。Anthropic の認証情報を使用できる人は、あなたのキーでリクエストを実行できます。Community edition では、それはあなたと instance owner です。n8n のドキュメントにも「Only the instance owner and the user who creates them can access workflows and credentials」と記載されており、他の Member アカウントはアクセスできません。セルフホストの n8n でワークフローと認証情報を共有する機能は有料機能です(Business または Enterprise)。ワークフローを共有すると、その編集者はワークフローが使用するすべての認証情報を利用できます。そのため、この instance に他の人もログインする場合は、アカウントを付与する前に 有料 n8n ライセンスの背後にあるアクセス制御を確認してください。Console の Settings で支出上限を設定し、侵害された instance や暴走した instance に上限を設けます。
ノードごとにモデルを選択する
n8n の Claude ノードにあるモデルのドロップダウンは API からリアルタイムで取得されるため、キーで利用できるモデルが表示されます。このガイドで使用するモデルと、2026 年 10 月時点の 100 万入力トークン/出力トークンあたりの API 料金は次のとおりです。Claude Haiku 4.5 (claude-haiku-4-5) は $1/$5 で、コンテキストウィンドウは 200K です。Claude Sonnet 5 (claude-sonnet-5) は $2/$10、Claude Opus 4.8 (claude-opus-4-8) は $5/$25 で、どちらもコンテキストウィンドウは 1M トークンです。最も難しい推論処理向けに Claude Fable 5 (claude-fable-5) もあり、料金は $10/$50 ですが、このガイドで必要になる処理はありません。これらの正確な ID を使用してください。claude-haiku-4-5 は固定スナップショットの claude-haiku-4-5-20251001 のエイリアスで、これも使用できます。ただし、古いチュートリアルからコピーした日付付き ID は、廃止されたモデルを指して失敗することがあります。料金は変動するため、ここを含め、どこかで見た数値をそのまま信用する前に platform.claude.com を確認してください。
このガイドの初版公開後、Anthropic は新しいモデルをリリースし、現在のドキュメントでは Haiku 4.5、Sonnet 5、Opus 4.8、Fable 5 がレガシーとして扱われています。これらは引き続き動作します。非推奨化のページでは、Haiku 4.5 の廃止は 2026 年 10 月 15 日より前には行われないと記載されていました。その日付は過ぎていますが、2026 年 10 月 20 日時点でも、同ページでは Haiku 4.5 が有効なモデルとして表示され、非推奨化の通知はありません。Sonnet 5、Opus 4.8、Fable 5 は、2027 年半ばより前には廃止されません。Anthropic は公開済みモデルを廃止する前に少なくとも 60 日前に通知するため、ワークフローで Haiku 4.5 を固定している場合は、非推奨化のページを監視してください。現在のラインアップは、Claude Haiku 5.5 (claude-haiku-5-5、2026 年 10 月 7 日リリース) が最大 100,000 トークンのプロンプトで $0.10/$0.50、それを超える場合は $0.50/$2.50、Claude Sonnet 5.5 (claude-sonnet-5-5) が $2/$10、Claude Opus 5.5 (claude-opus-5-5) が $4/$20、Claude Fable 5.1 (claude-fable-5-1) が $10/$50 です。Haiku 5.5 の tokenizer は同じテキストを Haiku 4.5 より約 30% 多いトークンとして数えるため、表示料金だけで判断せず、Console の使用量ページで実行ごとの実際のコストを比較してください。
身につけるべき習慣は、プラットフォーム単位ではなくノード単位でモデルを選ぶことです。自動化の中心となる分類、抽出、要約、ルーティングは、Sonnet の表示料金の半額、Opus の 5 分の 1 の料金である Haiku で十分に処理できます。エージェントや複数ステップの推論には Sonnet を使用し、誤答による損失がトークン料金を上回るまれなワークフローには Opus を使用してください。Claude ノードが 5 つあるワークフローでは、モデルを混在させることができ、そうすべきです。
2 つの Claude ノードと使い分け
n8n には、Anthropic との統合が 2 種類あります。初心者が最もよくつまずくのは、使用するノードを間違えることです。
Anthropic ノードは通常のアプリノードです。1 つのリクエストを受け取り、1 つのレスポンスを返します。Text リソースには Message a Model 操作があり、画像やドキュメントを分析する操作もあります。ワークフローの処理を n8n 側で組み立てる場合に使用します。つまり、トリガー、Claude の呼び出し、次のノードという構成です。以下の Workflow 1 と Workflow 2 では、このノードまたは同等の chain を使用します。
Anthropic Chat Model ノードはサブノードです。AI Agent や Basic LLM Chain などのルートノードにモデルを提供する、小さな付属ノードです。トリガーや独自の出力はありません。モデルの選択と、Maximum Number of Tokens や Sampling Temperature などのサンプリング設定を提供します。n8n のドキュメントにある重要な注意点として、サブノード内の式は各アイテムではなく、常に 最初の 入力アイテムを基準に評価されます。アイテムごとの式はサブノードではなく、ルートノードの prompt フィールドに記述してください。Anthropic 側にも注意点があります。このガイドに登場するモデルのうち Haiku 4.5 以外は Claude 4.7 以降のモデルです。これらのモデルで temperature、top_p、top_k にデフォルト以外の値を設定すると、400 エラーが返されます。そのため、これらのモデルでは Sampling Temperature、Top K、Top P を未設定のままにしてください。
Workflow 1: Webhook を受信し、要約を出力する
AI 自動化の基本例です。URL に POST されたデータを要約し、Slack または受信トレイに送信します。
- Webhook ノードで、HTTP Method を POST、パスを
summarizeに設定します。n8n はテスト URL と本番 URL を発行します。本番 URL がリクエストを受け付けるのは、ワークフローを公開した後だけです。 - Anthropic ノードで Message a Model を選択し、model を
claude-haiku-4-5、Max Tokens を 300 前後に設定します。 - Slack ノード(または Send Email)で、応答テキストをチャンネルに投稿します。
プロンプトでは、n8n の式と Claude を組み合わせます。POST 本文は $json.body 配下に入るため、ユーザーメッセージのフィールドは次のようになります。
Summarize the following feedback in three bullets, then one line:
verdict: praise | complaint | churn-risk. No preamble.
{{ $json.body.text }}role と出力形式の指示はユーザーメッセージではなく、ノードの system prompt フィールドに記述します。system prompt は一定で、payload だけが変化するため、動作が安定し、6 か月後にもプロンプトの内容を把握しやすくなります。VPS 自体からテストします。
curl -X POST https://n8n.example.com/webhook/summarize \
-H 'Content-Type: application/json' \
-d '{"text": "Third support ticket this month about slow disk IO..."}'Haiku の 1 回あたりのコストは、プロンプトを含む 1,200-token の入力で約 $0.0012、出力 300 tokens で $0.0015 です。合計は 1 セントの約 4 分の 1 です。月 1,000 回実行しても $3 未満です。同じノードで Opus 4.8 を指定すると、約 5 倍かかります。この比率は、構築するすべてのワークフローに積み重なります。そのため、ノードごとにモデルを意識して選ぶ習慣が重要です。
ワークフロー 2: RSS を定期取得して構造化された行に変換
次は、定刻に実行し、構造化された出力を生成するワークフローです。RSS フィードを 1 時間ごとに読み取り、各項目を分類して、シートに行を追加します。
- Schedule Trigger を 1 時間ごとに設定します。
- RSS Read にフィード URL を指定します。記事ごとに 1 件の項目を出力します。
- Basic LLM Chain に、
claude-haiku-4-5を設定した Anthropic Chat Model サブノードと、JSON スキーマを保持する Structured Output Parser サブノードを追加します。 - Google Sheets(または Postgres)で、項目ごとに 1 行を追加します。
Structured Output Parser は、「Claude、JSON を返してください」という依頼を、期待ではなく契約に変える機能です。モデルの応答をスキーマに照合して検証し、不正なデータを行として書き込む代わりに、項目の処理を明確に失敗させます。スキーマの例を示します。
{
"type": "object",
"properties": {
"category": { "type": "string", "enum": ["release", "security", "tutorial", "other"] },
"relevance": { "type": "number" },
"one_line_summary": { "type": "string" }
},
"required": ["category", "relevance", "one_line_summary"]
}チェーンのプロンプトでは、フィード項目を参照します。
Classify this article for a VPS hosting audience.
Title: {{ $json.title }}
Content: {{ $json.contentSnippet }}コスト計算も変わります。ここでは実行単位ではなく、項目単位で課金されます。1 時間あたり 50 件の記事を 1 日 24 時間処理すると、1 か月あたり 36,000 回の Claude 呼び出しになります。Haiku では記事の長さに応じて約 $40–90、Opus ではその約 5 倍です。LLM ノードの前に重複除去を行ってください。以前に処理したリンクに対する単純な IF、または n8n の Remove Duplicates ノードを使用できます。ほとんどの時間単位のポーリングでは新しい項目がないため、呼び出し回数を大幅に減らせます。最も安価なトークンは、呼び出さずに済んだトークンです。
ワークフロー 3: ツールを使用する AI エージェント
最初の 2 つのワークフローはパイプラインであり、手順はユーザーが決定します。AI Agent ノードはその逆で、Claude に目標とツールを与えると、完了するまで Claude 自身がどのツールをどの順序で呼び出すかを決定します。n8n では、チャットモデルのサブノードと、少なくとも 1 つのツールサブノードを接続する必要があります。
具体的な構築例として、監視システムから「何がダウンしていて、その理由は何か」を回答する運用アシスタントを作成します。
- Chat Trigger(または webhook)で質問を受け取ります。
- AI Agent に Anthropic Chat Model サブノードを接続し、
claude-sonnet-5に設定します。エージェントはツール呼び出しの計画と連鎖を行います。Haiku は単純な単一ツールエージェントを駆動できますが、ツールが増える場合は Sonnet が現実的な最低ラインです。 - HTTP Request ノードをツールとして接続し、Uptime Kuma status API または Zabbix エンドポイントを指定します。2 つ目の HTTP ツールを追加すれば、REST API を持つ他のあらゆるサービスに接続可能です。
設定の大部分は 2 つの項目で決まります。エージェントの System Message で役割を定義します。「あなたは運用アシスタントです。回答前にステータスツールを使用して現在の監視状態を確認してください。ダウンしている監視項目のみを、継続時間とともに報告してください。」また、各ツールの description は人間向けのドキュメントではなく、Claude がいつ呼び出すかを判断するためのものです。「すべての監視対象サービスの現在の稼働/停止状態を JSON で返す」と記述すれば適切なタイミングで呼び出されますが、「status API」のような記述では無視されるか誤用されます。HTTP Request ノードをツールとして接続する際は、Optimize Response オプションを有効にし、必要な JSON フィールドを選択してください。これを行わないと、冗長な API レスポンスすべてが入力トークンとしてモデルのコンテキストに投入され、コストが増大します。
エージェントの Max Iterations(デフォルトは 10)は、動作する最小の数値に設定してください。これは「エージェントが 4 回のツール呼び出しで諦める」か「モデルとのやり取りが 12 回ループする」かの分かれ目となります。また、課金の仕組みを理解しておく必要があります。各イテレーションでは、システムメッセージ、質問、これまでのすべてのツール結果を含む会話全体が入力トークンとして再送信されます。6 回のイテレーションを行うエージェント実行では、入力トークンの累計が 20,000、出力が 2,000 に達することがあります。Sonnet 5 の料金を入力 $2、出力 $10 とすると約 $0.06 です。これは単純な要約処理を 20 回実行するのと同等のコストとして考えてください。1 つのエージェントに多数のツールを組み込む必要がある場合は、VPS 上での MCP サーバーの実行へ移行する方が、よりクリーンなアーキテクチャとなります。
コストのガードレール。誰も監視していない場合に備える
無人ワークフローには、キーボードの前にいる人が暗黙的に行う制御が必要です。安価なものから順に、4 つの層で構成します。
すべての Claude ノードで Max Tokens を設定します。 これは出力の上限です。要約には 300、分類には 100 が必要です。これにより、高額になりやすい出力側のコストを制限できます(このガイドで扱うモデルでは、出力トークン 1,000,000 個あたり $5–$50、入力は $1–$10 で、各モデルとも出力料金は入力料金の 5 倍です)。同時に、処理が暴走した場合の抑止策にもなります。Claude が冗長に出力する原因となるプロンプトの不具合があっても、コストは 8,000 トークンではなく 300 トークンで止まります。
ノードごとにモデルを選択します。 詳細は前述のとおりです。Haiku 4.5 と Opus 4.8 の間では料金を 5 分の 1 にでき、Fable 5 まで含めると 10 分の 1 にできます。現在のラインアップでは、Haiku 5.5 から Fable 5.1 まで、100,000 トークン以下のプロンプトで最大 100 倍の料金差があります。設定には 10 秒しかかかりません。
ループに上限を設定します。 エージェントでは Max Iterations を設定します。ワークフローの設定でワークフローのタイムアウトも設定し、処理が停止しても回り続けずに終了するようにします。ノードごとの Retry On Fail も慎重に設定してください。一時的なエラーには適していますが、再試行のたびにコストが増えます。Max Tries が 3、Wait Between Tries が 5000 ms の場合、解消しないエラーでは、あきらめるまでにアイテムごとに最大 3 回分の料金が発生します。高額な処理がすでに成功したノードを、再試行処理で囲まないでください。
エラーワークフローを最後の防波堤にします。 Error Trigger ノードから始まるワークフローを作成し、失敗したワークフローの名前とエラーを Slack に投稿します。その後、各 AI ワークフローの設定で、このワークフローを Error Workflow に指定します。これで捕捉できるのは、特に危険な失敗パターンです。スケジュールで起動するワークフローが 1 週間にわたって毎時間エラーになり、終了するまでの各実行でトークンを消費し続けるケースです。Anthropic Console で月間支出上限も設定し、スケジュール処理を有効にした後の最初の数日間は Console の使用量ページを確認してください。請求内容を正確に把握したい場合は、トークン使用量のガイドで詳しく確認できます。
エラーの種類と表示される文字列
ノードが「Authorization failed - please check your credentials.」と表示して即座に失敗する場合。 API が 401 を返しています。レスポンス本文は次の形式です(現在のレスポンスには request_id フィールドも含まれます)。
{"type": "error", "error": {"type": "authentication_error", "message": "invalid x-api-key"}}キーの貼り付けミス、途中で切れたキー、末尾の空白、またはチュートリアルに記載されたプレースホルダーが原因です。n8n の credential を作り直し、キーを再度貼り付けます。昨日まで動作していた場合は、Console でキーが revoke されていないか、有効期限に達していないかを確認します。また、ボリュームの復元によって、別の N8N_ENCRYPTION_KEY で暗号化された credential に戻っていないかも確認してください。
実行が 429 rate_limit_error とともに断続的に大量失敗し、「Number of request tokens has exceeded your per-minute rate limit.」のようなメッセージが表示される場合。レート制限は 1 分単位で測定され、継続的に補充されるトークンバケットで適用されます。n8n では webhook や RSS の実行を 50 件同時に簡単に発生させられます。構成を見直し、並列ではなく Loop Over Items でアイテムを順番に処理します。Retry On Fail を有効にし、Max Tries を 3、Wait Between Tries を最大値の 5000 ms に設定します。n8n ではこのフィールドの上限が 5000 ms です。再試行前にバケットが補充されるまで長く待つ必要がある場合は、エラーパスに Wait ノードを配置するか、アイテムを 1 件ずつ処理します。レート制限による 429 には通常、待機すべき秒数を示す retry-after ヘッダーが含まれます(Anthropic のドキュメントでは、すべての 429 に含まれるわけではないと説明されています)。n8n の固定待機ではこの値を読み取れないため、長い待機時間を自分で構成します。例外として、retry-after ヘッダーがなく、error_code が enforced_spend_limit_reached の 429 は、組織が利用ティアの月間支出上限に達したことを示します。この場合、翌月になるか、ティアを引き上げるまで再試行は成功しません。
モデル名に関する 404 not_found_error。 メッセージには送信したモデル ID が含まれ、次のような形式になります。
{"type": "error", "error": {"type": "not_found_error", "message": "model: claude-haiku-4.5"}}ハイフンではなくドットを使用している(4-5 に対する 4.5)、日付サフィックスの入力ミスや架空の値、古いブログ記事に記載された提供終了モデルなどが原因です。現在の一覧に照らして ID を修正します。モデルフィールドをドロップダウンから選ばず、式として入力すると、この問題が発生しやすくなります。
Claude が質問していない内容に回答する場合。 どこにもエラーはなく、実行状態も成功になります。ペイロードが message を使用しているのに {{ $json.body.text }} のように存在しないフィールドを参照する n8n 式を使うと、プロンプトにリテラル文字列 undefined がそのまま埋め込まれます。その結果、Claude は内容のないプロンプトにも回答します。参照先のノード自体が実行されていない場合、n8n は式が「hasn't been executed yet」ノードを参照しているというエラーで停止します。しかし、フィールドの欠落は無視されます。有効化する前に、必ず実際のデータで 1 回実行し、ノードの入力パネルに表示される実際のレンダリング済みプロンプトを確認してください。式エディターでは解決後の値をプレビューでき、undefined も表示されます。
FAQ
Claude を n8n に接続するにはどうすればよいですか?
platform.claude.com の Anthropic Console で API key を作成し、n8n でタイプが Anthropic の credential を追加して、API Key フィールドに貼り付けます。すべての Claude node、Anthropic app node、Anthropic Chat Model sub-node は、この保存済み credential を参照します。n8n は N8N_ENCRYPTION_KEY で暗号化するため、その key をバックアップしてください。バックアップがないと、volume とともに credential が失われます。
AI workflow の 1 回の実行にかかる費用はどのくらいですか?
1 回の実行で使用する token 数を見積もり、model の 100 万 token あたりの料金を掛けます。2026 年 10 月時点では、Haiku 4.5 は input token が 100 万あたり $1、output token が $5 です。Sonnet 5 はそれぞれ $2 と $10 です。Haiku で webhook の要約を実行する場合、費用は約 0.25 セントです。Sonnet の agent で複数の tool call を実行すると、1 回あたり $0.06–$0.10 に近くなります。各 iteration で会話全体を input として再送信するためです。見積もりだけに頼らず、Console の usage ページで実際の実行を確認してください。
n8n automation ではどの Claude model を使うべきですか?
分類、抽出、要約、routing には Haiku 4.5 を使います。速度と価格を重視する大量処理にも適しています。AI Agent node と複数ステップの推論には Sonnet 5 を使います。誤答のコストが高く、list price の $5/$25 を正当化できる場合に限り Opus 4.8 を使います。これは Haiku の 5 倍、Sonnet の 2.5 倍です。新しい Anthropic の Haiku 5.5、Sonnet 5.5、Opus 5.5 も同じ役割を、同等以下の list price で担います。model は workflow 単位ではなく node 単位で設定してください。1 つの workflow で 3 つすべてを組み合わせられます。
n8n workflow による Claude API の使い過ぎを防ぐにはどうすればよいですか?
複数の制限を組み合わせます。すべての Claude node で Max Tokens を低く設定し、agent には Max Iterations を設定します。さらに workflow timeout と保守的な Retry On Fail 設定を追加し、失敗による token 消費の増加を防ぎます。次に、AI workflow が失敗したときに Slack で通知する Error Trigger workflow を追加します。最後に、Anthropic Console で月間支出上限を設定します。これは VPS 上の処理では上書きできない上限になります。
AI Agent の tool call には追加料金がかかりますか?
tool 専用の追加料金はありません。ただし、tool が無料という意味ではありません。すべての tool result は input token として model に返され、agent の各 iteration で、それまでの会話全体が再送信されます。冗長な API response をフィルタリングせずに渡すと、実際の prompt を大幅に上回ることがあります。HTTP Request tool では Optimize Response を有効にし、agent に必要な field だけを返してください。