关于 Bugcrowd Mcp
Bugcrowd MCP Server 通过 REST API 将 LLM 和自动化工作流连接到 Bugcrowd 平台,为安全团队和开发者提供查询及管理资源的接口。
主要功能
- 01覆盖所有已文档化的 Bugcrowd API 端点
- 02查询项目、提交、报告、资产和用户
- 03创建、更新和删除资源
- 04异步 API 调用
- 05通过环境变量提供凭据
适用场景
- 01自动化漏洞管理
- 02创建或更新 Bugcrowd 报告
- 03提取 Bugcrowd 数据用于仪表板
- 04围绕 Bugcrowd 构建安全工作流
MCP 相关
该服务将 Bugcrowd REST API 端点作为工具提供给 MCP 客户端。默认使用 stdio 传输,并从环境变量读取 API 凭据。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Bugcrowd MCP 服务
此项目提供一个模型上下文协议(MCP)服务,将完整的 Bugcrowd REST API 封装为可供大模型和自动化程序调用的工具。它使用 Python 和异步 MCP SDK 实现,可与 Claude Desktop、MCP Inspector 或任何兼容的大模型 Agent 配合使用。
描述
Bugcrowd MCP 服务充当大模型(如 Claude、GPT 等)与 Bugcrowd 平台之间的桥梁。它将每个 Bugcrowd API 端点封装为工具,方便你:
- 查询计划、提交内容、报告、资产、用户等信息
- 在 Bugcrowd 上创建、更新或删除资源
- 自动执行漏洞管理和报告
- 将 Bugcrowd 数据集成到自己的工作流、仪表板或安全自动化中
所有 API 调用均以安全的异步方式发出,凭据绝不会硬编码。
功能
- 全面覆盖 Bugcrowd API: 所有有文档记录的端点均可作为 MCP 工具使用(GET、POST、PATCH、DELETE 等)。
- 异步且可扩展: 使用异步 Python 和
httpx构建,支持高并发并响应迅速。 - 安全: 从环境变量读取凭据,绝不硬编码。
- 轻松集成: 可与 Claude Desktop 或任何兼容 MCP 的客户端配合使用。
用法
1. 安装依赖项
此项目使用 uv 快速管理 Python 依赖项:
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 和大多数大模型集成的推荐模式。
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 服务;所有通信都通过 stdio(标准输入/输出)进行,从而确保与大模型工具配合使用时具有最大的兼容性和安全性。
5. 示例:调用工具
服务启动并连接到你的大模型或 MCP 客户端后,你就可以将任何 Bugcrowd API 端点作为工具调用。例如,列出所有计划:
给大模型或 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. 影响
- 大模型和 Agent现在可以安全地以编程方式与完整的 Bugcrowd API 交互,从而实现自动化、报告以及与其他工具的集成。
- 安全团队可以自动执行漏洞管理、报告和从 Bugcrowd 提取数据。
- 开发者可以通过单一、标准化的 MCP 接口,快速构建利用 Bugcrowd 数据和操作的工作流原型。
项目结构
server.py— 将 Bugcrowd API 端点封装为工具的主 MCP 服务。README.md— 本文档。pyproject.toml— 项目依赖项。
要求
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。