SSD Nodes Learn
ガイド Matt Connor著者 Matt Connor ・更新日 2026-07-24

n8nとClaudeを連携させてVPSでAIワークフローを作る方法

VPS上のn8nでClaude APIを活用し、要約やAI Agentなどの実用的なワークフローを構築する手順を解説します。モデルの選択方法やAPI料金の計算、認証エラーを防ぐためのCredential設定など、no-codeでAIを自動化する際に直面する具体的な課題と解決策をまとめました。

作成するもの

すでに実行中の n8n インスタンス上で動作する、3つの実用的な AI ワークフローを構築します。1つ目は、入力された内容を要約する webhook、2つ目は、記事を構造化されたスプレッドシートの行に変換するスケジュール実行型のフィードリーダー、3つ目は、質問に答えるために自律的に HTTP API を呼び出す AI Agent です。これは VPS 上で Python から Claude API を呼び出す ことに対する no-code 版の回答です。使用する API、トークン、料金は同じですが、オーケストレーションはスクリプトではなく n8n ノード内で行われます。

Docker で self-hosted n8n を構築するガイド に従い、n8n がすでに HTTPS で稼働していることを前提とします。まだの場合は、まずそれを完了させてください。webhook には有効な TLS エンドポイントが必要であり、これから API キーを設定する credential store には、同ガイドで推奨されている encryption-key のバックアップが必要です。

ここでの重要な課題は、単なるドラッグ&ドロップではありません。ノードごとのモデル選択、undefined を暗黙的に補完するプロンプトフィールド、そしてオートメーションが unattended(無人)で実行されるという点です。1回の実行コストが 0.5 セントのワークフローでも、リトライループによって一晩に 4,000 回実行されれば、安価とは言えなくなります。本ガイドの大部分は、これらの課題について解説します。

バックアップしたキーで暗号化された、単一の credential

Anthropic Console (platform.claude.com) の Settings > API Keys から API キーを取得し、n8n-vps のような名前で作成してください。キーは一度しか表示されません。アカウントに資金をチャージするか、billing を設定してください。API の使用料はトークン単位の従量課金であり、Claude.ai のサブスクリプションとは完全に別物です。

n8n での手順: Credentials > Create credential > Anthropic を選択し、API Key フィールドにキーを貼り付けて保存します。すべてのワークフロー内の Claude ノードは、この保存された単一の credential を参照します。ノードに直接キーを貼り付けることはしないでください。

運用上の注意点が2つあります。1つ目は、n8n は保存された credential を N8N_ENCRYPTION_KEY で暗号化することです。n8n のガイドに従って compose ファイルでこの env var を明示的に設定していれば、コンテナを再構築しても credential は保持されます。設定せずに n8n に自動生成させ、その後 volume を紛失した場合、保存されたすべての credential(このキーを含む)は復元不可能な ciphertext になります。まだバックアップを取っていない場合は、今すぐ行ってください。2つ目は、n8n の credential store を「爆発半径(影響範囲)」として考えることです。インスタンス上のワークフローを編集できる人は誰でも、あなたの Anthropic キーを使用してリクエストを送信できます。予期せぬ使用や侵害に備え、Console の Settings で spend limit(支出制限)を設定してください。

モデルの選択はノードごとに行う

n8n の Claude ノードにあるモデルのドロップダウンリストは API から取得されるため、使用可能なモデルが表示されます。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(ともにコンテキストウィンドウ 1M)です。また、高度な推論が必要な場合は Claude Fable 5 (claude-fable-5) が $10/$50 で利用可能ですが、本ガイドの構成では不要です。必ずこれらの正確な ID を使用してください。古いチュートリアルにある日付付きのバリアントを使用すると 404 エラーになります。また、価格は変動するため、ここにある数字を鵜呑みにせず、必ず platform.claude.com で確認してください。

身につけるべき習慣は、「プラットフォーム単位ではなく、ノード単位でモデルを選択する」ことです。分類、抽出、要約、ルーティングといったオートメーションの基本タスクは、Sonnet の定価の 1/3、Opus の 1/5 のコストである Haiku で非常に効率的に動作します。Sonnet はエージェントや多段階の推論に、Opus は誤回答によるコストがトークン代を上回るような稀なワークフローのために取っておいてください。5 つの Claude ノードを持つワークフローでは、モデルを混在させることが可能ですし、そうすべきです。

2種類の Claude ノードと使い分け

