gmi-security-mcp について
gmi-security-mcpは、GMI Inferenceを使ってsemgrepの検出結果をトリアージし、リポジトリをスキャンするコーディングエージェント向けMCPサーバーです。コスト見積もり、アドバイザリ確認、再現可能な検証を備え、生成したPoCの実行前には人による確認が必要です。
主な機能
- 01semgrep検出結果のトリアージ
- 02semgrepとOSVによるリポジトリスキャン
- 03OSVによるロックファイル確認
- 04実行前のコスト見積もり
- 05決定論的なPoCによる検証
- 06送信前のシークレット除去
活用シーン
- 01エディター内でsemgrep結果をトリアージ
- 02リポジトリの検出結果と依存関係を確認
- 03検出事項の確定前に疑わしい問題を検証
MCP 対応
このサーバーは、検出結果のトリアージ、リポジトリスキャン、OSV確認、検証などのセキュリティ分析ツールをMCPクライアントに提供します。stdio MCPサーバーとして動作し、モデルを使う分析にはGMI Inference APIキーが必要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
15掲載時のツール一覧 · 1 日前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| code | string | はい | |
| file | any | いいえ | |
| line | any | いいえ | |
| check | any | いいえ | |
| db_path | any | いいえ | |
| finding | string | はい | |
| threshold | number | いいえ | |
| two_stage | boolean | いいえ | |
| max_tokens | integer | いいえ | |
| stage1_model | any | いいえ | |
| stage2_model | any | いいえ | |
| spend_cap_usd | number | いいえ |
詳細
gmi-security-mcp
コーディングエージェント向けのセキュリティ MCP サーバーです。GMI Inference を利用します。エージェントはエディター内で、semgrep の検出結果をトリアージし、リポジトリをスキャンし、ロックファイルを OSV と照合し、実行可能な PoC で検出結果を検証できます。実行のたびに、事前に費用が表示されます。
PyPI: https://pypi.org/project/gmi-security-mcp/ — MCP Registry: https://registry.modelcontextprotocol.io/v0/servers?search=gmi-security-mcp — Repo: https://github.com/Jayanng/gmi-security-mcp
インストール
Python 3.13 以降と GMI Inference API キーが必要です。ローカルリポジトリには GitHub トークンは必要ありません。
pip install gmi-security-mcp
export GMI_API_KEY="your-gmi-key"
gmi-security-mcp --list-tools
15 個のツール名が表示されます。gmi-security-mcp を使って stdio MCP サーバーとしてサーバーを起動するか、mcp-test を使って組み込みの 12 個のサンプルを実行できます。デフォルトのモデルでは、費用は $0.02 未満です。pipx install gmi-security-mcp も、隔離された venv 内で同様に動作します。
クイックスタート
claude mcp add gmi-security-mcp -e GMI_API_KEY="your-gmi-key" -- gmi-security-mcp を使ってサーバーを Claude Code に追加するか、.mcp.json に以下を記述します。
{
"mcpServers": {
"gmi-security-mcp": {
"command": "gmi-security-mcp",
"env": { "GMI_API_KEY": "your-gmi-key" }
}
}
}
Claude Code、Codex、Cursor 用の設定ファイルは install/ にあります。エディターでのテスト状況:Claude Code と Codex は登録と tools/list のみテスト済みで、Cursor はエンドツーエンドのテストを実施していません。TUTORIAL.md のセクション 2 を参照してください。
ツール
| ツール | 機能 |
|---|---|
triage_semgrep_finding | 1 件の検出結果をトリアージします。検証済みの判定(実際の問題または誤検知)、重大度、信頼度、理由、修正方法を返します。 |
repo_scan | semgrep と osv-scanner でリポジトリをスキャンし、各検出結果を 2 段階でトリアージします。JSON レポートを返します。 |
check_osv_advisory | 1 つのロックファイルを OSV と照合します。GMI 呼び出しはありません。 |
explain_cve | アドバイザリに基づき、CVE、GHSA、または OSV ID を引用付きで説明します。 |
draft_private_disclosure | 実際の問題と確認された検出結果をもとに、非公開の開示文を作成します。下書きのみで、送信されることはありません。 |
estimate_cost | 費用が発生する前に実行のコストを見積もります。GMI 呼び出しも費用もありません。 |
verify_finding | 決定論的オラクルと実行可能な PoC で検出結果を証明します。 |
list_findings | 保存済みの検出結果を一覧表示します。要約のみで、コードは含まれません。 |
get_finding | 保存済みの検出結果 1 件を全内容表示します。コード、証拠、判定履歴、検証結果が含まれます。 |
update_finding | 保存済みの検出結果を更新します。理由が必要です。 |
mark_fp | 理由を添えて、検出結果を誤検知としてマークします。 |
mark_confirmed | 理由を添えて、検出結果を確認済みとしてマークします。再現された検証がある場合に限ります。 |
list_rules | カスタム semgrep ルールパックを一覧表示します。8 個のルールがあり、すべてデフォルトで有効です。 |
scope_enable | スコープファイルを使って、1 つのリポジトリに対するスコープポリシーを有効にします。 |
scope_disable | 1 つのリポジトリに対するスコープポリシーを無効にします。 |
コストと安全性
実行のたびに、事前にコストを見積もります。デフォルトの上限はツール呼び出し 1 回あたり $1.00 で、$5.00 を超えることはできません。Gemini 3.5 Flash Lite では、検出結果 1 件あたり通常 $0.0001〜$0.001 です。モデルによる判定だけで検出結果が確認済みになることはありません。決定論的オラクルで再現できた場合に限り確認済みとなり、生成された PoC も、レビューして確認するまではホスト上で実行されません。GMI に送信される前にシークレットはすべてマスキングされ、キーは GMI_API_KEY からのみ取得されます。ファイルから取得することはありません。このサーバーが下書きを送信したり、PR として開いたり、フォークしたり、プッシュしたり、メールで送信したりすることはありません。
ドキュメント
- TUTORIAL.md:実際の出力を含む、コマンドごとの完全なチュートリアルです。ツールの詳細、コスト記録、制限事項、リポジトリ構成を掲載したリファレンス付録も含まれます。
- CHANGELOG.md:バージョン履歴です。0.5.8 の新機能も記載されています。
- DECISIONS.md:設計上の決定と、その根拠となる監査記録です。
- DATA_SOURCES.md:モデルの料金情報の取得元と、最後に実際に再確認した時期を記載しています。
開発
python3 -m venv .venv
.venv/bin/pip install -e ".[dev]"
python3 -m pytest tests/ -q
ユニットテストにはキーもネットワークも必要ありません。328 件のテストが成功します。ライブテストは個別に実行され、上限が設定されています。完全な実行 1 回あたり $1.00、ビルド全体で合計 $5.00 です。
ライセンス
MIT です。LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。