AIエージェント入門

n8n×Claude API HTTPノードでAIエージェントを構築する

n8n×Claude API HTTPノードでAIエージェントを構築する

この記事の結論

n8nのHTTP Requestノードを使ってClaude APIを呼び出し、AIエージェントワークフローを構築する完全実装ガイド。Bearer認証からストリーミングまで解説。

「n8nでClaude APIを呼び出したい。でも公式ノードだと細かい設定ができない…」

これは、n8nでAIエージェントを構築しようとした開発者が最初にぶつかる壁です。n8nにはAnthropicの公式ノードもありますが、リクエストヘッダーのカスタマイズ、ストリーミングレスポンス、ツール呼び出し(Tool Use)など、細かい制御が必要な場面ではHTTP Requestノードを直接使う方が柔軟です。

この記事では、n8nのHTTP RequestノードでClaude Messages APIを直接呼び出し、本格的なAIエージェントワークフローを構築する方法を、コピペ可能なJSON設定・コード例つきで解説します。既存のn8nノーコード自動化ガイドと合わせて読むと、さらに理解が深まります。

5分で試せる:Claude APIへのはじめてのHTTP Request

まずはシンプルな動作確認から始めましょう。以下のHTTP Requestノード設定でClaude APIを呼び出せます。

n8nのワークフローエディタでHTTP Requestノードを追加し、以下のように設定します。

// HTTP Requestノード設定(n8n UI)
{
  "method": "POST",
  "url": "https://api.anthropic.com/v1/messages",
  "authentication": "genericCredentialType",
  "genericAuthType": "httpHeaderAuth",
  "sendHeaders": true,
  "headerParameters": {
    "parameters": [
      { "name": "x-api-key", "value": "{{ $credentials.anthropicApiKey }}" },
      { "name": "anthropic-version", "value": "2023-06-01" },
      { "name": "content-type", "value": "application/json" }
    ]
  },
  "sendBody": true,
  "bodyContentType": "json",
  "jsonBody": {
    "model": "claude-sonnet-4-6",
    "max_tokens": 1024,
    "messages": [
      {
        "role": "user",
        "content": "{{ $json.userInput }}"
      }
    ]
  }
}

動作環境: n8n v1.80+(セルフホスト / Cloud どちらも可)
注意: 本番環境で使用する前に、必ずテスト環境で動作確認してください。

レスポンスは $json.content[0].text でテキストを取り出せます。

Claude Credentials(認証)の正しい設定方法

APIキーをワークフロー内にハードコードするのは絶対NGです。n8nのCredentials Managerを使って安全に管理しましょう。

設定手順は次のとおりです。

# n8n Credentials Manager での設定(UI操作)
# 1. Settings > Credentials > Add Credential
# 2. "Header Auth" を選択
# 3. 以下を入力:
#    Name: Anthropic API Key
#    Header Name: x-api-key
#    Header Value: sk-ant-api03-xxxx(Anthropic ConsoleのAPI Key)

# または環境変数で管理する場合(セルフホスト)
# .env ファイルに追加:
ANTHROPIC_API_KEY=sk-ant-api03-xxxx

# n8n ワークフロー内での参照:
# {{ $env.ANTHROPIC_API_KEY }}

n8nの公式ドキュメント(Anthropic credentials)では、Anthropic専用のCredentialタイプも用意されています。HTTP Requestノードで使う場合は「Header Auth」が最も汎用的です。

n8n × Claude APIの構成パターン3選

実際にどのような構成でAIエージェントを組むか、用途ごとの早見表を示します。

パターン 構成 適した用途 難易度
シンプル呼び出し Webhook → HTTP Request(Claude)→ Respond チャットボット、要約 ★☆☆
会話履歴付き Webhook → Code(履歴管理)→ HTTP Request → DB保存 複数ターン対話 ★★☆
Tool Use(関数呼び出し) HTTP Request → Code(ツール実行)→ HTTP Request(結果返却)→ ループ データ検索、外部API連携 ★★★

会話履歴を保持したマルチターン構成の実装

実際の業務ではシングルターンだけでなく、会話の流れを保持しながらClaude APIを呼び出すケースが多くなります。以下のCodeノード設定で履歴を管理できます。

// n8n Codeノード(JavaScript): 会話履歴の構築
// 動作環境: n8n v1.80+, Node.js 20+

const userMessage = $input.first().json.userInput;
const sessionId = $input.first().json.sessionId;

// データベース(例: PostgreSQL)から過去の会話を取得
// この例では静的配列で代替(実運用ではDB参照に変更すること)
const history = $node["DB_Load"].json.messages || [];

// 新しいメッセージを追加
const messages = [
  ...history,
  { role: "user", content: userMessage }
];

// Claude API用のペイロードを構築
return [{
  json: {
    model: "claude-sonnet-4-6",
    max_tokens: 2048,
    system: "あなたは丁寧なカスタマーサポートエージェントです。過去の会話履歴を踏まえて回答してください。",
    messages: messages
  }
}];

// 注意: 本番環境で使用する前に、必ずテスト環境で動作確認してください。

ポイント: messages 配列に role: "user"role: "assistant" を交互に並べることで、Claudeは会話の流れを理解します。最大コンテキスト長(claude-sonnet-4-6は200Kトークン)に注意しながら、古い履歴は適宜トリミングしましょう。

