Claude Code Router:MCPツールとサンドボックス実行で任意のモデルバックエンドを使用する

Claude Code Router:MCPツールとサンドボックス実行で任意のモデルバックエンドを使用する

Claude Codeは、設定されたAnthropic互換APIエンドポイントにすべてのリクエストをルーティングします。1つの環境変数を変更するだけで、Claude Codeの完全なエージェントワークフロー(MCPツール呼び出し、ファイル編集、bash実行を含む)を通じて、Qwen、DeepSeek、GLM、MiniMaxを実行できます。他の設定を変更する必要はありません。

このガイドでは、ルーティングの仕組み、バックエンドとしてNovita AIのエンドポイントを設定する方法、ルーティング設定でMCPツール呼び出しがどのように流れるか、そしてNovitaのAgent Sandboxでツール実行を安全に行う方法について説明します。

Claude Code Routerとは?

Claude Codeの用語では、「ルーター」とは、Claude Codeがリクエストを送信する任意のAnthropic API互換エンドポイントのことです。デフォルトでは、このエンドポイントはapi.anthropic.comにあるAnthropic自身のAPIです。ANTHROPIC_BASE_URLを設定することで、これらのリクエストを別のプロバイダー(同じAPI形式を受け入れ、同じ構造でレスポンスを返すプロバイダー)にリダイレクトします。

これは明確に理解しておく価値があります。Claude Codeは、設定されたエンドポイントの背後にどのプロバイダーがいるかを認識せず、気にしません。Anthropic形式のメッセージリクエストを送信し、Anthropic形式のレスポンスを読み取り、処理を続行します。ルーター(Novita AI、セルフホスト型プロキシ、サードパーティのアグリゲーターのいずれか)は、モデルの選択、推論、レスポンスのフォーマットを透過的に処理します。

ルーターを使用する3つの実用的な理由:

  • モデルアクセス:Qwen3-Coder、MiniMax M2.7、GLM-4.7などのオープンウェイトモデルは、Anthropicのエンドポイントでは利用できません。Novita AI経由でルーティングすることで、同じClaude Codeワークフロー内でこれらすべてにアクセスできます。
  • コスト管理:Novitaのようなプロバイダーを通じたオープンウェイトモデルは、通常、Anthropicのクローズドモデルよりも100万トークンあたりのコストが大幅に低くなります。モデルが数百回のツール呼び出しを行う高頻度のエージェントセッションでは、この差は積み重なります。
  • 特殊な機能:一部のオープンウェイトモデルは、関数呼び出しとマルチステップのツール使用に特化してトレーニングされています。これは、Claude CodeのMCP統合にまさに必要なものです。汎用モデルではなく、ツール呼び出しの精度に調整されたモデルを選択すると、複雑なワークフローでのツール呼び出しの失敗や不正な形式を減らすことができます。

Claude Codeルーティングの仕組み

3つの環境変数がルーティングを制御します:

変数 目的
ANTHROPIC_BASE_URL APIエンドポイント。これを変更して別のプロバイダー経由でルーティングします。
ANTHROPIC_AUTH_TOKEN ターゲットエンドポイントで認証するためのAPIキー。
ANTHROPIC_MODEL 使用するモデルID。ターゲットプロバイダーの命名規則と一致している必要があります。

ANTHROPIC_BASE_URLが設定されている場合、Claude Codeはすべての推論リクエストをhttps://api.anthropic.comの代わりにそのURLに送信します。ターゲットエンドポイントは、AnthropicのメッセージAPI形式(Claudeのネイティブモデルが使用するのと同じリクエスト・レスポンス構造)を実装している必要があります。

重要な詳細の1つ:Anthropicのモデルエイリアス(sonnetopushaiku)は、Anthropic自身のエンドポイントに対してのみ正しく解決されます。サードパーティのルーターを使用する場合は、エイリアスではなく、プロバイダーの特定のモデルIDにANTHROPIC_MODELを設定してください。sonnetのようなエイリアスを非Anthropicエンドポイントに渡すと、失敗するか、予期しないモデルが返されます。