n8n には 2 つの異なる Anthropic 統合機能があり、間違った方を選択することが初心者の最も多いミスです。

Anthropic ノードは通常のアプリノードです。1 回のリクエストに対して 1 回のレスポンスを返します。Text リソースには Message a Model 操作があり、画像やドキュメントを解析する操作も備わっています。トリガー、Claude 呼び出し、次のノードといった、ワークフローのロジックが n8n 内にある場合はこれを使用してください。以下のワークフロー 1 と 2 では、このノードまたはそのチェーン版を使用します。

Anthropic Chat Model ノードはサブノードです。AI AgentBasic LLM Chain のようなルートノードにモデルを供給するための小さなアタッチメントです。これ自体にはトリガーも出力もありません。モデルの選択や、Maximum Number of Tokens、Sampling Temperature などのサンプリングオプションを提供します。n8n のドキュメントにある重要な注意点として、サブノード内の expression は、各アイテムではなく「最初の」入力アイテムに対して解決されるため、アイテムごとの expression はサブノードではなくルートノードのプロンプトフィールドに記述してください。

ワークフロー 1: webhook 入力、要約出力

AI オートメーションの基本です。URL に POST された内容が要約され、Slack や受信トレイに届きます。

  1. Webhook ノード — HTTP Method は POST、path は summarize。n8n はテスト用 URL と本番用 URL を提供します。本番用 URL はワークフローが active になって初めて動作します。
  2. Anthropic ノード — Message a Model、model は claude-haiku-4-5、Max Tokens は 300 前後。
  3. Slack ノード (または Send Email) — レスポンステキストをチャンネルに投稿。

プロンプトは、n8n の expression と 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 は一定に保たれるため、動作が安定し、半年後でもプロンプトが読みやすくなります。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。つまり、約 0.25 セントです。月に 1,000 回実行しても 3 ドル未満です。同じノードを Opus 4.8 に向けた場合は、その約 5 倍のコストがかかります。この比率に、構築するすべてのワークフローを掛け合わせたものが、ノードごとにモデルを選択する習慣が重要な理由です。

ワークフロー 2: スケジュール実行による RSS からの構造化データ抽出

次は、スケジュールに基づいた構造化出力です。RSS フィードを 1 時間ごとに読み込み、各アイテムを分類して、シートに行を追加します。

  1. Schedule Trigger — 1 時間ごと。
  2. RSS Read — フィードの URL。記事ごとに 1 つのアイテムを出力します。
  3. Basic LLM Chain — sub-node に claude-haiku-4-5 に設定した Anthropic Chat Model、および JSON スキーマを持つ Structured Output Parser を使用。
  4. 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 時間実行すると、月に 36,000 回の Claude 呼び出しになります。Haiku の場合は記事の長さによりますが 40〜90 ドル程度、Opus ではその約 5 倍です。LLM ノードの前に重複排除(以前に見たリンクとの単純な IF 比較、または n8n の Remove Duplicates ノード)を行うことで、毎時間のポーリングには新しい内容が含まれないことが多いため、呼び出し回数を大幅に削減できます。最も安いトークンは、実行されなかった呼び出しです。

ワークフロー 3: ツールを使用する AI Agent

最初の 2 つのワークフローはパイプラインであり、ステップは人間が決めるものです。AI Agent ノードはこれを逆転させます。Claude に目標とツールを与えると、完了するまで「どのツールをどの順序で呼び出すか」を 自身で 決定します。n8n では、chat model sub-node と少なくとも 1 つの tool sub-node のアタッチが必要です。

具体的な構成例:モニタリング結果から「何がダウンしており、なぜか」に答える運用アシスタント:

  1. Chat Trigger (または webhook) — 質問の入力。
  2. AI Agentclaude-sonnet-5 に設定した Anthropic Chat Model sub-node を使用。Agent はツールの呼び出しを計画し、連鎖させます。Haiku でも単純な単一ツールの Agent なら動作しますが、ツールが増える場合は Sonnet が現実的なベースラインとなります。
  3. HTTP Request ノードを tool として アタッチ — Uptime Kuma status API または Zabbix エンドポイントを指す。2 つ目の HTTP ツールを使えば、REST API を持つあらゆるものにアクセス可能です。

