Integrations
Provides a Model Context Protocol (MCP) server implementation for DefectDojo (built on Django), enabling interaction with DefectDojo's vulnerability management system, including tools for managing findings, products, and engagements.
DefectDojo MCP 服务器
该项目为流行的开源漏洞管理工具DefectDojo提供了一个模型上下文协议 (MCP)服务器实现。它允许 AI 代理和其他 MCP 客户端以编程方式与 DefectDojo API 进行交互。
特征
该 MCP 服务器公开了用于管理关键 DefectDojo 实体的工具:
- **发现:**获取、搜索、创建、更新状态和添加注释。
- **产品:**列出可用的产品。
- **约定:**列出、检索详细信息、创建、更新和结束约定。
安装与运行
有几种方法可以运行此服务器:
使用uvx
(推荐)
uvx
在临时虚拟环境中执行 Python 应用程序,自动安装依赖项。
使用pip
您可以使用pip
将包安装到您的 Python 环境中。
通过 pip 安装后,使用以下命令运行服务器:
配置
服务器需要以下环境变量来连接到您的 DefectDojo 实例:
DEFECTDOJO_API_TOKEN
(必需):用于身份验证的 DefectDojo API 令牌。DEFECTDOJO_API_BASE
(必需):您的 DefectDojo 实例的基本 URL(例如,https://your-defectdojo-instance.com
)。
您可以在 MCP 客户端的设置文件中配置这些。以下是使用uvx
命令的示例:
如果您使用pip
安装该软件包,则配置将如下所示:
可用工具
可通过 MCP 界面使用以下工具:
get_findings
:通过过滤(产品名称、状态、严重性)和分页(限制、偏移)检索结果。search_findings
:使用文本查询搜索结果,并进行过滤和分页。update_finding_status
:更改特定发现的状态(例如,活动、已验证、误报)。add_finding_note
:为发现添加文本注释。create_finding
:创建与测试相关的新发现。list_products
:列出具有过滤(名称、产品类型)和分页功能的产品。list_engagements
:列出带有过滤(product_id、status、name)和分页的参与度。get_engagement
:通过 ID 获取特定参与的详细信息。create_engagement
:为产品创建新的约定。update_engagement
:修改现有约定的详细信息。close_engagement
:将约定标记为已完成。
(每个工具的详细使用示例请见下方README原文内容)
使用示例
(注意:这些示例假设 MCP 客户端环境能够调用use_mcp_tool
)
获取调查结果
搜索结果
更新结果状态
为发现添加注释
创建发现
列出产品
列出参与活动
获得参与
创造参与度
更新参与度
密切接触
发展
设置
- 克隆存储库。
- 建议使用虚拟环境:Copy
- 安装依赖项,包括开发依赖项:Copy
执照
该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅LICENSE文件。
贡献
欢迎贡献!欢迎随时提交问题,包括错误报告、功能请求或疑问。如果您想贡献代码,请先提交问题,讨论建议的更改。
You must be authenticated.
Tools
提供模型上下文协议服务器实现,允许 AI 代理和其他 MCP 客户端以编程方式与漏洞管理工具 DefectDojo 交互,以管理发现、产品和参与。
- Features
- Installation & Running
- Configuration
- Available Tools
- Usage Examples
- Development
- License
- Contributing