mohdhaji87/Bugcrowd-MCP
If you are the rightful owner of Bugcrowd-MCP and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The Bugcrowd MCP Server is a Model Context Protocol server that provides access to the Bugcrowd REST API for LLMs and automation.
Bugcrowd MCP Server
This project provides a Model Context Protocol (MCP) server that exposes the entire Bugcrowd REST API as callable tools for LLMs and automation. It is implemented in Python using the async MCP SDK and is ready to be used with Claude Desktop, MCP Inspector, or any compatible LLM agent.
Description
Bugcrowd MCP Server acts as a bridge between LLMs (like Claude, GPT, etc.) and the Bugcrowd platform. It exposes every Bugcrowd API endpoint as a tool, allowing you to:
- Query programs, submissions, reports, assets, users, and more
- Create, update, or delete resources on Bugcrowd
- Automate vulnerability management and reporting
- Integrate Bugcrowd data into your own workflows, dashboards, or security automations
All API calls are made securely and asynchronously, and credentials are never hardcoded.
Features
- Full Bugcrowd API Coverage: All documented endpoints are available as MCP tools (GET, POST, PATCH, DELETE, etc.).
- Async & Scalable: Built with async Python and
httpx
for high concurrency and responsiveness. - Secure: Credentials are read from environment variables and never hardcoded.
- Easy Integration: Ready to use with Claude Desktop or any MCP-compatible client.
Usage
1. Install dependencies
This project uses uv for fast Python dependency management:
uv pip install -r requirements.txt
Or, if you use pyproject.toml
:
uv pip install .
2. Set your Bugcrowd API credentials
Export your Bugcrowd API username and password as environment variables:
export BUGCROWD_API_USERNAME="your_username"
export BUGCROWD_API_PASSWORD="your_password"
Note: The server will start and show all available tools even if these environment variables are not set. However, any attempt to call a Bugcrowd API tool will result in a runtime error until the credentials are provided.
3. Run the MCP server
This server uses stdio transport by default (no HTTP server is started). This is the recommended mode for Claude Desktop and most LLM integrations.
uv run server.py
4. Configure in Claude Desktop
Add the following to your Claude Desktop mcpserver.json
configuration (adjust the directory path as needed):
{
"mcpServers": {
"BugcrowdMCP": {
"command": "uv",
"args": [
"--directory", "/Users/haji/mcp-servers/bugcrowd-mcp",
"run", "server.py"
]
}
}
}
Note: No HTTP server is started; all communication is via stdio (standard input/output) for maximum compatibility and security with LLM tools.
5. Example: Calling a Tool
Once the server is running and connected to your LLM or MCP client, you can call any Bugcrowd API endpoint as a tool. For example, to list all programs:
Prompt to LLM or MCP client:
Call the tool `get_programs` to list all Bugcrowd programs I have access to.
Example tool call (pseudo-code):
# Using an MCP client or LLM agent
result = call_tool("get_programs", {})
print(result)
You can also pass query parameters as needed:
result = call_tool("get_programs", {"fields[program]": "name,code"})
To get a specific program by ID:
result = call_tool("get_program", {"id": "PROGRAM_UUID"})
To create a new report:
result = call_tool("post_reports", {"data": {"type": "report", "attributes": {"title": "Test Report", "description": "Example."}}})
6. Impact
- LLMs and agents can now interact with the full Bugcrowd API securely and programmatically, enabling automation, reporting, and integration with other tools.
- Security teams can automate vulnerability management, reporting, and data extraction from Bugcrowd.
- Developers can rapidly prototype workflows that leverage Bugcrowd data and actions, all from a single, standardized MCP interface.
Project Structure
server.py
— The main MCP server exposing Bugcrowd API endpoints as tools.README.md
— This documentation.pyproject.toml
— Project dependencies.
Requirements
- Python 3.10+
- uv (for running and dependency management)
- httpx (for async HTTP requests)
- mcp (MCP Python SDK)
License
MIT