2 つの設定が業務の大部分を担います。Agent の System Message が役割を定義します:「あなたは運用アシスタントです。回答する前に status tool を使って現在の監視状態を確認してください。ダウンしている監視項目とその継続時間のみを報告してください。」また、各ツールの description は人間向けのドキュメントではなく、Claude がいつそのツールを呼び出すかを判断するための情報です。「すべての監視サービスの現在の up/down 状態を JSON で返す」と書けば適切なタイミングで呼び出されますが、「status API」では無視されるか誤用されます。HTTP Request ノードをツールとしてアタッチする場合、Optimize Response オプションを有効にし、必要な JSON フィールドのみを選択してください。そうしないと、冗長な API レスポンスがすべて入力トークンとして消費され、コストが増大します。

Agent の Max Iterations(デフォルトは 10)は、動作する最小限の数値に設定してください。これは「Agent が 4 回のツール呼び出しで諦めた」のか、「モデルの往復が 12 回続くループに陥った」のかの差になります。また、課金の仕組みを理解してください。各 iteration では、これまでの会話全体(system message、質問、すべてのツール結果)が入力トークンとして再送されます。6 回の iteration を行う Agent は、累計で 20,000 入力トークンと 2,000 出力トークンを簡単に消費します。Sonnet 5 の導入価格では約 0.06 ドルですが、標準価格($3/$15)では約 0.09 ドルになります。これは単純な要約実行を 20 回繰り返すのと同等です。1 つの Agent に多くのツールを詰め込みたくなったら、VPS 上で MCP サーバーを実行する 方がクリーンなアーキテクチャになります。

コスト管理:誰も見ていないため

unattended なワークフローには、人間がキーボードで行うような制御が必要です。コストの低い順に 4 つのレイヤーを挙げます。

すべての Claude ノードに Max Tokens を設定する。 これは出力のハードキャップです。要約には 300、分類には 100あれば十分です。これにより、高価な出力側(入力 100 万トークンあたり $1–$5 に対し、出力は $5–$25)のコストが制限され、プロンプトのバグで Claude が饒舌になり続けても、コストは 8,000 ではなく 300 トークンに抑えられます。

ノードごとにモデルを選択する。 前述の通りです。現在のラインナップにおいて 5〜10 倍の価格差があり、設定には 10 秒もかかりません。

ループを制限する。 Agent には Max Iterations を。ワークフローの設定には timeout を設定し、スタックした実行が回転し続けないようにします。また、ノードの Retry On Fail には注意してください。一時的なエラーには有効ですが、リトライはコストを増幅させます。Max Tries を 3、Wait Between Tries を 5000 ms に設定した場合、永続的なエラーが発生すると、諦めるまでに 1 アイテムにつき最大 3 回の課金が発生します。すでに高コストな処理に成功したノードを、リトライで囲むことは絶対にしないでください。

バックストップとしてのエラーワークフロー。 Error Trigger ノードから始まるワークフローを作成し、失敗したワークフローの名前とエラー内容を Slack に投稿するようにします。それを各 AI ワークフローの設定で Error Workflow として指定してください。これでキャッチできるのは、最も厄介な失敗パターンです。スケジュール実行されたワークフローが、1 週間ずっと毎時間エラーを出し続け、実行のたびにトークンを消費し続けるようなケースです。これに Anthropic Console での月間支出制限を組み合わせ、スケジュール実行を有効にした直後の数日間は Console の使用状況ページを確認してください。課金内容を正確に把握したい場合は、token-usage guide を参照してください。

失敗パターンと、発生しうるエラー

「Authorization failed - please check your credentials.」というエラーで即座に失敗する。 API が 401 を返しています。原因は以下の通りです:

{"type": "error", "error": {"type": "authentication_error", "message": "invalid x-api-key"}}

キーの貼り付けミス(切り詰め、末尾の空白、またはチュートリアルのプレースホルダー)です。n8n の credential を再作成して貼り付け直してください。昨日まで動いていた場合は、Console でキーが無効化されていないか、あるいは volume のリストアによって異なる N8N_ENCRYPTION_KEY で暗号化された credential に戻っていないかを確認してください。

