About Bugcrowd Mcp
Bugcrowd MCP Server connects LLMs and automation workflows to the Bugcrowd platform through its REST API. It exposes documented endpoints for security teams and developers to query and manage Bugcrowd resources.
Key features
- 01Tools for all documented Bugcrowd API endpoints
- 02Query programs, submissions, reports, assets, and users
- 03Create, update, and delete resources
- 04Asynchronous API calls
- 05Credentials supplied through environment variables
Use cases
- 01Automate vulnerability management
- 02Create or update Bugcrowd reports
- 03Retrieve Bugcrowd data for dashboards
- 04Build security workflows around Bugcrowd
MCP support
The server exposes Bugcrowd REST API endpoints as tools for MCP clients. It uses stdio transport by default and reads API credentials from environment variables.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEBugcrowd 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
httpxfor 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
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.