Claude Media
Claude Codeでwandb MCPサーバーを使い実験結果を読む手順

Claude Codeでwandb MCPサーバーを使い実験結果を読む手順

W&B公式のMCPサーバーをClaude Codeに登録し、実験のRunや損失曲線、Weaveのトレースを自然言語で読む手順。認証、読み取り専用モード、質問の書き方まで。

Weights & Biases(W&B)は、機械学習の実験管理とLLMアプリのトレース(Weave)を扱うサービスです。W&Bが公開しているMCP(Model Context Protocol)サーバーを使うと、Claude Codeの会話から実験のRunやトレースを問い合わせられます。ダッシュボードを開かずに「評価精度の上位5件」や「最近の失敗トレースの傾向」を聞ける形です。

登録は claude mcp add の1行で済みます。この記事では、その1行の中身、使えるツールの分類、読み取り専用で運用する方法、質問の書き方を順に扱います。

W&B MCPサーバーでできること

W&B MCPサーバーは、W&Bのデータを自然言語で問い合わせるためのサーバーです。READMEの用途は4つに分かれています。

用途

READMEが挙げる4つの用途

  • 実験の分析

    「my-team/my-projectでeval/accuracyが高い上位5件のRunを見せて」のような問い合わせです。

  • トレースの調査

    Weaveに記録したLLMのトレースを読み、失敗の傾向を説明させます。

  • レポート作成

    Runを比べるW&Bレポートを、グラフ付きで作らせます。

  • ドキュメント検索

    W&Bの公式ドキュメントを、同じMCP接続の中で検索します。

ほかのMCPサーバーを同じ流れで繋いだ例は、GA4のMCPサーバーやAuth0のMCPサーバーの記事にあります。

登録する前に用意するもの

必要なのはW&Bのアカウントと、APIキーの2つです。READMEは、APIキーを wandb.ai/authorize のページから取得するよう案内しています。

接続先は2通りです。

方式接続先向く場面
ホスト版接続先https://mcp.withwandb.com/mcp向く場面通常の利用。インストール不要
ローカル(STDIO)接続先手元で uvx により起動向く場面自前のW&Bインスタンスを使う場合など

READMEはホスト版を推奨しています。理由として、インストールが不要なこと、リリースの更新をW&Bが管理すること、同時利用を守る負荷制限が組み込まれていることを挙げています。過負荷のときは再試行可能な応答が返る設計なので、混雑時の失敗は一度やり直す価値があります。W&B DedicatedやSelf-Managedの環境では、運用者がチャートで有効にしていれば https://<your-instance>/mcp が接続先になります。

ホスト版をClaude Codeに登録する

READMEのClaude Code向け手順は、次の1コマンドです。

claude mcp add --transport http wandb \
  https://mcp.withwandb.com/mcp --scope user \
  --header "Authorization: Bearer <your-api-key-here>"

Claude Codeの側から見ると、これはBearerトークン付きのHTTPサーバーを足すコマンドです。--transport http でリモートサーバーを指定し、--header で認証ヘッダーを付けています。短縮形の -t と -H も使えます。

スコープはAPIキーの置き場所で決める

--scope は設定の保存先を決めます。

スコープ読み込まれる範囲チームと共有保存先
local(既定)読み込まれる範囲追加したプロジェクトのみチームと共有しない保存先~/.claude.json
project読み込まれる範囲そのプロジェクトチームと共有する(バージョン管理経由)保存先プロジェクト直下の .mcp.json
user読み込まれる範囲自分の全プロジェクトチームと共有しない保存先~/.claude.json

READMEの例は --scope user なので、キーは ~/.claude.json に入り、どのプロジェクトからもW&Bを呼べます。特定の研究リポジトリだけで使うなら、--scope を外して既定のlocalにする選択肢もあります。

チームで同じ設定を共有したいときは --scope project を使います。キーをそのまま .mcp.json に書いてコミットすると、キーがリポジトリに残ります。.mcp.json ではヘッダー値に環境変数を展開できるので、キーは環境変数に逃がします。

{
  "mcpServers": {
    "wandb": {
      "type": "http",
      "url": "https://mcp.withwandb.com/mcp",
      "headers": {
        "Authorization": "Bearer ${WANDB_API_KEY}"
      }
    }
  }
}

${VAR} が未設定で既定値もない場合、設定は読み込まれますが、展開されない ${VAR} の文字列がそのまま使われます。claude mcp list に警告が出るので、登録後に一度確認すると気づけます。

