Bencher MCP の使い方
Bencher MCP はホスト型の Model Context Protocol(MCP)サーバーです。
bencher CLI をインストールしなくても、AI エージェントやアシスタントがベンチマークデータを照会し、ベンチマーク結果を送信できます。
bencher CLI が利用できる場合は、引き続き CLI が Bencher を使う推奨の方法です。
bencher run はベンチマークハーネスのアダプター、イテレーション、CI 連携を処理します。
CLI がインストールされていない場合や、MCP クライアントがシェルコマンドを実行できない場合に Bencher MCP を使用してください。
接続
Bencher は、claude.ai、Claude Desktop、Claude Mobile、Claude Code で使える Claude コネクターディレクトリ に掲載されています。 Bencher コネクターを追加し、Claude に求められたら Bencher アカウントでサインインします。 Claude Code は、claude.ai のサブスクリプションでログインしている場合、claude.ai で追加したコネクターを使用します。 このコネクターは Bencher Cloud にのみ接続します。
Bencher は、ChatGPT と Codex で使える OpenAI プラグインディレクトリ に掲載されています。
Bencher プラグインを追加し、求められたら Bencher アカウントでサインインします。
Codex では、プラグインが Bencher スキルも追加するため、Codex は bencher CLI を実行できます。
このプラグインは Bencher Cloud にのみ接続します。
その他の MCP クライアント、claude.ai のサブスクリプションでログインしていない Claude Code、Bencher Self-Hosted、CI では、代わりに URL を使用します:
| デプロイメント | URL |
|---|---|
| Bencher Cloud | https://mcp.bencher.dev/mcp |
| Bencher Self-Hosted | https://<api-host>/mcp |
MCP クライアントに URL を追加し、クライアントに求められたら Bencher アカウントでサインインします。 Claude Code は OAuth でサインインし、Bencher Self-Hosted サーバーを URL で追加した場合は ChatGPT と claude.ai も OAuth でサインインします。 たとえば、Claude Code から接続するには:
claude mcp add --transport http bencher https://mcp.bencher.dev/mcpツールがサインインを必要としたら、Claude Code で /mcp を実行し、ブラウザーの手順に従ってください。
代わりに API キーで接続するには、Authorization ヘッダーで送信します:
claude mcp add --transport http bencher https://mcp.bencher.dev/mcp \ --header "Authorization: Bearer $BENCHER_API_KEY"または、汎用的な MCP クライアント設定を使用します:
{ "mcpServers": { "bencher": { "type": "http", "url": "https://mcp.bencher.dev/mcp", "headers": { "Authorization": "Bearer ${BENCHER_API_KEY}" } } }}認証
OAuth でサインイン
OAuth をサポートする MCP クライアントは Bencher アカウントでサインインするため、クライアントにキーを貼り付ける必要はありません。
クライアントは、接続時、またはツールが初めてサインインを必要としたときに、ブラウザーで Bencher を開きます。
Bencher はアプリをその Web アドレスで示し、アプリが求めている操作を一覧表示します。
ログインするか、ユーザー API キー(bencher_user_*)を貼り付けてから、承認または拒否します。
Bencher はアプリが接続するたびに確認し、プロジェクト API キー(bencher_run_*)では承認できません。
アプリは最長 1 年間接続されたままになります。
ユーザー API キーで承認したアプリは、そのキーが取り消されるか期限切れになった時点で切断されます。
OAuth アクセストークンは Bencher MCP 用です:
Bencher API は 401 Unauthorized で拒否します。
Bencher Self-Hosted では、API サーバーの plus.oauth セクションを設定するとサインインできるようになります。
ChatGPT と claude.ai は、インターネットからサーバーに到達できる必要があります。
Claude Code は、サーバーが Claude Code のクライアントメタデータドキュメントを取得できるか、plus.oauth.clients に設定されていれば、自分のネットワーク内の https で提供されるサーバーにもサインインできます。
スコープ
アプリが求めるスコープは、すべて承認するか、どれも承認しないかのどちらかです:
| スコープ | アプリができること |
|---|---|
projects:read |
プライベートプロジェクトを含め、プロジェクトとその結果を表示する |
projects:write |
プライベートプロジェクトを含め、プロジェクト内のレポート、しきい値、アラートなどのデータを表示、作成、変更し、プロジェクトを作成する、または unclaimed の組織を請求する実行を送信する |
openid |
どの Bencher アカウントでサインインしているかを知る |
email |
メールアドレスと、それが確認済みかどうかを表示する |
profile |
名前とユーザー名を表示する |
読み取りツール(list_*、view_*、query_perf、perf_image)には projects:read が必要です。
その他のツールにはすべて projects:write が必要で、これには projects:read が含まれます。
どちらも求めないアプリには projects:read が付与されます。
projects:write なしでサインインしたアプリは、書き込みを行うツールを呼び出すと、再度サインインを求められます。
openid、email、profile のスコープは OpenID Connect 用で、サーバーに plus.oauth.signing_key がある場合にのみ利用できます。
アプリはあなたとして動作します: 各プロジェクトで何を表示・変更できるかは引き続きあなたのロールで決まり、サーバー管理者の権限を持つことはありません。
接続済みアプリ
アカウントに接続されているアプリを確認するには、Bencher Console のアカウントメニューから Connected Apps を開くか、/console/users/apps にアクセスします。
各アプリは Web アドレスで一覧表示され、できること、接続日時、最後にアクセスを更新した日時、承認方法が表示されます。
Revoke を押すと、アプリはすぐに切断されます。
API キー
Bencher MCP は Bencher API と同じ Authorization: Bearer 認証情報も受け付けます:
プロジェクト API キー(bencher_run_*)またはユーザー API キー(bencher_user_*)です。
プロジェクト API キーは単一のプロジェクトにスコープされるため、ほとんどのエージェントに最適な選択です。
ユーザー API キーはユーザーのすべてのプロジェクトにアクセスできます。
無効な認証情報はすべてのリクエストで拒否され、匿名として扱われることはありません。
サインインなし
パブリックプロジェクトは認証情報なしで読み取れます。 匿名のリクエストは IP アドレスごとのレート制限を共有し、サインインしたリクエストはあなた自身の制限に計上されます。 サーバーで OAuth が設定されている場合、匿名のツール呼び出しにサインインが必要なときは、Bencher MCP がクライアントにサインインを求めます:
- プライベートプロジェクトの読み取り。存在しないプロジェクトにも同じ応答が返るため、プロジェクトや ID を打ち間違えた場合も、パブリックプロジェクト内であっても、サインインを求められます。
- 書き込みを行うツールの呼び出し。ただし
unclaimedプロジェクトへのsubmit_runは除きます。 list_projectsによる組織のプロジェクト一覧の取得。- 匿名のレート制限の超過。
ツール
ツールの範囲は、プロジェクト API キー(bencher_run_*)で実行できる操作を反映しています:
プロジェクトスコープの読み取りと書き込みで、削除ツールはありません。
リネームのツールも存在せず、プロジェクト API キーではアラートの更新はステータスのみに制限されます。
ほとんどのツールは project 引数を取り、プロジェクトのスラッグまたは UUID を受け付けます。
| ツール | 用途 |
|---|---|
submit_run |
ベンチマークハーネスの生の出力を送信します。サーバーが解析し、ブランチ、テストベッド、しきい値を必要に応じて自動作成します |
query_perf, perf_image |
ベンチマークメトリクスの推移を照会し、パフォーマンスプロット画像を生成します |
list_projects, view_project |
プロジェクト |
list_reports, create_report, view_report |
レポート |
list_branches, create_branch, view_branch, update_branch |
ブランチ |
list_testbeds, create_testbed, view_testbed, update_testbed |
テストベッド |
list_benchmarks, create_benchmark, view_benchmark, update_benchmark |
ベンチマーク |
list_measures, create_measure, view_measure, update_measure |
メジャー |
list_thresholds, create_threshold, view_threshold, update_threshold |
しきい値 |
list_alerts, view_alert, update_alert |
アラート |
view_metric |
単一のメトリクスとその完全なコンテキスト |
list_plots, create_plot, view_plot, update_plot |
保存済みダッシュボードプロット |
list_jobs, view_job |
ベアメタルランナージョブ |