ドキュメント · プロバイダ
Mistral を Claude Code・Codex・Gemini CLI・OpenCode で使う
Mistral はモデルを一つの API、api.mistral.ai の OpenAI 形式の Chat Completions で提供しています。Mistral の API キーを magpie に一度追加すれば、Claude Code・Codex・Gemini CLI・OpenCode などつないだすべてのツールが、magpie のゲートウェイ 127.0.0.1:3425 経由で Mistral を使えます。ツールごとに別のモデルを選べます。別の API を話すツールのリクエストは、途中で magpie が変換します。
Mistral を追加する
- キーを取得console.mistral.ai で作ります。Le Chat プランの Vibe キーも同じプロバイダに入れます。
- プロバイダを追加magpie の プロバイダ で + プロバイダを追加 を押し、Mistral を選んでキーを貼り付け、保存します。magpie がそのキーで使えるモデルを Mistral に問い合わせます。
- ツールで選ぶエージェント タブで、ツールの行のモデルを押し、
mistral-large-4などの Mistral モデルを選びます。
magpie provider add mistral <key> magpie provider test mistral
magpie のモデル ID は プロバイダ/モデル の形なので、Mistral のモデルは mistral/mistral-large-4 のようになります。前がプロバイダ、後ろが Mistral 自身の ID です。キーは magpie の設定に保存され、magpie がシェルから読むことはありません。
OpenCode や Alma で Mistral をもう設定してあるなら、magpie がそれらのアプリから取り込むときに Mistral プロバイダとして入ります。キーごとに一つずつ項目を持つアプリ(“Mistral #0001”、“Mistral #0002”…)からは、その数だけキーを持つ一つの Mistral プロバイダになり、どのツールのモデル選択にも一度だけ並びます。
エンドポイント
| API | アドレス | 用途 |
|---|---|---|
| Chat Completions | https://api.mistral.ai/v1 | モデル一覧と、すべてのツールのリクエスト(OpenCode はそのまま、Claude Code・Codex・Gemini CLI は変換して) |
| 課金 | https://api.mistral.ai/v1/billing/budget、/v1/billing/subscription | キーのその月の Vibe 予算または API 予算と、加入しているプラン |
magpie の Mistral プロバイダには Anthropic Messages や Responses のアドレスがないので、どちらかを話すツールのリクエストは Chat Completions に変換し、返答を戻します。ストリーミングとツール呼び出しも含みます。
モデル一覧
magpie は一覧を Mistral の https://api.mistral.ai/v1/models から取得するので、ツールにはそのキーで使えるモデルが並びます。名前・推論レベル・価格は models.dev の mistral カタログから取り、Devstral・Codestral・Magistral のモデルにはどの選択肢でも Mistral のロゴが付きます。Mistral はほかのラボのモデルも提供しています。GLM や DeepSeek の deepseek-v4.1-flash-1017 などで、同じキーで使え、下に挙げる修正もそのまま効きます。ツールに見せるモデルは、プロバイダのモデル一覧かターミナルで選べます。
magpie provider models mistral +mistral-large-4 +mistral-medium-3.5 magpie provider refresh-every mistral 1d
ツールごとの使い方
magpie claude mistral/mistral-large-4 magpie codex mistral/mistral-large-4 magpie gemini model mistral/mistral-large-4 magpie opencode mistral/mistral-large-4
- Claude Code は Anthropic Messages を話しますが、Mistral はこれを提供していません。magpie が各リクエストを Chat Completions に変換し、返答を戻します。推論モデルの思考は、Claude Code には思考として、続いて本文として届きます。Claude Code で他のモデル。
- Codex は OpenAI Responses を話し、Mistral はこれも提供していないので、リクエストは変換して送ります。
apply_patchなどの Codex のカスタムツールは関数としてモデルに渡し、その呼び出しは Codex が実行できるカスタムツール呼び出しとして返します。Codex で他のモデル。 - Gemini CLI は Google の Gemini API を話します。magpie が各リクエストを Chat Completions に変換し、返答を戻します。Gemini CLI で他のモデル。
- OpenCode は Chat Completions を話すので、リクエストはそのまま Mistral に送ります。手を入れるのは下に挙げた点だけです。OpenCode で他のモデル。
magpie が Mistral 向けに直すもの
Mistral の API は受け付けるものに厳しく、推論モデルの思考も独自の形で返します。magpie はそのまま渡すリクエストでも変換するリクエストでも、途中でその両方を整えます。
- パートに分かれた思考。Mistral は推論モデルの思考を、型付きのパートとして
contentに入れて送ります。思考と本文が一つのチャンクに入ることもあります。Chat の仕様ではここは文字列です。OpenCode は最初のそうしたチャンクで止まっていました(“Invalid … stream event”)。magpie は思考をreasoning_contentに、本文を普通の文字列に移します。ストリーミングでもそうでなくても同じです。 - 送り返される思考。OpenCode は前のターンの思考を
reasoning_contentに入れて送り返しますが、Mistral はこれを 422extra_forbiddenで拒否します。magpie はそれを Mistral 自身が返すときの思考パートにして、そのターンの本文の前に置くので、思考はコンテキストに残ります。変換するリクエストも同じ扱いなので、Mistral が提供する DeepSeek のモデルでも Codex のツール呼び出しのループが止まりません。 - Mistral が知らないフィールド。OpenCode の
storeや Kimi Code の思考スイッチは 422extra_forbiddenになっていました。magpie は Mistral が名指しした省略可能なフィールドを外して問い合わせ直し、それで通れば以後 Mistral には送りません。 - Ollama のオプション。Hermes Agent のように、ゲートウェイを Ollama サーバーだと思ったツールは、Chat のフィールドの横に Ollama の
options(そのnum_ctx)を付けて送ります。magpie はそれを外すので、Mistral には届きません。
推論
- 推論の強さ。ツールが求める推論の強さは、カタログにあるそのモデルのレベルのうち最も近いものに合わせます。レベルがわからないモデルには、ツールが求めたとおりに送ります。
- 推論オフ。Gemini CLI のように magpie が変換するツールが推論をオフにし、モデルのレベルに
noneがあるとき、magpie は none を求めます。 - ターンをまたぐ思考。推論モデルの思考は、ツールごとにそのツールの形で届きます。OpenCode には
reasoning_content、Claude Code には思考ブロック、Codex には推論として。次のターンで送り返されると、Mistral には思考パートとして届きます。magpie が直すもの を見てください。
Web 検索
Mistral の Chat Completions API は magpie のために Web を検索しないので、どのツールでも magpie がモデルに自前の検索ツールを渡します。答えるのは設定で選んだ検索サービスで、選んでいなければ magpie が選びます。
Vibe・費用・使用量
- Vibe の月間予算。Le Chat プラン(Pro・Student・Team)には Mistral Vibe の 1 か月分が付いています。その Vibe キーの行には、その月の予算の使用量(Mistral が請求する通貨で)、リセット日、プラン名が表示されます。
- API の月間予算。コンソールで作った Studio キーには、組織の API 予算が “API · Month” として、Vibe の月とは別に表示されます。予算は組織のものなので、同じ組織のキーはどれも同じ数字になります。予算のないキーにはカードが出ません。
- 従量課金。従量課金をオンにしていると、予算を超えた分は止まらずに請求されるので、その月の予算を使い切ってもキーのモデルは止まりません。
- キャッシュのトークン。返答がキャッシュ済みのプロンプトトークンを報告すると、使用量 タブはそれをプロンプトの残りと分けて数えます。
- キャッシュを生かす。キーが複数あるとき、会話のキャッシュに残す価値があり(1,024 トークン以上)、まだ温かい(5 分以内に読まれた)あいだは、その会話は同じキーを使い続けます。
- 費用。使用量タブは、models.dev にある Mistral の価格で呼び出しごとに費用を計算します。magpie は Mistral から残高を読みません。
key-balanceで自分で入力すると、使用量ページはそこから magpie がそれ以降のキーの呼び出しに付けた費用を引いて表示します。
複数のキーとフェイルオーバー
一つの Mistral プロバイダに複数のキーを入れられます。その下の 別のキーを追加 を押すか、まとめて貼り付けます。リクエストはオンになっている最初のキーに行き、そのキーが尽きるかレート制限にかかると次のキーが引き継ぎます。
- 支出上限。
spend-capで、キーごとに 1 日・1 か月・累計のドル上限を決められます。金額は使用量タブの計算で数え、上限に達するとルーティングはほかのキーとフォールバックに移ります。 - フォールバック。
fallbackで、Mistral の枠が尽きたときや落ちたときの行き先を決めます。別のプロバイダのモデルか、ルーティンググループです。
magpie provider spend-cap mistral <key> 20 month magpie provider key-balance mistral <key> 25 magpie provider fallback mistral deepseek/deepseek-v4-pro
うまくいかないとき
- 422
extra_forbidden、“Extra inputs are not permitted”。Mistral が知らないフィールドを拒否しました。ツールがよく送るものは magpie が直してあり、Mistral が名指しした省略可能なフィールドは外して問い合わせ直します。magpie が直すもの を見てください。 - OpenCode で “Invalid … stream event”。Mistral がパートに分けて返した思考が原因です。magpie は思考を
reasoning_contentに、本文を文字列にして OpenCode に渡します。 - Vibe のカードが出ない。magpie がその月の予算を表示するのは、Mistral が Vibe キーか Studio キーだと答え、予算がゼロより大きいキーだけです。
- キーの確認。
magpie provider test mistralは各エンドポイントに、または指定した各モデルに小さなリクエストを送ります。--as codexや--as claude-codeを付けると、そのツールと同じ形で送ります。
よくある質問
Claude Code で Mistral を使うには?
magpie に Mistral の API キーを追加し(プロバイダ、プロバイダを追加、Mistral)、Claude Code の行で mistral-large-4 などの Mistral モデルを選ぶか、magpie claude mistral/mistral-large-4 を実行します。Mistral は Chat Completions しか提供していないので、magpie が Claude Code の Anthropic Messages リクエストを変換して https://api.mistral.ai/v1 に送り、返答を戻します。思考内容も含みます。
Codex で Devstral などの Mistral モデルを使えますか?
使えます。Devstral を含め、Mistral のキーで使えるモデルならどれでも Codex から使えます。Codex が話す OpenAI Responses を Mistral は提供していないので、magpie が各リクエストを Chat Completions に変換し、apply_patch などの Codex のカスタムツールを関数としてモデルに渡し、呼び出しを Codex が実行できる形で返します。
OpenCode で Codestral などの Mistral モデルを使うには?
magpie でモデルを選ぶか、magpie opencode mistral/mistral-large-4 を実行します。キーで Codestral や Devstral が使えるなら、使い方は同じです。OpenCode は Chat Completions を話すので、リクエストはそのまま Mistral に送ります。途中で直すのは Mistral が拒否するものだけで、OpenCode の store フィールドと、reasoning_content で送り返される前のターンの思考です。
Gemini CLI で Mistral を使えますか?
使えます。Gemini CLI は Google の Gemini API を話すので、magpie がリクエストを Mistral の Chat Completions に変換し、返答を戻します。ストリーミングとツール呼び出しも含みます。magpie gemini model mistral/mistral-large-4 を実行してください。
Mistral が 422 extra_forbidden を返すのはなぜ?
Mistral は知らないフィールドをすべて拒否します。magpie は前のターンの思考を Mistral が受け付ける思考パートにして送り、一部のツールが付ける Ollama のオプションを外します。store(OpenCode)のように Mistral が名指しした省略可能なフィールドは外して問い合わせ直し、それ以降は送りません。
Le Chat プランの Vibe 予算を magpie で見られますか?
見られます。Le Chat プラン(Pro・Student・Team)の Vibe キーには、その月の Vibe 予算の使用量、Mistral が請求する通貨、リセット日、プラン名が表示されます。コンソールで作った Studio キーには、代わりに組織の API 予算が “API · Month” として表示されます。
プロバイダ別:DeepSeek · Kimi と Kimi Code · GLM Coding Plan · Qwen · MiniMax · Gemini · Grok · OpenRouter · GitHub Copilot · Ollama
ツールごとのガイド:Claude Code で他のモデル、Codex で他のモデル、Gemini CLI で他のモデル、OpenCode で他のモデル。困ったときは Discord で質問してください。