MCPとは
モデルコンテキストプロトコルは、AIモデルを外部のデータソースやツールに安全に接続するためのオープンスタンダードです。CorgeaのMCP連携により、AIアシスタントは次の操作を行えます。- セキュリティスキャン結果の照会
- 脆弱性の詳細を取得する
- セキュリティの問題をリストおよびフィルタ
- コードの品質問題のリストおよびフィルター
- SCA、IaC、依存関係インベントリデータへのアクセス
- ブロッキングルールとポリシーのチェック
はじめに
前提条件
- Corgea APIトークン(アカウント設定から取得)
- MCP互換クライアント(例:Claude Desktop、Continue、または任意のMCPクライアント)
接続詳細
MCPサーバーURL:CORGEA-TOKEN ヘッダー内のCorgea APIトークンによる認証が必要です。
CorgeaはPOST上のJSONレスポンスによるステートレスMCPリクエストをサポートしています。スタンドアロンのサーバー送信イベント(SSE)ストリームはサポートされていません。
利用可能なツール
CorgeaのMCPサーバーは、AIアシスタント向けの以下のツールを提供しています:get_scan_info
特定のSASTスキャンに関する詳細情報を取得します。 パラメータ:scan_id(文字列、必須):スキャンの一意識別子
get_issue_info
特定のセキュリティ問題に関する詳細情報を取得します。 パラメータ:issue_id(文字列、必須):問題の一意識別子include_reachability(ブール型、任意):問題のエンドポイント到達可能性の詳細を含める
get_sca_issue_info
特定のソフトウェア構成分析(SCA)問題に関する詳細情報を取得します。 パラメータ:issue_id(文字列、必須):SCA問題の一意識別子
list_security_issues
任意のフィルターを適用してセキュリティ問題を一覧表示します。 パラメータ:scan_id(文字列、任意):スキャンIDで問題を絞り込むproject(文字列、任意):プロジェクト名で問題を絞り込むrepo(文字列、任意):リポジトリURLで問題を絞り込むinclude_reachability(ブール型、任意):各問題のエンドポイント到達可能性の概要を含める
list_code_quality_issues
コード品質の検出結果をセキュリティ問題とは分けて、任意のフィルターを適用して一覧表示します。 パラメータ:scan_id(文字列、任意):スキャンIDで問題を絞り込むproject(文字列、任意):プロジェクト名で問題を絞り込むrepo(文字列、任意):リポジトリURLで問題を絞り込むfilters(オブジェクト、任意):urgency、status、confidence、language、file_path、classification、sla_status、branch、show_false_positives、またはsort_byでフィルタリングpage(整数、任意):ページ番号page_size(整数、任意):ページあたりの結果数、最大50
classificationフィールドには、Maintainabilityのようなコード品質ラベルが含まれ、CWEではありません。誤検知はデフォルトで除外されます。
戻り値:
指定されたスコープとフィルターに合致するコード品質の問題のみです。
list_sca_security_issues
任意のフィルターを適用して、ソフトウェア構成分析(SCA)のセキュリティ問題を一覧表示します。 パラメータ:scan_id(文字列、任意):スキャンIDで問題を絞り込むproject(文字列、任意):プロジェクト名で問題を絞り込むrepo(文字列、任意):リポジトリURLで問題を絞り込むfilters(オブジェクト、任意):severity、package、ecosystem、cve、path、has_fix、branch、reachability、sort_byなどのフィールドでフィルタリングします。include_reachability(ブール値、任意):各SCA問題の依存関係の到達可能性の状態と説明を含める
reachability フィルター値は not_direct_dependency、 pending、 vulnerable_usage_reachable、 vulnerable_usage_unreachable、 dead_dependencyです。
戻り値:
SCA問題の一覧(脆弱性依存関係、CVE、バージョン情報を含む)。
例:
list_iac_security_issues
オプションフィルタリング付きのインフラストラクチャ・アズ・コード(IaC)セキュリティ問題をリストアップします。 パラメータ:scan_id(文字列、任意):スキャンIDによるフィルターの問題project(文字列、任意):プロジェクト名で問題を絞り込むrepo(文字列、任意):リポジトリURLによる問題のフィルタリングfilters(オブジェクト、任意):severity、provider、service、iac_type、rule_id、avd_id、path、search、sort_by、またはbranchでフィルタリングpage(整数、任意):ページ番号page_size(整数、任意):ページあたりの結果数、最大50
list_dependencies
スキャン中に検出されたソフトウェア依存関係をオプションのフィルタリングでリストアップします。 パラメータ:scan_id(文字列、任意):スキャンIDによる依存関係のフィルターproject(文字列、任意):プロジェクト名による依存関係のフィルターrepo(文字列、任意):リポジトリURLによる依存関係のフィルタリングfilters(オブジェクト、任意):name、version、type、path、purl、license、dep_type、search、sort_by、またはbranchでフィルタリングpage(整数、任意):ページ番号page_size(整数、任意):ページあたりの結果数、最大50
list_scans
任意のフィルタリング付きすべてのSASTスキャンをリストアップします。 パラメータ:project(文字列、任意):プロジェクト名によるフィルタースキャンrepo(文字列、任意):リポジトリのURLサブ文字列によるスキャンのフィルターbranch(文字列、任意):正確なブランチ名によるフィルタースキャンpull_request_id(文字列、任意):正確なプルリクエストまたはマージリクエスト識別子でスキャンをフィルタリングsha(文字列、任意):正確なコミットSHAでスキャンをフィルタリングmetadata_key(文字列、任意):このメタデータキーを含むスキャンをフィルタリング。metadata_valueと組み合わせると、キーと値の完全一致になりますmetadata_value(文字列、任意):metadata_keyに対する正確な値に一致させる。単独で使うとスキャンメタデータ全体を検索します
get_blocking_rules
組織に設定されたすべてのブロッキングルールを一覧表示します。 パラメータ: 全くありません 戻り値: セキュリティポリシーに基づくデプロイメントを防ぐブロッキングルールの一覧。 例:MCPクライアントの設定
Claude Desktop
CorgeaをClaudeデスクトップの設定に追加:- Claudeデスクトップ設定を開く
- 「開発者」セクションへ移動します
- MCPの設定ファイルを編集する
- Corgea MCPサーバーを追加:
Claude Desktop はこのファイル内の変数を展開しません。
${CORGEA_TOKEN} を解決するのは mcp-remote で、env ブロックが渡した環境から読み取るため、トークンはそこに記述する必要があります。CORGEA-TOKEN: の後にスペースを入れないでください。Windows 版の Claude Desktop は args 内のスペースをエスケープせず、ヘッダーが壊れて届きます。- 変更を有効にするためにClaude Desktopを再起動してください
Cursor IDE
CursorMCP設定にCorgeaを追加:- Cursor設定を開く(Cmd/Ctrl + Shift + J)
- 「Cursor設定」→「モデル」→「MCP」へ移動します。
-
または、以下で直接MCP設定ファイルを編集してください:
- macOS/Linux:
~/.cursor/mcp.json - Windows:
%APPDATA%\Cursor\User\mcp.json
- macOS/Linux:
- Corgea MCPサーバーを追加:
Cursor は
${env:NAME} を自身で解決するため、トークンはファイルではなく環境に置けます。この記法は Cursor 固有です。Claude Desktop で ${env:CORGEA_TOKEN} と書いても解決されず、ヘッダーは空のまま送信されます。上記と同様に CORGEA-TOKEN: の後にスペースを入れないでください。Cursor は自身のプロセス環境から変数を読み取ります。ターミナルでの
export CORGEA_TOKEN=... はそのシェルと子プロセスにしか影響しないため、Dock・スタートメニュー・デスクトップエントリから起動した Cursor は変数を認識できず、ヘッダーは空で送信されます。デスクトップセッションから参照できる場所に設定し、Cursor を再起動してください。- macOS:
launchctl setenv CORGEA_TOKEN <値>(再起動するまで有効) - Windows:
setx CORGEA_TOKEN <値>(ユーザーアカウントに永続化) - Linux:
~/.config/environment.d/corgea.confにCORGEA_TOKEN=<値>を記述し、ログインし直す
CORGEA-TOKEN ヘッダーが空で 401 が返るのがこの症状です。mcp-remote 設定を使用してください。接続時の 406 または Not Acceptable は、クライアントが SSE ストリームを開こうとしていることを示します。
IDE拡張を続ける
コンティニュー設定にCorgeaを追加:ユースケース
セキュリティ認識コードレビュー
AIアシスタントをCorgeaに接続し、次のような質問をしてください:- 「前回のスキャンで重要なセキュリティ問題は何だ?」
- 「認証モジュール内のすべてのSQLインジェクション脆弱性を表示してください」
- 「私の依存関係に重大度の高いSCA問題はありますか?」
脆弱性分析
AIに脆弱性の理解と優先順位付けを依頼できます:- 「セキュリティ問題456について説明し、修正方法を提案してください」
- 「どの脆弱性を、重大度や悪用可能性に基づいて最初に修正すべきか?」
- 「このデプロイを防ぐブロッキングルールは何ですか?」
自動修復計画
AIを活用してセキュリティ修正を計画する:- 「scan-123におけるすべての高重大度問題に対する修復計画を作成する」
- 「SCAの問題を修正するために更新が必要な依存関係は?」
- 「ファイルごとにグループ化されたすべてのオープンセキュリティ問題のレポートを生成する」
ベストプラクティス
APIトークンを安全に管理する
APIトークンを安全に管理する
- APIトークンをバージョン管理にコミットしない
- トークンを定期的に回転させる
- 環境変数の使用またはシークレット管理の安全化
- 侵害された場合、トークンを即時取り消す
効果的にフィルターを使います
効果的にフィルターを使います
- プロジェクト、リポジトリ、ブランチ、プルリクエストのフィルターを使って結果を絞り込む
- デバッグ時に特定のスキャンから始めます
- 作業の優先順位を決める際の重大度によるフィルタリング
パフォーマンスの最適化
パフォーマンスの最適化
- 必要なデータのみを要求する
- 可能な限り特定の問題/スキャンIDを使用する
- 適切な時のキャッシュ結果
- レート制限の遵守
認証
すべてのMCPツール呼び出しには、CORGEA-TOKEN ヘッダーに有効なCorgea APIトークンが渡されます。
トークンの入手方法:
- Corgeaのアカウントにログインする
- APIキー→設定へ移動する
- 新しいAPIトークンの生成
- トークンをコピーしてMCPクライアント設定に追加します
レスポンス形式
すべてのMCPツールのレスポンスは、標準的なCorgea APIレスポンス形式に従っています。 成功レスポンス:レートリミット
MCPリクエストは標準APIリクエストと同じレート制限の対象となります:- トークンあたり1分間に100件のリクエスト
- トークンあたり1時間あたり1000件のリクエスト
429 Too Many Requestsレスポンスが返ってきます。
トラブルシューティング
接続の問題
問題: MCPサーバーに接続できません 解決方法:/verifyエンドポイントを使ってAPIトークンの有効性を確認するCORGEA-TOKENヘッダーが正しく設定されているか確認- ネットワークがHTTPS接続を許可していることを確認する corgea.app
認証エラー
問題: 401 Unauthorizedレスポンスを受け取っています 解決方法:- APIトークンが期限切れしていないことを確認する
- トークンが
CORGEA-TOKENヘッダー(認可ではなく)で渡されているか確認 - トークンに必要な権限を確保
結果は空
問題: クエリがデータを返しません 解決方法:- Corgeaアカウントにデータが存在することを確認する
- フィルターパラメータ(scan_id、プロジェクト、リポジトリ、ブランチ、pull_request_id)が正しいか確認
- 正しい環境(マルチテナントか単一テナントか)を問い合わせているか確認する
サポート
API ドキュメント
Corgea APIについて詳しくはこちら
コミュニティに参加
Corgeaのコミュニティから支援を受けられます
認証ガイド
API認証について学ぶ
MCP 仕様
公式MCPのドキュメントを読んでください
次のステップ
- Corgeaアカウントの設定からAPIトークン を取得します
- MCPクライアント をCorgeaサーバーのURLとトークンで設定する
- AIアシスタントにスキャンについて尋ねて接続 をテストする
- セキュリティ分析や脆弱性修復 ユースケースを探る