ANTHROPIC_SMALL_FAST_MODELは、Claude Codeの内部バックグラウンドタスク(要約、コンテキスト圧縮、ステップ間の軽量な推論)用の2番目のモデルスロットです。これをより高速で安価なモデルに向けることで、プライマリモデルの応答品質に影響を与えずにセッションコストを抑えることができます。

ルーターとしてNovita AIをセットアップする

Novita AIのAnthropic互換エンドポイントはhttps://api.novita.ai/anthropicにあります。これはClaude Codeがネイティブに送信するのと同じリクエスト形式を受け入れ、コーディングスペシャリストやツール呼び出し最適化バリアントを含む幅広いオープンウェイトモデルをサポートしています。

ステップ1:Novita APIキーを取得する

  1. novita.aiにサインアップします。サインアップ時に無料トライアルクレジットが含まれています。
  2. ダッシュボードでKey Managementを開きます。
  3. Create New Key をクリックし、キーをすぐにコピーして(一度しか表示されません)、安全に保存します。

ステップ2:環境を設定する

macOS / Linux:

export ANTHROPIC_BASE_URL="https://api.novita.ai/anthropic"
export ANTHROPIC_AUTH_TOKEN="<your-novita-api-key>"
export ANTHROPIC_MODEL="qwen/qwen3-coder-480b-a35b-instruct"
export ANTHROPIC_SMALL_FAST_MODEL="deepseek/deepseek-v4-flash"

Windows (PowerShell):

$env:ANTHROPIC_BASE_URL = "https://api.novita.ai/anthropic"
$env:ANTHROPIC_AUTH_TOKEN = "<your-novita-api-key>"
$env:ANTHROPIC_MODEL = "qwen/qwen3-coder-480b-a35b-instruct"
$env:ANTHROPIC_SMALL_FAST_MODEL = "deepseek/deepseek-v4-flash"

Windows (Command Prompt):

set ANTHROPIC_BASE_URL=https://api.novita.ai/anthropic
set ANTHROPIC_AUTH_TOKEN=<your-novita-api-key>
set ANTHROPIC_MODEL=qwen/qwen3-coder-480b-a35b-instruct
set ANTHROPIC_SMALL_FAST_MODEL=deepseek/deepseek-v4-flash

ステップ3:Claude Codeを起動する

claude .

Claude Codeがカレントディレクトリで起動し、すべての推論をNovita AI経由でルーティングします。MCPツール、ファイル編集、bash実行は、ネイティブのAnthropicセットアップと同様に動作します。

Novita AIで利用可能なモデル

モデル NovitaモデルID 主な強み
Qwen3-Coder 480B qwen/qwen3-coder-480b-a35b-instruct コード生成、長文脈推論
MiniMax M2.7 minimax/minimax-m2.7 エージェントツール呼び出しの精度
DeepSeek V4 Flash deepseek/deepseek-v4-flash 高速イテレーション、コスト効率
GLM-4.7 zai-org/glm-4.7 コーディングとマルチステップエージェントタスク
Kimi K2 Instruct moonshotai/kimi-k2-instruct ツール使用、数学中心のコードベース

これらのオープンウェイトモデルは最新のGPUインフラストラクチャ上で動作しますが、トークンあたりのコストは通常はるかに低くなります。大規模なリファクタリングセッションや自動テスト生成など、Claude Codeが数十回のツール呼び出しを行うタスクでは、このトークンあたりのコストの差が実際に重要になります。

設定を確定する前に、最新のモデルリストと確認済みIDについてはnavita.ai/llm-apiを確認してください。プロバイダーが製品を追加または更新するにつれて、モデルの可用性とIDが変更される可能性があります。

MCPを通じたツール呼び出しのルーティング

Claude Codeのツール呼び出しレイヤーはMCP(Model Context Protocol)です。claude mcp addでMCPサーバーを追加すると、Claude Codeはセッション開始時にサーバーに接続し、公開されているツールをロードします。セッション中、ルーティングされたLLMが、いつこれらのツールを呼び出すか、どの引数を渡すか、結果に基づいてどのように動作するかを決定します。