接続を確かめる

登録したら、一覧で状態を見ます。

claude mcp list

✔ Connected が出れば接続できています。✘ Failed to connect の場合は、失敗の詳細がHTTPステータスやサーバーのエラー文付きで同じ行に出ます。キーを貼ったときに前後へ空白や改行が混ざると、Claude Codeが headers.Authorization の名前を挙げて警告します。値は自動では削られないので、設定を直して貼り直します。

セッション内では /mcp でも同じ状態を見られます。接続が切れたサーバーをまとめて繋ぎ直すには、/mcp reconnect allが使えます。

使えるツールを知っておく

接続すると、W&B側のツールがClaude Codeに渡ります。READMEの表をもとに、用途で分けると次のとおりです。

用途主なツール聞ける内容の例
実験Runの読み取り主なツールquery_wandb_tool / probe_project_tool聞ける内容の例条件に合うRunの抽出、使えるメトリクスの確認
学習曲線主なツールget_run_history_tool聞ける内容の例損失と検証損失の推移
Runの比較・診断主なツールcompare_runs_tool / diagnose_run_tool聞ける内容の例3つのRunの設定差、発散の原因探し
LLMトレース(Weave)主なツールinfer_trace_schema_tool / query_weave_traces_tool / count_weave_traces_tool聞ける内容の例失敗トレースの抽出、件数の集計
評価結果主なツールsummarize_evaluation_tool聞ける内容の例評価の要約
アーティファクト・レジストリ主なツールlist_artifact_versions_tool / compare_artifact_versions_tool ほか聞ける内容の例モデルバージョンの差分
書き込み系主なツールcreate_wandb_report_tool / log_analysis_to_wandb聞ける内容の例レポート作成、分析結果のRunとしての記録
ドキュメント検索主なツールsearch_wandb_docs_tool聞ける内容の例Weaveのスコアラーの作り方

表のほかに、エージェントの実行データ(OpenTelemetryのスパン)を読むツール群や、W&Bのホスト型エージェントに作業を任せるARIAのツール群もあります。これらは通常のプロファイルには含まれず、明示的に選ぶものです。まずは上の表の範囲で十分です。

読み取り専用で運用する

実験データを読ませたいだけなら、書き込み系のツールは外しておけます。READMEには、WANDB_MCP_ACCESS_MODE=read-only を設定すると、書き込みに分類されたツールがすべて除かれると書かれています。対象には create_wandb_report_tool と log_analysis_to_wandb が含まれます。query_wandb_tool は、どのモードでも読み取り専用です。

この環境変数を使うのは、サーバーを手元で起動するローカル方式です。ローカル方式の登録は、次の形になります(vX.Y.Z はREADMEの指示どおり、リリース一覧にある署名済みの版に置き換えます)。

claude mcp add wandb \
  --env WANDB_API_KEY=<your-api-key> \
  --env WANDB_MCP_ACCESS_MODE=read-only \
  -- uvx --from git+https://github.com/wandb/wandb-mcp-server@vX.Y.Z \
  wandb_mcp_server

-- より後ろが、サーバーを起動するコマンドです。uv が未導入なら、先に入れておきます。自前のW&Bインスタンスに繋ぐときは、env に WANDB_BASE_URL も足します。

ホスト版には WANDB_MCP_ACCESS_MODE を渡す場所がありません。書き込み系ツールを止めたいときは、Claude Codeの permissions の deny に mcp__wandb__create_wandb_report_tool と mcp__wandb__log_analysis_to_wandb を入れます。MCPのルールは mcp__<サーバー名>__<ツール名> の形で、サーバー名は claude mcp add で付けた名前です。deny は呼び出しそのものを拒否し、毎回確認に回す ask とは動きが違います。

ローカル版で調整できる環境変数

ローカル方式では、サーバーの挙動をいくつかの環境変数で切り替えられます。READMEの一覧から、Claude Codeで使う場面に関わるものを抜き出します。

環境変数既定値効果
WANDB_MCP_TOOL_PROFILE既定値models-weave効果公開されるツールの組み合わせ(プロファイル)を選ぶ
WANDB_MCP_ACCESS_MODE既定値read-write効果read-only で書き込み系ツールを除く
WANDB_MCP_PROXY_DOCS既定値true効果ドキュメント検索の中継を切り替える
MCP_SERVER_LOG_LEVEL既定値記載なし効果ログの詳しさ(DEBUG / INFO / WARNING / ERROR)
MCP_ANALYTICS_DISABLED既定値記載なし効果サーバーの利用状況イベントを無効にする

