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回だけ表示されます。アカウントに入金するか、請求設定を行います。API の利用料はトークン単位の従量課金で、Claude.ai のサブスクリプションとは完全に別です。費用を一切かけずにこの3つのワークフローを構築できると考えていた場合は、無料プランはありません。登録時の少額クレジットと、完全に無料の一部エンドポイントがあるだけです。
n8n で Credentials、Create credential の順に開き、Anthropic を選択します。キーを API Key フィールドに貼り付けて保存します。すべてのワークフローにある Claude ノードは、この保存済み認証情報を参照します。キーをノードに直接貼り付ける必要はありません。
運用上の注意点が 2 つあります。まず、n8n は保存した認証情報を N8N_ENCRYPTION_KEY で暗号化します。n8n のガイドに従って、この環境変数を compose ファイルで明示的に設定すると、コンテナを再構築しても認証情報を保持できます。n8n に生成を任せた後でボリュームを失うと、保存したすべての認証情報と、この鍵を含むデータは復元できない暗号文になります。まだバックアップしていない場合は、今すぐ鍵をバックアップしてください。
次に、n8n の認証情報ストアを被害範囲として扱ってください。インスタンス上のワークフローを編集できる人は、あなたの Anthropic key を使ってリクエストを送信できます。Community edition には、認証情報に対するユーザー単位の権限がありません。そのため、他の人もこのインスタンスにログインする場合は、アカウントを発行する前に 有料 n8n licence で利用できるアクセス制御 を確認してください。侵害されたインスタンスや制御不能な実行に上限を設けるため、Console の Settings で支出上限を設定してください。
モデルの選択はノード単位で行う
n8n の Claude ノードにあるモデルのドロップダウンは API からライブで取得されるため、使用する key でアクセスできるモデルが表示されます。2026年7月時点のラインアップと、入力/出力 100万トークンあたりの API 料金は次のとおりです。Claude Haiku 4.5 (claude-haiku-4-5) は $1/$5 で、コンテキストウィンドウは 200K です。Claude Sonnet 5 (claude-sonnet-5) は $3/$15 で、2026年8月31日までは導入価格として $2/$10 です。Claude Opus 4.8 (claude-opus-4-8) は $5/$25 で、Sonnet と Opus のコンテキストウィンドウはいずれも 1M トークンです。さらに、最も難しい推論処理向けに Claude Fable 5 (claude-fable-5) が $10/$50 で提供されていますが、このガイドで必要になることはありません。これらの正確な ID を使用してください。以前のチュートリアルで覚えた日付付きのバリアントを使うと 404 になります。料金は変動するため、ここを含め、どこで読んだ数値であっても信用する前に platform.claude.com を確認してください。
身に付けるべき習慣は、プラットフォーム単位ではなくノード単位でモデルを選ぶことです。自動化の基本となる分類、抽出、要約、ルーティングは、Sonnet の通常料金の 3 分の 1、Opus の 5 分の 1 の料金である Haiku でも十分に処理できます。Sonnet はエージェントや複数ステップの推論に、Opus は誤答による損失がトークン料金を上回るまれなワークフローに限定します。Claude ノードを 5 つ含むワークフローでは、モデルを混在させるべきです。
2 つの Claude ノードと用途の選び方
n8n には Anthropic との統合が 2 種類あり、誤った方を選ぶことが初心者に最も多い遠回りの原因です。
Anthropic ノードは通常のアプリノードです。1 回の入力に対して 1 つの応答を返します。Text リソースには Message a Model 操作があり、画像やドキュメントを分析する操作も用意されています。ワークフローの処理を n8n 内で、トリガー、Claude 呼び出し、次のノードという順に組み立てる場合は、このノードを使用します。以下のワークフロー 1 と 2 では、このノードまたは同等のチェーンを使用します。
Anthropic Chat Model ノードはサブノードです。AI Agent や Basic LLM Chain などのルートノードにモデルを提供する、小さな付属ノードとして機能します。トリガーや独自の出力はありません。モデル選択と、Maximum Number of Tokens や Sampling Temperature などのサンプリングオプションを提供します。n8n のドキュメントにある注意点として、覚えておくべきことがあります。サブノード内の式は、各アイテムではなく常に 最初の 入力アイテムを基準に評価されます。アイテムごとの式はサブノードではなく、ルートノードのプロンプトフィールドに記述してください。
ワークフロー 1: webhook を受信し、要約を出力する
AI 自動化の基本形です。URL に POST された内容を要約し、Slack または受信トレイに送信します。
- Webhook ノードで、HTTP Method を POST、パスを
summarizeに設定します。n8n はテスト URL と本番 URL を提供します。本番 URL はワークフローを有効にした場合にだけ待ち受けます。 - Anthropic ノードで Message a 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 }}役割と形式に関する指示は、ユーザーメッセージではなくノードの system prompt フィールドに記述します。system prompt は一定で、ペイロードだけが変わるため、動作が安定し、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 トークンの入力で約 $0.0012、出力 300 トークンで $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 Agent
最初の 2 つのワークフローはパイプラインであり、実行する手順は利用者が決めます。AI Agent ノードではこの関係が逆になります。Claude に目標とツールを渡すと、完了するまで、どのツールをどの順番で呼び出すかを Claude 自身が決定します。n8n では、chat model サブノードと、接続された少なくとも 1 つの tool サブノードが必要です。
具体例として、監視システムから「何が停止していて、その理由は何か」という質問に答える ops アシスタントを構築します。
- Chat Trigger(または webhook)で質問を受け取ります。
- AI Agent に Anthropic Chat Model サブノードを接続し、
claude-sonnet-5に設定します。Agent はツール呼び出しの計画と連鎖を行います。Haiku は単純な単一ツールの Agent を動かせますが、ツールが増える場合は Sonnet を最低限の選択肢とするのが妥当です。 - HTTP Request ノードを tool として接続し、Uptime Kuma の status API または Zabbix エンドポイントを指定します。2 つ目の HTTP tool で、REST API を提供する別の対象にもアクセスできます。
主に 2 つの設定が動作を左右します。Agent の System Message で役割を定義します。例: 「あなたは ops アシスタントです。回答前に status tool を使用して現在の monitor 状態を確認してください。down の monitor だけを継続時間とともに報告してください。」各 tool の description は人間向けの説明ではなく、Claude が呼び出し時点を判断するための情報です。「監視対象サービスの現在の up/down 状態を JSON で返す」と記述すれば適切なタイミングで呼び出されますが、「status API」だけでは無視されたり、誤って使用されたりします。HTTP Request ノードを tool として接続したら、Optimize Response オプションを有効にし、必要な JSON フィールドを選択します。そうしないと、冗長な API 応答全体が入力トークンとしてモデルのコンテキストに渡され、料金が発生します。
Agent の Max Iterations は、動作する最小値に設定します。デフォルトは 10 です。この値は、「4 回のツール呼び出し後に Agent が終了した」状態と、モデルとの往復が 12 回ほど続くループの違いになります。また、課金の仕組みも理解しておく必要があります。各 iteration では、それまでの完全な会話、system message、質問、過去のすべての tool 結果が入力トークンとして再送信されます。6 iteration の Agent 実行では、累計入力トークンが 20,000、出力が 2,000 に達することがあります。Sonnet 5 の導入時価格では約 $0.06、標準価格の $3/$15 では約 $0.09 です。単純な要約処理の約 20 倍の費用になると考えてください。1 つの Agent に多数の tool を追加し始めたら、VPS で MCP サーバーを実行する方が、より整理されたアーキテクチャになります。
コストガードレールを設定する。誰も監視していないためです
無人ワークフローには、キーボードの前にいる人が暗黙的に行う制御が必要です。安価なものから順に、4 つの層で設定します。
すべての Claude ノードで Max Tokens を設定します。 これは出力の上限です。要約には 300、分類には 100 が必要です。これにより、コストの大きい出力側(100 万出力トークンあたり $5–$25、入力側は $1–$5)を制限できます。同時に、処理が暴走した場合の抑止にもなります。Claude が冗長に出力するプロンプトの不具合があっても、8,000 トークンではなく 300 トークン分のコストで済みます。
ノードごとにモデルを指定します。 前述のとおり、現在のラインアップでは価格を 5–10 倍変えられる設定であり、設定には 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 を返しています。実際のレスポンス本文は次のとおりです。
{"type": "error", "error": {"type": "authentication_error", "message": "invalid x-api-key"}}キーの貼り付けミス、途中で切れたキー、末尾の空白、またはチュートリアルに記載されたプレースホルダーが原因です。n8n の認証情報を作り直して、キーをもう一度貼り付けます。前日まで動作していた場合は、Console でキーが失効していないか、またはボリュームのリストアによって別の N8N_ENCRYPTION_KEY で暗号化された認証情報に戻っていないか確認します。
実行が 429 rate_limit_error とともに集中して失敗し、「Number of request tokens has exceeded your per-minute rate limit.」のようなメッセージが表示される場合。レート制限は 1 分単位のバケットで管理されます。n8n では、50 件の webhook または RSS 実行を同時に簡単に発生させられます。構造的に対処します。並列ではなく Loop Over Items で項目を順番に処理し、Retry On Fail を設定します。Max Tries は 3、Wait Between Tries は上限の 5000 ms にします。n8n ではこのフィールドの上限が 5000 ms です。再試行を次の 1 分間のウィンドウまで待機させるために、より長いバックオフが必要な場合は、エラーパスに Wait ノードを配置するか、項目を 1 件ずつ処理します。レスポンスには待機時間を正確に示す retry-after ヘッダーが含まれます。n8n の固定待機ではこの値を読み取れないため、必要な長い待機を自分で構成します。
モデル名の指定で 404 not_found_error が返る場合。 本文には入力した誤りがそのまま表示されます。
{"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 は何も内容のないプロンプトにも応答します。参照先のノード自体が実行されていない場合は「Referenced node is unavailable」と表示されますが、フィールドが存在しない場合はエラーになりません。有効化する前に、必ず実際のデータで 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 年 7 月時点では、Haiku 4.5 は input/output token がそれぞれ 100 万あたり $1/$5、Sonnet 5 は $3/$15 です(2026 年 8 月までの導入価格は $2/$10)。Haiku で webhook の要約を実行する場合は約 0.25 セントです。複数の tool call を伴う Sonnet の agent 実行では、各 iteration で会話全体を input として再送信するため、$0.06–$0.10 に近くなります。見積もりだけを信頼せず、Console の usage ページで実際の実行量を確認してください。
n8n automation ではどの Claude model を使うべきですか?
分類、抽出、要約、routing には Haiku 4.5 を使います。速度と価格を優先する大量処理にも適しています。AI Agent node と複数段階の推論には Sonnet 5 を使います。Opus 4.8 は、誤答のコストが list price の $5/$25 を正当化できる場合だけ使用します。これは Haiku の 5 倍で、Sonnet の 2 倍弱です。model は workflow 単位ではなく node 単位で設定します。1 つの workflow に 3 つすべてを組み合わせることもできます。
n8n workflow が Claude API に過剰な費用を発生させないようにするにはどうすればよいですか?
複数の制限を組み合わせます。すべての Claude node で Max Tokens を低く設定し、agent には Max Iterations を設定します。workflow timeout も設定し、失敗によって token 使用量が増えないように Retry On Fail を控えめに設定します。次に、いずれかの AI workflow が失敗したときに Slack で通知する Error Trigger workflow を追加します。さらに、Anthropic Console で月間の spend limit を設定します。これを、VPS 上の処理では上書きできない上限にします。
AI Agent の tool call には追加料金がかかりますか?
tool 専用の料金はありません。ただし、tool が無料という意味ではありません。すべての tool result は input token として model に戻され、agent の各 iteration で、それまでの会話全体が再送信されます。応答の多い API response をフィルタリングせずに渡すと、実際の prompt より大きくなることがあります。HTTP Request tool では Optimize Response を有効にし、agent に必要な field だけを返してください。