ルーティングの分割は重要です。**LLMバックエンド **(あなたのNovita AIルーター)は、どのツールをどの順序で、どの引数で呼び出すかというすべての推論を処理します。MCPサーバー は実行を処理します。ツール呼び出しを受け取り、基盤となるアクションを実行し、結果を返します。Claude Codeはそれらの間を調整します。

実際には、これはルーターのツール呼び出しサポートの品質によって、複雑なマルチステップタスクがどの程度確実に完了するかが決まることを意味します。不正な関数呼び出し引数を生成したり、ツールエラー後に続行に失敗したりするモデルは、タスクの途中で停止します。関数呼び出しワークフローに特化して微調整されたモデル(Qwen3-CoderやMiniMax M2.7など)は、これらのシーケンスをより一貫して処理します。

ルーティング設定にMCPサーバーを追加する

# ローカルサーバー(プロジェクトスコープ)— Claude Codeがプロセスを起動
claude mcp add my-server -- python my_server.py

# リモートHTTPサーバー — 既に実行中のサーバーに接続
claude mcp add remote-server --transport http https://your-server.example.com/mcp

リモートHTTPオプションは、独立して実行されているサーバーに接続します。Novita Agent Sandboxが構築されているのはこのアーキテクチャです。MCPサーバーは実行を継続し、ツール呼び出しが届くとオンデマンドでサンドボックスインスタンスを生成します。

Agent Sandboxでのツール実行

MCPツールにコードの実行、ファイルの処理、または外部システムの呼び出しが含まれる場合、その実行は開発マシン上ではなく、隔離された環境で行うことをお勧めします。NovitaのAgent Sandboxは、これをマネージドクラウドサービスとして提供します。

Sandboxインスタンスは、Claude Codeがコード実行ツールをトリガーしたときにMCPサーバーが作成する、短期間の隔離されたコンテナです。各コンテナは以下を提供します:

  • 隔離されたファイルシステム:ホストから分離されており、セッション間でデータが漏洩することはありません
  • プリインストール環境:一般的なデータサイエンスおよびスクリプト作成パッケージを備えたPython
  • 高速起動:200ms未満のコールドスタートで、低レイテンシーのツール呼び出しシーケンスに適しています
  • 秒単位の課金:アクティブな実行時間に対してのみ支払います
  • シェルとPythonの実行:マルチ言語ワークフローのための完全なコマンドラインアクセス

Sandboxを使用したルーティング設定のClaude Codeにおけるデータフローは次のようになります:

Claude Code
  → 推論リクエストをNovita LLM API(ルーター)に送信
  → モデルからツール呼び出しの決定を受信
  → ツール呼び出しをMCPサーバーに転送
    → MCPサーバーがNovita Sandboxインスタンスを作成
    → Sandboxがコードを実行し、出力を返す
    → MCPサーバーが結果をClaude Codeに返す
  → Novita LLM APIが結果を推論し、次のステップを決定

この分離により、信頼できないコードの実行を封じ込めながら、LLMルーターにマルチステップ推論のための結果への完全な可視性を提供します。

MCPツールハンドラー内からNovita Sandboxを使用するには、SDKをインストールします:

pip install novita-sandbox

次に、ツール実装内でサンドボックスインスタンスを作成して使用します:

from novita_sandbox.code_interpreter import Sandbox

def run_code_tool(code: str, api_key: str) -> dict:
    sandbox = Sandbox.create(
        template="code-interpreter-v1",
        api_key=api_key,
        domain="sandbox.novita.ai",
        timeout=300,
    )
    result = sandbox.run_code(code, language="python")
    sandbox.kill()
    return {
        "output": result.logs,
        "error": result.error,
    }

code-interpreter-v1テンプレートには、pandas、numpy、matplotlib、その他一般的に使用されるパッケージがプリインストールされているため、ほとんどのデータ分析およびスクリプト作成タスクは追加のセットアップ手順なしで実行できます。

ツール主体のワークフローに適したモデルの選択

ルーティング設定のClaude Codeにおいて、モデルの選択は2つのことに影響します。それは、何をすべきかを決定するための推論の質と、それを正しく実行するためのツール呼び出しの信頼性です。これらは常に相関するとは限りません。オープンエンドのタスクではうまく推論できるモデルでも、ツールに複雑な引数型がある場合、一貫性のない関数呼び出しスキーマを生成する可能性があります。