429 rate_limit_error エラーがバースト的に発生する。 「Number of request tokens has exceeded your per-minute rate limit.」といったメッセージが表示されます。レート制限は分単位のバケット単位であり、n8n は 50 個の webhook や RSS 実行を同時に発生させることが容易です。構造的に解決してください。並列ではなく、順次処理(Loop Over Items)を行い、Retry On Fail を Max Tries 3、Wait Between Tries 5000 ms(n8n の上限)に設定します。次の分にリトライを回すために、より長いバックオフが必要な場合は、エラーパスに Wait ノードを入れるか、アイテムを 1 つずつ処理してください。レスポンスには retry-after ヘッダーが含まれており、正確な待ち時間を教えてくれますが、n8n の固定 wait ではこれを読み取れないため、長い待機は自分で構築する必要があります。

404 not_found_error モデル名の指定ミス。 ボディにはタイポが反映されます:

{"type": "error", "error": {"type": "not_found_error", "message": "model: claude-haiku-4.5"}}

ハイフンの代わりにドットを使用(4.5 の代わりに 4-5)、古いブログ記事の dated suffix、または廃止されたモデルです。現在のリストに基づいて ID を修正してください。これは、ドロップダウンから選ぶのではなく、expression としてモデルフィールドに直接入力する人に起こりやすいミスです。

Claude が聞いていない質問に答える。 エラーはどこにも出ず、実行結果は green(成功)になります。{{ $json.body.text }} の代わりに message がペイロードに含まれているような、存在しないフィールドを参照する n8n の expression は、プロンプト内にリテラル文字列 undefined を補完してしまい、Claude は「何もないもの」に対して懸命に回答しようとします。参照先のノード自体が実行されていない場合は "Referenced node is unavailable" となりますが、フィールド が欠落している場合はサイレントに処理されます。有効化する前に、必ず実際のデータで 1 回実行し、ノードの input パネルで実際にレンダリングされたプロンプトを確認してください。expression エディタで解決後の値を確認でき、undefined もそこに表示されます。

FAQ

Claude を n8n に接続するにはどうすればよいですか?

Anthropic Console (platform.claude.com) で API キーを作成し、n8n で Anthropic タイプの credential を追加して、API Key フィールドに貼り付けます。すべての Claude ノード(Anthropic アプリノードと Anthropic Chat Model サブノードの両方)は、その保存された credential を参照します。n8n はこれを N8N_ENCRYPTION_KEY で暗号化するため、バックアップを取っておかないと volume と共に credential が失われます。

AI ワークフローの 1 回あたりのコストはいくらですか?

1 回あたりの推定トークン数を算出し、モデルの 100 万トークンあたりの価格を掛けます。2026 年 7 月時点では、Haiku 4.5 は入力 $1 / 出力 $5、Sonnet 5 は $3 / $15(2026 年 8 月までは導入価格 $2 / $10)です。Haiku での webhook 要約は約 0.25 セントです。複数のツール呼び出しを伴う Sonnet での Agent 実行は、各 iteration で会話全体を再送するため、0.06〜0.10 ドルに近くなります。見積もりではなく、Console の使用状況ページで確認してください。

n8n のオートメーションにはどの Claude モデルを使うべきですか?

分類、抽出、要約、ルーティングなどの大量処理には、速度とコストが優先される Haiku 4.5 を使用してください。AI Agent ノードや多段階の推論には Sonnet 5 を使用してください。Opus 4.8 は、誤回答のコストが $5/$25 の定価に見合うほど高い場合にのみ使用してください(Haiku の 5 倍、Sonnet の 2 倍弱)。モデルはワークフロー単位ではなく、ノード単位で設定してください。1 つのワークフロー内でこれらすべてを混在させることが可能です。

n8n ワークフローによる Claude API の使いすぎを防ぐにはどうすればよいですか?

ガードレールを多層的に設定してください。すべての Claude ノードに低い Max Tokens を設定し、Agent には Max Iterations を、ワークフローには timeout を設定します。また、エラーが発生した際にトークン消費が増幅しないよう、控えめな Retry On Fail 設定にします。さらに、AI ワークフローが失敗したときに Slack で通知する Error Trigger ワークフローを作成し、Anthropic Console で VPS からは回避できないハードキャップとして月間支出制限を設定してください。

AI Agent のツール呼び出しには追加料金がかかりますか?

個別のツール料金はありませんが、ツールは無料ではありません。すべてのツール結果は入力トークンとしてモデルにフィードバックされ、各 Agent iteration で会話全体が再送されます。フィルタリングされていない冗長な API レスポンスは、実際のプロンプトよりもはるかに大きなコストを発生させる可能性があります。HTTP Request ツールでは Optimize Response を有効にし、Agent が必要とするフィールドのみを返すようにしてください。