reptor-mcp
reptor-mcp: Un servidor MCP para Reptor/SysReptor
Este proyecto transforma la herramienta CLI reptor en un servidor MCP (Model-Context-Protocol), exponiendo sus potentes funciones de automatización y generación de informes de pentest como un servicio programable.
Permite que otras herramientas, scripts o agentes de IA interactúen programáticamente con SysReptor a través del protocolo MCP, facilitando la integración en flujos de trabajo automatizados.
Software Alpha: La herramienta CLI subyacente reptor está en fase alpha. Su API puede cambiar, lo que podría romper reptor-mcp.
Sin autenticación: Este servidor no tiene autenticación ni autorización. Está diseñado solo para uso local. NO LO EXPONGAS A INTERNET NI A REDES NO CONFIABLES.
Sensibilidad de los datos: Si manejas datos de proyectos confidenciales, considera las implicaciones de enviarlos a LLMs a través de este servidor. Usa REPTOR_MCP_EXCLUDE_FIELDS para eliminar campos sensibles antes de que lleguen al LLM.
Características
Generación dinámica de herramientas: Crea automáticamente herramientas MCP a partir de todos los plugins de
reptordisponibles (nmap, nessus, burp, zap, sslyze, etc.).Herramientas de API directa: Proporciona herramientas estructuradas para CRUD de hallazgos, descubrimiento de esquemas y gestión de plantillas utilizando directamente la API de Python de reptor.
Exclusión de campos: Elimina campos sensibles de los datos antes de devolverlos a los clientes LLM (configurable mediante variable de entorno).
Seguro para asincronía: Bucle de eventos sin bloqueo con ejecución de plugins serializada y segura para hilos.
Requisitos previos
Python 3.10+
uv(recomendado) opipUna instancia de SysReptor en ejecución con un token de API
Instalación
git clone https://github.com/slvnlrt/reptor-mcp.git
cd reptor-mcp
uv venv && source .venv/bin/activate
uv pip install -e .Esto instala reptor y fastmcp automáticamente desde PyPI. No es necesario clonar el repositorio de reptor por separado.
Si necesitas trabajar con una copia local de reptor (por ejemplo, para probar cambios no publicados):
uv pip install -e /path/to/reptor-source
uv pip install -e .Alternativamente, establece REPTOR_MAIN_PATH=/path/to/reptor-source en tiempo de ejecución para inyectarlo en sys.path.
Configuración
El servidor se configura mediante variables de entorno:
Variable | Requerido | Descripción |
| Sí | URL de tu instancia de SysReptor |
| Sí | Tu token de API de SysReptor |
| No | ID de proyecto predeterminado para operaciones |
| No | Establecer en |
| No | Ruta a un archivo de paquete CA personalizado |
| No | Nombres de campos separados por comas para eliminar de las respuestas del LLM (ej. |
| No | Establecer en |
Ejecución del servidor
fastmcp run mcp_server.py:mcp --transport streamable-http --port 8008El servidor será accesible en http://localhost:8008/mcp/.
Conexión del cliente
Conecta un cliente MCP usando una configuración como esta (por ejemplo, en mcp_settings.json):
{
"mcpServers": {
"reptor-mcp": {
"type": "streamable-http",
"url": "http://localhost:8008/mcp/"
}
}
}Herramientas disponibles
Herramientas personalizadas (API directa)
Estas herramientas utilizan la API de Python de reptor directamente para operaciones estructuradas y conscientes del esquema:
Herramienta | Descripción |
| Lista hallazgos con filtros (estado, severidad, título). |
| Obtiene todos los detalles de un hallazgo por ID. |
| Descubre los campos, tipos y restricciones de hallazgos disponibles para un proyecto. Llama antes de |
| Crea un nuevo hallazgo a partir de un diccionario de datos plano. |
| Actualiza un solo campo en un hallazgo. |
| Elimina un hallazgo por ID (requiere confirmación explícita). |
| Sube una plantilla de hallazgo desde JSON o TOML. |
Herramientas de plugin (Envoltorios dinámicos)
El servidor envuelve dinámicamente todos los plugins de la CLI de reptor como herramientas MCP:
Categoría | Herramientas |
Importadores de vulnerabilidades |
|
Gestión de hallazgos |
|
Gestión de proyectos |
|
Plantillas |
|
Notas y archivos |
|
Traducción |
|
Importar/Exportar |
|
Los argumentos exactos para cada herramienta pueden inspeccionarse a través de un cliente MCP conectado.
Relación con el servidor MCP nativo de reptor
Desde reptor v0.33, reptor incluye su propio servidor MCP integrado (reptor mcp). Los dos servidores son complementarios:
Capacidad | reptor-mcp |
|
CRUD de hallazgos | :white_check_mark: | :white_check_mark: |
Descubrimiento de esquema de hallazgos | :white_check_mark: | :white_check_mark: |
CRUD de secciones de informe | :x: | :white_check_mark: |
Importadores de vulnerabilidades (nmap, nessus, burp, etc.) | :white_check_mark: | :x: |
Gestión de proyectos (buscar, crear, exportar, duplicar) | :white_check_mark: | :x: |
Notas, archivos, traducción | :white_check_mark: | :x: |
Gestión de plantillas | :white_check_mark: | :white_check_mark: |
Exclusión de campos | :white_check_mark: | :white_check_mark: |
Arquitectura
mcp_server.py # Server entry point, lifespan, configuration
├── tool_generator.py # Dynamic MCP tool generation from plugin argparse definitions
│ ├── signature_utils.py # argparse → Python function signature translation
│ └── wrapper_utils.py # Plugin execution, stdin/stdout capture, config handling
├── custom_tools.py # Direct API tools (findings CRUD, schema, templates)
└── tool_config.py # Plugin exclusions, stdin consumers, config overwrite mappingsDecisiones clave de diseño:
Los envoltorios de plugins se ejecutan en hilos con un bloqueo de serialización, manteniendo el bucle de eventos asíncrono receptivo mientras se protege el estado compartido.
Las herramientas personalizadas utilizan
asyncio.to_thread()para llamadas a la API sin bloqueo.La exclusión de campos elimina recursivamente los campos especificados de todas las estructuras de datos anidadas antes de devolverlos al cliente.
Licencia
Este proyecto está bajo la Licencia MIT - consulta el archivo LICENSE para más detalles.
Agradecimientos
Este proyecto no sería posible sin la herramienta CLI original de reptor desarrollada por el equipo de SysReptor y sus colaboradores. reptor-mcp se basa en su excelente trabajo para proporcionar una interfaz MCP.
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/slvnlrt/reptor-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server