Qwen3-Coder 480B は、Claude Codeが多くのファイルを読み取り、アプローチを計画し、マルチステップの編集シーケンスを実行する必要がある長期的なコーディングタスクで優れたパフォーマンスを発揮します。その長いコンテキスト処理により、複雑なタスクの途中で以前のツール結果を見失う可能性が低くなります。

MiniMax M2.7 はエージェントの精度に調整されています。具体的には、誤ったツール呼び出しを最小限に抑え、各ステップが前の結果に基づいて構築されるマルチターンツールシーケンスを処理するように設計されています。いくつかの相互依存ツールがあるMCPセットアップでは、この精度により必要なリカバリループの数が減少します。

DeepSeek V4 FlashANTHROPIC_SMALL_FAST_MODELの実用的な選択肢です。高速で安価であり、Claude Codeがスモールモデルにオフロードするタスク(セッション要約、コンテキスト圧縮)は、プライマリコーディングタスクと同じ推論の深さを必要としません。

実用的な観察事項の1つ:多くのオプションパラメータやネストされたスキーマを持つツールを備えたカスタムMCPサーバーを構築している場合は、長期実行セッションにデプロイする前に、代表的な例を使用してモデルの呼び出し精度をテストしてください。ツール呼び出しエラーは、早期に発見されれば混乱は少なくなります。

よくある質問

Novita AIだけでなく、任意のLLMルーターをClaude Codeで使用できますか?

はい。ベースURLでAnthropicメッセージAPIを実装している任意のサービスが機能します。これには、Anthropic形式で設定されたLiteLLM、セルフホスト型プロキシ、または他の商用ルーターサービスが含まれます。ANTHROPIC_BASE_URLをそのエンドポイントに、ANTHROPIC_AUTH_TOKENを適切なキーに、ANTHROPIC_MODELをそのエンドポイントが認識するモデルIDに設定します。

非Anthropicプロバイダー経由でルーティングする場合、MCPツールは機能しますか?

はい。MCPはClaude Codeレイヤーで動作し、APIレベルでは動作しません。ルーターは、ツール使用に関する推論を行うモデルにのみ影響します。モデルがAnthropicメッセージ形式での関数呼び出しをサポートしている限り、MCPツールはプロバイダーに関係なく同じように機能します。

Novita AI経由でルーティングする場合、sonnetエイリアスが機能しないのはなぜですか?

Anthropicのモデルエイリアス(sonnetopushaiku)は、Claude Codeではなく、Anthropicのエンドポイントによって解決されます。サードパーティプロバイダー経由でルーティングする場合、Anthropicのエイリアス解決は関与しません。代わりに、プロバイダーからの特定のモデルIDにANTHROPIC_MODELを設定してください。

Anthropicのネイティブモデルに戻すにはどうすればよいですか?

現在のセッションのルーティング変数を設定解除します:

unset ANTHROPIC_BASE_URL
unset ANTHROPIC_AUTH_TOKEN
unset ANTHROPIC_MODEL
unset ANTHROPIC_SMALL_FAST_MODEL

Claude Codeは、次回の起動時に設定ファイルまたはAnthropic APIのデフォルトにあるものにフォールバックします。

サードパーティのルーターを使用するとレイテンシーのオーバーヘッドはありますか?

わずかな追加ネットワークホップがあります。インタラクティブセッションの場合、これは一般に気になりません。レイテンシーに敏感な自動パイプラインの場合は、採用前にプロバイダーの公開レイテンシー数値を確認してください。Novita AIは、LLM Metricsコンソールを通じて推論レイテンシーとスループットのメトリクスを公開しています。

Agent SandboxにはLLMルーターとは別のAPIキーが必要ですか?

いいえ。Novita AIのAPIキーは、LLM APIとAgent Sandboxの両方で機能します。ANTHROPIC_AUTH_TOKENに使用するのと同じキーを、MCPツール実装のSandbox.create()に渡します。

おすすめ記事


ソース確認日:2026年7月16日:Claude Code環境変数ドキュメントNovita AI LLM APINovita Agent Sandbox.