ドキュメント検索は、W&Bのドキュメント用MCPサーバーを別に繋いでいる場合に切るためのスイッチです。同じ検索が二重に出るのを避けられます。

テレメトリについて、READMEは「生のツール引数はログに記録しない」と書いています。ただし MCP_LOG_PRIVACY_LEVEL の既定は off で、認証済みのW&Bユーザー名が利用状況イベントに含まれることがあります。共有環境や、ユーザー名を外へ出したくない運用では、strict(SHA-256の仮名化)を選ぶか、MCP_ANALYTICS_DISABLED で無効にします。ホスト版を使うなら、この調整はW&B側の運用に委ねる形になります。

質問の書き方

READMEの使い方のヒントは3点です。ここでは、Claude Codeへの指示に落とした形で示します。

  • エンティティ(チームまたはユーザー)名とプロジェクト名を、最初に必ず書く
  • 「いちばん良い評価は?」のような広い問いは避け、「f1が最高の評価はどれか」まで絞る
  • 広い問いに答えさせるときは、結果が全体かどうかを必ず確かめる

例えば、次のような依頼になります。

my-team/image-clf プロジェクトで、eval/accuracy が高い上位5件のRunを出して。
各Runの learning_rate と batch_size も並べて。

トレースの調査なら、READMEが勧める順序に沿います。先に infer_trace_schema_tool でフィールドを調べ、そのあと query_weave_traces_tool で列を絞って読む流れです。

my-team/support-agent の最新100件のトレースを見て、失敗の多い原因を説明して。
まずスキーマを調べてから、必要な列だけ取得して。

query_weave_traces_tool の detail_level には3段階があります。

detail_level返る内容
schema返る内容構造のフィールドのみ(閲覧が速い)
summary返る内容切り詰めた入出力(既定)
full返る内容切り詰めなしの全データ

最初は既定の summary で眺め、気になるトレースだけ full で掘る使い方が、トークンを無駄にしません。

結果が全体かどうかを確かめる

READMEによると、コレクションや評価を返すツールは total_count / returned_count / has_more / project_exhaustive / sampled / truncated といった項目で、返した範囲を報告します。広い問いでは、これらの意味をClaudeに説明させてから結論を読みます。上位100件だけを見た結果を、プロジェクト全体の結論と取り違えないための確認です。

学習曲線も同じで、get_run_history_tool の samples は全キー合計の行数の上限であり、キーごとの上限ではありません。損失と検証損失を同時に出させると、1キー当たりの点が思ったより少ないことがあります。

つまずきやすい点

つまずき

登録後に起きやすいこと

  • 401で接続に失敗する

    Authorization ヘッダーのキーが誤っているか、前後に空白が混ざっています。claude mcp list の失敗詳細とホワイトスペース警告で切り分けられます。

  • OpenAI系クライアントの設定を流用した

    READMEにはOpenAI Response API用の例もありますが、これはAPI側から呼ぶ別経路です。Claude Codeでは claude mcp add を使います。

  • ローカル版が起動しない

    READMEの vX.Y.Z は置き換え前提の記号です。そのまま貼ると、存在しないタグを指定することになります。

  • 出力が大きすぎて切れる

    MCPツールの出力が1万トークンを超えると警告が出て、既定では2万5千トークンで切られます。MAX_MCP_OUTPUT_TOKENS で上限を上げられますが、まずW&B側で件数や列を絞るほうが効きます。

ローカル方式で環境変数を渡すとき、stdioのMCPサーバーへ何が引き継がれるかはCLAUDE_CODE_MCP_ALLOWLIST_ENVの記事で扱っています。

まとめ

W&B MCPサーバーを入れると、Claude Codeが実験管理の画面の代わりに、Runの抽出や比較、Weaveトレースの失敗調査を担当します。使い始めは、ホスト版を claude mcp add で登録し、claude mcp list で接続を確かめ、プロジェクト名を添えた具体的な問いから始めるのが安全です。

書き込みを許したくない運用では、ローカル版なら WANDB_MCP_ACCESS_MODE=read-only、ホスト版なら書き込み系ツールへの deny ルールで止めます。結果の件数や切り詰めの有無を確かめる習慣があれば、上位100件だけを全体と読み違える事故は防げます。

この記事を共有:XはてブLinkedIn