Bugcrowd Mcp について
Bugcrowd MCP Server は REST API を介して LLM や自動化ワークフローを Bugcrowd に接続します。セキュリティチームや開発者がリソースを検索・管理できます。
主な機能
- 01文書化された Bugcrowd API エンドポイントを網羅
- 02プログラム、報告、アセット、ユーザーの検索
- 03リソースの作成、更新、削除
- 04非同期 API 呼び出し
- 05環境変数による認証情報の設定
活用シーン
- 01脆弱性管理の自動化
- 02Bugcrowd レポートの作成や更新
- 03ダッシュボード向け Bugcrowd データの取得
- 04Bugcrowd を使ったセキュリティワークフローの構築
MCP 対応
Bugcrowd REST API のエンドポイントをツールとして MCP クライアントに公開します。標準では stdio を使い、環境変数から API 認証情報を読み込みます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Bugcrowd MCP サーバー
このプロジェクトは、Bugcrowd REST API全体をLLMや自動化から呼び出せるツールとして公開する、Model Context Protocol(MCP)サーバーを提供します。非同期MCP SDKを使用してPythonで実装されており、Claude Desktop、MCP Inspector、または互換性のある任意のLLMエージェントですぐに使用できます。
説明
Bugcrowd MCP Serverは、LLM(Claude、GPTなど)とBugcrowdプラットフォームをつなぐブリッジとして機能します。BugcrowdのすべてのAPIエンドポイントをツールとして公開し、次のことが可能になります。
- プログラム、提出物、レポート、アセット、ユーザーなどを照会する
- Bugcrowd上のリソースを作成、更新、削除する
- 脆弱性管理とレポート作成を自動化する
- Bugcrowdのデータを独自のワークフロー、ダッシュボード、セキュリティ自動化に統合する
すべてのAPI呼び出しは安全かつ非同期で行われ、認証情報がハードコードされることはありません。
特長
- Bugcrowd APIを全面的にカバー: ドキュメントに記載されたすべてのエンドポイントをMCPツールとして利用できます(GET、POST、PATCH、DELETEなど)。
- 非同期かつスケーラブル: 非同期Pythonと
httpxを使用して構築されており、高い同時実行性と応答性を備えています。 - セキュア: 認証情報は環境変数から読み込まれ、ハードコードされることはありません。
- 簡単に統合: Claude DesktopやMCP互換クライアントですぐに使用できます。
使い方
1. 依存関係をインストールする
このプロジェクトでは、高速なPython依存関係管理のためにuvを使用します。
uv pip install -r requirements.txt
または、pyproject.tomlを使用する場合:
uv pip install .
2. Bugcrowd APIの認証情報を設定する
Bugcrowd APIのユーザー名とパスワードを環境変数としてエクスポートします。
export BUGCROWD_API_USERNAME="your_username"
export BUGCROWD_API_PASSWORD="your_password"
注: これらの環境変数が設定されていなくても、サーバーは起動し、利用可能なすべてのツールを表示します。ただし、認証情報が設定されるまでは、Bugcrowd APIツールを呼び出そうとすると実行時エラーになります。
3. MCP サーバーを実行する
このサーバーはデフォルトでstdioトランスポートを使用します(HTTPサーバーは起動しません)。Claude DesktopやほとんどのLLM統合には、このモードを推奨します。
uv run server.py
4. Claude Desktopで設定する
Claude Desktopのmcpserver.json設定に次の内容を追加します(必要に応じてディレクトリパスを調整してください)。
{
"mcpServers": {
"BugcrowdMCP": {
"command": "uv",
"args": [
"--directory", "/Users/haji/mcp-servers/bugcrowd-mcp",
"run", "server.py"
]
}
}
}
注: HTTPサーバーは起動しません。LLMツールとの互換性とセキュリティを最大限に高めるため、すべての通信はstdio(標準入出力)経由で行われます。
5. 例:ツールを呼び出す
サーバーが実行され、LLMまたはMCPクライアントに接続されたら、任意のBugcrowd APIエンドポイントをツールとして呼び出せます。たとえば、すべてのプログラムを一覧表示するには、次のようにします。
LLMまたはMCPクライアントへのプロンプト:
Call the tool `get_programs` to list all Bugcrowd programs I have access to.
ツール呼び出しの例(擬似コード):
# Using an MCP client or LLM agent
result = call_tool("get_programs", {})
print(result)
必要に応じてクエリパラメーターを渡すこともできます。
result = call_tool("get_programs", {"fields[program]": "name,code"})
IDで特定のプログラムを取得するには:
result = call_tool("get_program", {"id": "PROGRAM_UUID"})
新しいレポートを作成するには:
result = call_tool("post_reports", {"data": {"type": "report", "attributes": {"title": "Test Report", "description": "Example."}}})
6. 効果
- LLMとエージェントは、Bugcrowd API全体と安全かつプログラムから連携できるようになり、自動化、レポート作成、他のツールとの統合が可能になります。
- セキュリティチームは、Bugcrowdからの脆弱性管理、レポート作成、データ抽出を自動化できます。
- 開発者は、標準化された単一のMCPインターフェースから、Bugcrowdのデータや操作を活用するワークフローを迅速に試作できます。
プロジェクト構成
server.py— Bugcrowd APIエンドポイントをツールとして公開するメインのMCPサーバーです。README.md— このドキュメントです。pyproject.toml— プロジェクトの依存関係です。
要件
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。