OhMyBug について
OhMyBugはコーディングエージェント向けのクラウドコードレビューサービスです。変更内のバグを探し、エージェントが各指摘を検証します。高速・詳細レビューがあり、実際のバグと確認された場合のみ課金されます。
主な機能
- 01高速・詳細クラウドレビュー
- 02差分、ファイル、コミット範囲のレビュー
- 03エージェントの検証後に課金
- 04対象アップロード前のシークレットスキャン
- 05差分のレビュー状況を確認するマージゲート
- 06レビューとバグの統計確認
活用シーン
- 01マージ前の変更チェック
- 02未コミットファイルや最近のコミットのレビュー
- 03GitHubリポジトリの最近の変更のスキャン
- 04最終差分のレビューまでマージをブロック
MCP 対応
MCPサーバーは、レビューの送信、指摘の取得、要求されたファイルの提供、判定の確定、残高確認のツールを公開します。クライアントは https://mcp.ohmybug.ai/mcp のリモートエンドポイントに接続します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.ohmybug.ai/mcpclaude mcp add --transport http ai-ohmybug-bughunter https://mcp.ohmybug.ai/mcp{"mcpServers":{"ai-ohmybug-bughunter":{"type":"http","url":"https://mcp.ohmybug.ai/mcp"}}}Cursor で開く{"servers":{"ai-ohmybug-bughunter":{"type":"http","url":"https://mcp.ohmybug.ai/mcp"}}}VS Code で開く{"mcpServers":{"ai-ohmybug-bughunter":{"type":"http","url":"https://mcp.ohmybug.ai/mcp"}}}{"mcpServers":{"ai-ohmybug-bughunter":{"serverUrl":"https://mcp.ohmybug.ai/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
OhMyBug plugin — bughunter
Claude Code が見逃したバグを見つけます。ご自身の Claude が実際のバグを確認した場合にのみお支払いいただきます。バグ検出レビューは 1 回 $4(バグの件数は問いません)、ご希望のディープハントは $12(大規模な変更の場合は $24)です。軽微な指摘は無料で、初回のレビューも無料です。
- 高速レビュー · $4 · 重大なバグの 73% を検出 · 最長 15 分
- ディープレビュー · $12(大規模な変更の場合は $24)· 重大なバグの 90% を検出 · 最長 2 時間
インストール(Claude Code)
claude plugin marketplace add OhMyX-AI/ohmybug-plugin
claude plugin install bughunter@ohmybug
設定はこれだけです。初回利用時に Claude Code がブラウザーで GitHub のサインイン画面を開き、無料の初回レビューが付いたアカウントが自動的に作成されます。コピーするキーはなく、設定ファイルに何も書き込まれません。
インストール(pi)
pi には MCP が組み込まれていないため、アダプターを追加してからサーバーを追加します。
pi install npm:pi-mcp-adapter
npx skills add OhMyX-AI/ohmybug-plugin --skill bughunter
プロジェクトのルートにある .mcp.json(または ~/.config/mcp/mcp.json)に追加します。
{
"mcpServers": {
"ohmybug": { "url": "https://mcp.ohmybug.ai/mcp", "auth": "oauth" }
}
}
pi を再起動し、/mcp-auth ohmybug を一度実行します。ブラウザーで GitHub のページが開き、無料の初回レビューが付いたアカウントが自動的に作成されます。その後、「バグを探して」と言うか、/skill:bughunter を実行してください。
キーを直接使いたい場合(CI)は、"auth": "oauth" の代わりに "auth": "bearer", "bearerTokenEnv": "OHMYBUG_API_KEY" を使用してください。
オプションのマージゲート(pi はブロッキングツールフックに対応しています)— .pi/extensions/ohmybug-gate.ts:
import { isToolCallEventType } from "@earendil-works/pi-coding-agent";
pi.on("tool_call", async (event) => {
if (isToolCallEventType("bash", event) && /\bgh pr merge\b/.test(event.input.command)
&& !process.env.SKIP_BUGHUNT) {
return { block: true, reason: "Final diff not hunted — run /skill:bughunter first (or SKIP_BUGHUNT=1)" };
}
});
インストール(Codex app / CLI)
プラグインパッケージをインストールすると、スキル、MCP サーバー、Codex のレビュー振り分けがまとめて設定されます。Codex では Claude Code と同じ GitHub OAuth フローを使用します。
codex plugin marketplace add OhMyX-AI/ohmybug-plugin
codex plugin add bughunter@ohmybug
codex mcp login ohmybug
codex update
最後の行は Codex 自体を最新の状態にします。必ず最後に実行してください。Codex がインストール方法を判別できない場合(別のアプリにバンドルされている場合など)はエラーで終了しますが、その時点でプラグイン、MCP サーバー、サインインはすでに設定されています。その Codex は、インストール時と同じ方法で更新してください。
インストール後に /hooks を一度開き、OhMyBug のフック定義を確認して信頼したうえで、新しい Codex スレッドを開始してください。現在の定義を信頼するまで、Codex は管理対象外のプラグインフックをスキップします。この手順を行わなくてもスキルと MCP はインストールされますが、自動レビューの振り分けは有効になりません。続いて、Codex に OhMyBug のクラウドハントを実行するよう依頼してください(または、プラグインのスタータープロンプトを使用してください)。コードレビューエージェントによるローカルの APPROVE は、マージの根拠にはなりません。
スキルのみを既存環境にインストールする場合
npx skills add でプラグインをインストールした場合は、スキルをそのまま残し、同じ MCP サーバーを明示的に追加してください。
npx skills add OhMyX-AI/ohmybug-plugin --skill bughunter
codex mcp add ohmybug --url https://mcp.ohmybug.ai/mcp
codex mcp add は OAuth を検出し、GitHub のサインインフローを自動的に開きます。
ヘッドレス CI では、運用担当者から発行された omb_ キーを使用してください。キーを取得するには、[email protected] にメールするか、@ohmybug に DM を送ってください。
export OHMYBUG_API_KEY=omb_...
codex mcp add ohmybug --url https://mcp.ohmybug.ai/mcp \
--bearer-token-env-var OHMYBUG_API_KEY
(OAuth の代わりにキーを使いたい Claude Code ユーザーも、同様に claude mcp add --transport http ohmybug https://mcp.ohmybug.ai/mcp --header "Authorization: Bearer $OHMYBUG_API_KEY" を実行できます。Authorization ヘッダーを明示すると、OAuth フローは無効になります。)
ご質問はこちら → Discord。
初回実行:プルリクエストは不要です
プロジェクトでエージェントを開き、/bughunter:review を実行します(または「コードのバグを探して」と伝えます)。そこにあるものを何でも調査します。main に対するブランチ、未コミットの変更、直近のコミット、あるいは Git リポジトリでないフォルダーの場合は、新しいコードとしてファイル自体を調査します。何かが送信される前に、どれを選んだかを伝えます。また、別の対象を指定することもできます(「src/solver/ を調査して」、「直近の 3 件のコミットを調査して」)。
GitHub リポジトリでは、/bughunter:scan を実行すると、このリポジトリで過去 30 日間に変更されたコードを調査します(2 週間の場合は /bughunter:scan 14)。サーバーは GitHub から履歴を読み取り、リポジトリをサーバー側でクローンします。お使いのマシンから何かがアップロードされることはありません。その後、期間内に変更されたコードを対象に詳細な調査(最大 150 分)を実行し、読み取れなかった内容をすべて記載した、統合レビューを返します。エージェントは通常の調査と同様に検出内容を検証します。料金は詳細な調査として設定されており、実際のバグが確認された場合に限り、通常は 12 ドル、大規模な変更では 24 ドルです。この機能には、そのリポジトリで OhMyBug GitHub App が必要です。リポジトリごとに週 1 回実行でき、マージのゲートにはなりません。
できること
- 調査そのものがレビューです。変更の準備ができたらすぐに実行し、ローカルレビューの代わりにします。
gh pr mergeの実行前には必ずゲートがセーフティネットとして機能し、最終的な差分が調査済みかを確認します(SKIP_BUGHUNT=1で 1 回だけスキップできます。レビューで修正を加えると差分が変わり、ゲートが再び有効になります)。 /bughunter:reviewを実行するか、「バグを探して」と伝えるだけで、差分と選択したコンテキストが OhMyBug のクラウドに送信されます。アップロード前に、対象となるファイルの一覧を正確に確認できます。- OhMyBug のモデル上で、複数の敵対的レビュアーが連携して調査します。トリアージを通過した検出内容だけが返されます。
- お使いのエージェントがコードベースに照らして各検出内容を検証し、REAL/NOT_REAL/UNCLEAR と報告します。判定を確認し、承認できます。
- 料金:実際のバグが確認されたレビューごとに定額料金がかかります。バグが 1 件でも 10 件でも同じ料金です。高速レビューは 4 ドル、詳細レビューは 12 ドル、大規模な変更(フォルダーチャンク 11 個以上)の詳細レビューは 24 ドルです。軽微な検出内容、レビューの実行、誤検出、判定不能は 0 ドルです。
/bughunter:statsで、検出したバグ数、実行したレビュー数、残高などの記録を確認できます。- 差分やファイルの内容がお使いのマシンから送信される前(
submit_review、provide_files)に、シークレットスキャンを実行します。認証情報(ベンダー名が接頭辞に付いたトークン、秘密鍵、キー関連ファイル)を含むペイロードは拒否され、値をマスクしたうえで該当するファイルと行が示されます。読み取れないペイロードも拒否されます。スキャンせずにペイロードを通すのは、次の 4 つの場合に限られます。ペイロードを送信しないリクエスト(リポジトリと参照先のみ)はスキャン対象がありません。python3がない場合は実行できず、その旨がシステムメッセージで通知されます。Windows では実行されません。非常に大きな差分の帯域外アップロードはスキャンされません。スキャンを無効にするには、settings.jsonのenvブロックでOHMYBUG_SECRET_SCAN=0を設定します。
各機能の動作場所
ブロックや拒否を行う処理はすべてシェルフックにあるため、どのクライアントでも同じように動作します。Claude Code のモッドは表示と提案を行いますが、拒否はしません。判断が必要な場合にだけボタンを表示します(費用が発生するディープハントの提案)。エージェント独自の監視機能が完了したハントを検知するため、その帯には起きたことだけが表示されます。
| Claude Code 2.1.287+ | 旧バージョンの Claude Code | Codex | |
|---|---|---|---|
| マージゲート、シークレットスキャン、ハント記録 | はい | はい | はい |
| ステータス行のハント状況、ハントの完了時またはファイルを要求したときのトースト | はい | — | — |
| 追跡中のハントが完了、失敗、またはファイルを要求したときにプロンプトの上に表示する帯:結果のみを通知し、ボタンはありません。エージェントがハントを読み取るか、次のターンが始まると消えます | はい | — | — |
ディープハントの提案(追跡中のハントの get_findings にある deep_offer)を ディープハントを実行 として表示 — 押すと同意したことになります — 今はしない は何も送信せず、今日はしない はエージェントに24時間、提案を保留するよう求めます | はい | — | — |
| ゲートに拒否されたマージ:ゲートのメッセージをそのまま帯に表示し、ボタンはありません。次のターンが始まると消えます | はい | — | — |
カード形式で表示する検出結果(show the raw answer を選ぶと元の内容を表示) | はい | — | — |
/hunts ペイン | はい | — | — |
読み取ったものの確認していないハント:その ID の confirm_findings を実行するまで、システムプロンプトとステータス行の両方に1行表示されます(bughunt <id> · verdicts not sent)。別のハントが実行中、または読み取り待ちの場合、ステータス行にはそのハントが表示されます | はい | — | — |
別のチャットで、またはモッドが認識できない方法で、すでに読み取られたか判定された完了済みハントは、ここではトースト、帯、再開、判定未送信の行のいずれも表示されません。モッドはステータス URL を確認します(完了済みで未読のハントは、数分おきに再確認します)。サーバーは、結果が読み取られたか、判定があるかを返します。ステータス URL に接続できない場合、エージェントがハントを読み取るか、次のターンが始まるまで帯は表示されたままです。
オプトインしない限り、モッドが独自にターンを開始することはありません。2つの環境変数で動作を調整できます(settings.json の env ブロック、またはチーム向けの管理対象設定で指定します)。
OHMYBUG_AUTO_RESUME=1— 追跡中のハントが完了、失敗、またはファイルを要求し、セッションがアイドル状態の場合、帯を表示する代わりにそのハントの次のステップを送信します。デフォルトでは無効です。OHMYBUG_STATUS=0— ステータス行を空にします。それに合わせてプロンプトの行も表示されなくなるため、エージェントがユーザーに見えない情報を知らされることはありません。
VS Code 拡張機能にはプロンプトの上に表示する帯はありません。トーストとステータス行で通知します。
組み込みモッドと同様に /plugin でモッドをオフにできます。シェルフックはそのまま残ります。
MCP の仕様(サーバー:https://mcp.ohmybug.ai/mcp)
| ツール | 入力 | 出力 |
|---|---|---|
submit_review | diff、files[{path, content}]、meta{language?, base_branch?, repo?, ref?} | {review_id, status, mode, pending_verdicts[]} |
get_findings | review_id | {status: running|needs_files|done|failed, findings[{finding_id, severity, file, line?, title, failure_scenario, suggested_fix?}]} |
provide_files | review_id、paths[](Claude Code:プラグインのフックがディスクから読み取ります)、または files[{path, content}] | {status, delivered} |
confirm_findings | review_id、verdicts[{finding_id, verdict: REAL|NOT_REAL|UNCLEAR, reason}] | {confirmed, minor_confirmed, billed_usd, free_review_used, balance_usd, receipt_id} |
get_balance | — | {balance_usd, free_reviews_left, confirmed_total, stats{…}} |
エラー:payment_required(チャージしてください)、pending_verdicts(先に前回のレビューの判定を解決してください)。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。