Tool Use(関数呼び出し)でClaude APIを外部ツールに接続する

Claude APIのTool Use機能を使うと、外部APIやデータベース検索をClaude自身が判断・呼び出せるようになります。これがAIエージェントの核心です。

n8nでのTool Use実装は「Claude呼び出し → ツール判定 → ツール実行 → 結果返却 → Claude再呼び出し」のループになります。

// HTTP Requestノード: Tool Useを有効にしたClaude API呼び出し
// 動作環境: Claude API anthropic-version: 2023-06-01
{
  "model": "claude-sonnet-4-6",
  "max_tokens": 4096,
  "tools": [
    {
      "name": "search_customer",
      "description": "顧客IDから顧客情報を検索します",
      "input_schema": {
        "type": "object",
        "properties": {
          "customer_id": {
            "type": "string",
            "description": "検索する顧客のID(例: CUST-12345)"
          }
        },
        "required": ["customer_id"]
      }
    }
  ],
  "messages": [
    {
      "role": "user",
      "content": "顧客CUST-98765の注文履歴を確認して"
    }
  ]
}

Claudeが tool_use を返したら、n8nのSwitchノードで分岐して該当ツール(CRMや在庫管理API)を実行し、結果を tool_result としてClaude APIに返します。

// n8n Codeノード: tool_result を組み立てる
// 動作環境: n8n v1.80+

const claudeResponse = $input.first().json;
const toolUseBlock = claudeResponse.content.find(b => b.type === "tool_use");

// 外部ツールの実行結果(前のノードで取得済み)
const toolResult = $node["CRM_Search"].json;

// Claudeに返すメッセージを構築
return [{
  json: {
    messages: [
      // 既存の会話履歴
      { role: "user", content: "顧客CUST-98765の注文履歴を確認して" },
      // Claudeのtool_use応答
      { role: "assistant", content: claudeResponse.content },
      // ツール実行結果
      {
        role: "user",
        content: [
          {
            type: "tool_result",
            tool_use_id: toolUseBlock.id,
            content: JSON.stringify(toolResult)
          }
        ]
      }
    ]
  }
}];

// 注意: 本番環境で使用する前に、必ずテスト環境で動作確認してください。

【要注意】よくある失敗パターンと回避策

失敗1: anthropic-versionヘッダーを忘れる

anthropic-version ヘッダーなしでリクエストを送る
"anthropic-version": "2023-06-01" を必ずヘッダーに含める

なぜ重要か: このヘッダーがないとAPIは400エラーを返します。n8nのHeaderParametersに忘れずに設定してください。

失敗2: APIキーをワークフロー内にハードコードする

❌ jsonBodyに "api_key": "sk-ant-xxx" と直書き
⭕ n8nのCredentials ManagerまたはEnvironment Variablesで管理

なぜ重要か: ワークフローのエクスポート・共有時にキーが漏洩します。必ず外部管理にしてください。

失敗3: max_tokensの設定が小さすぎる

"max_tokens": 100 と設定して応答が途中で切れる
⭕ 用途に応じて1024〜4096(長文生成は8192以上)に設定

なぜ重要か: stop_reason: "max_tokens" が返ってきたら設定値を増やしましょう。

失敗4: Tool Useのループを正しく組まない

❌ Claudeが tool_use を返した後、ループせずに終了させる
stop_reason: "tool_use" を検出したらツールを実行→結果をClaude APIに返す→stop_reason: "end_turn" まで繰り返す

なぜ重要か: Tool Useは1往復で終わらないケースがあります。n8nのLoopOverItemsノードを使ってループを実装してください。

セキュリティと運用ルール

n8n × Claude APIを本番運用する際の必須チェックリストです。

項目 対策
APIキー管理 n8n Credentials Manager または Vault(HashiCorp等)を使用
レート制限 Claude APIのレート制限(Tier別)に合わせてn8nのThrottleノードを設定
コスト管理 Anthropic Consoleで月次上限アラートを設定(Usage > Limits)
プロンプトインジェクション対策 ユーザー入力をsystem promptと分離し、messagesのuserロールのみに格納
ログ n8nの実行ログに個人情報を含めないよう、機密フィールドをマスクする

参考・出典

まとめ:今日から始める3つのアクション

  1. 今日やること: n8nにHTTP Requestノードを追加してClaude APIへのシンプルな呼び出しを動かす
  2. 今週中: Credentials Managerでキー管理を安全化し、会話履歴付きのマルチターン構成を組む
  3. 今月中: Tool Useを実装して外部API(CRM・在庫管理・検索等)と連携したAIエージェントを本番稼働させる

あわせて読みたい:


AI研修・導入支援のご相談は 株式会社Uravation(お問い合わせフォーム) からどうぞ。

Need help moving from reading to rollout?

この記事を読んで導入イメージが固まってきた方へ

Uravationでは、AIエージェントの要件整理、PoC設計、社内導入、研修まで一気通貫で支援しています。

この記事をシェア

X Facebook LINE

※ 本記事の情報は2026年4月時点のものです。サービスの料金・仕様は変更される可能性があります。最新情報は各サービスの公式サイトをご確認ください。

関連記事