Servidor MCP de DefectDojo
Este proyecto proporciona una implementación de servidor del Protocolo de Contexto de Modelo (MCP) para DefectDojo , una popular herramienta de gestión de vulnerabilidades de código abierto. Permite que los agentes de IA y otros clientes MCP interactúen con la API de DefectDojo mediante programación.
Características
Este servidor MCP expone herramientas para administrar entidades clave de DefectDojo:
Resultados: obtener, buscar, crear, actualizar el estado y agregar notas.
Productos: Listado de productos disponibles.
Compromisos: enumerar, recuperar detalles, crear, actualizar y cerrar compromisos.
Related MCP server: DeepSource MCP Server
Instalación y funcionamiento
Hay un par de formas de ejecutar este servidor:
Uso de uvx (recomendado)
uvx ejecuta aplicaciones Python en entornos virtuales temporales, instalando dependencias automáticamente.
Usando pip
Puede instalar el paquete en su entorno Python usando pip .
Una vez instalado a través de pip, ejecute el servidor usando:
Configuración
El servidor requiere las siguientes variables de entorno para conectarse a su instancia de DefectDojo:
DEFECTDOJO_API_TOKEN( obligatorio ): su token de API de DefectDojo para autenticación.DEFECTDOJO_API_BASE( obligatorio ): la URL base de su instancia de DefectDojo (por ejemplo,https://your-defectdojo-instance.com).
Puede configurarlos en el archivo de configuración de su cliente MCP. A continuación, se muestra un ejemplo con el comando uvx :
Si instaló el paquete usando pip , la configuración se vería así:
Herramientas disponibles
Las siguientes herramientas están disponibles a través de la interfaz MCP:
get_findings: recupera hallazgos con filtrado (nombre del producto, estado, gravedad) y paginación (límite, desplazamiento).search_findings: Busque resultados mediante una consulta de texto, con filtrado y paginación.update_finding_status: cambia el estado de un hallazgo específico (por ejemplo, Activo, Verificado, Falso positivo).add_finding_note: agrega una nota textual a un hallazgo.create_finding: crea un nuevo hallazgo asociado con una prueba.list_products: Lista de productos con filtrado (nombre, tipo_de_producto) y paginación.list_engagements: lista de interacciones con filtrado (product_id, estado, nombre) y paginación.get_engagement: obtiene detalles de un compromiso específico por su ID.create_engagement: crea un nuevo compromiso para un producto.update_engagement: Modificar los detalles de un compromiso existente.close_engagement: Marcar un compromiso como completado.
(Consulte el contenido README original a continuación para ver ejemplos de uso detallados de cada herramienta)
Ejemplos de uso
(Nota: Estos ejemplos suponen un entorno de cliente MCP capaz de llamar
Obtener resultados
Resultados de la búsqueda
Actualizar el estado del hallazgo
Agregar nota al hallazgo
Crear hallazgo
Lista de productos
Lista de compromisos
Conseguir compromiso
Crear compromiso
Actualizar el compromiso
Compromiso cercano
Desarrollo
Configuración
Clonar el repositorio.
Se recomienda utilizar un entorno virtual:
python -m venv .venv source .venv/bin/activate # On Windows use `.venv\Scripts\activate`Instalar dependencias, incluidas las dependencias de desarrollo:
pip install -e ".[dev]"
Licencia
Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.
Contribuyendo
¡Agradecemos sus contribuciones! No dude en abrir un problema para solucionar errores, solicitar funciones o hacer preguntas. Si desea contribuir con código, primero abra un problema para discutir los cambios propuestos.