mythic-mcp
mythic-mcp
Expone el framework Mythic C2 como un servidor MCP para que los LLM (Claude, etc.) puedan manejar agentes, enviar tareas y consultar datos de la plataforma de forma conversacional.
Características
Gestión de agentes — lista de callbacks activos con detalle completo, inspección de agentes individuales, eliminación de agentes, cambio de temporizadores de sueño
Ejecución de tareas — comandos de shell, lectura/descarga/subida de archivos, mimikatz, make_token y un despachador genérico para cualquier comando de Mythic
Datos de la plataforma — almacén de credenciales, registro de artefactos, registro de eventos, explorador de archivos, lista de payloads, estado de perfiles C2
Respuestas estructuradas — cada herramienta devuelve
{"status":"ok","data":...}o{"status":"error","message":...}para un análisis fiable por parte del LLMPlantillas de aviso integradas — plantillas de aviso
start_pentestystart_recon
Related MCP server: caldera-mcp
Requisitos
Python 3.10+
Gestor de paquetes uv
Un servidor Mythic en ejecución (v3.x+)
Instalación
git clone <this-repo>
cd mythic-mcp
uv syncEjecución
Argumentos posicionales
uv run main.py <username> <password> [host] [port]uv run main.py mythic_admin mythic_admin_password localhost 7443Variables de entorno
export MYTHIC_USERNAME=mythic_admin
export MYTHIC_PASSWORD=mythic_admin_password
export MYTHIC_HOST=localhost
export MYTHIC_PORT=7443
uv run main.pySin TLS
uv run main.py mythic_admin password localhost 7443 --no-sslSi el servidor se inicia silenciosamente sin salida, está funcionando — espera en stdio mensajes MCP.
Conexión a Claude Desktop
Encuentra el archivo de configuración:
SO | Ruta |
Linux |
|
macOS |
|
Obtén primero la ruta de uv:
which uvAñade una entrada bajo mcpServers:
{
"mcpServers": {
"mythic_mcp": {
"command": "/home/user/.local/bin/uv",
"args": [
"--directory",
"/path/to/mythic-mcp",
"run",
"main.py"
],
"env": {
"MYTHIC_USERNAME": "mythic_admin",
"MYTHIC_PASSWORD": "mythic_admin_password",
"MYTHIC_HOST": "localhost",
"MYTHIC_PORT": "7443"
}
}
}
}Cierra y reinicia completamente Claude Desktop. El icono de herramientas en la interfaz de chat listará todas las herramientas registradas una vez que el servidor se conecte.
Herramientas
Gestión de agente / Callback
Herramienta | Descripción |
| Lista todos los callbacks activos con detalle completo (SO, arquitectura, PID, IP, sueño, proceso, tipo de payload, etc.) |
| Detalle completo para un solo agente por ID de visualización |
| Marca un agente como inactivo en Mythic |
| Cambia el intervalo de sueño (segundos) y la fluctuación (%) |
Ejecución de tareas
Herramienta | Descripción |
| Ejecuta un comando de shell mediante el intérprete por defecto del agente |
| Lee un archivo del objetivo (usa |
| Descarga un archivo y lo devuelve en base64 |
| Sube un archivo codificado en base64 al objetivo |
|
|
| Ejecuta mimikatz (ej. |
| Despachador genérico — cualquier comando de Mythic por nombre |
Datos de la plataforma
Herramienta | Descripción |
| Todas las credenciales en el almacén de credenciales de Mythic |
| Registro de artefactos (archivos, claves de registro, procesos creados) |
| Registro de eventos de la operación |
| Entradas del explorador de archivos para un directorio en un objetivo |
| Todos los payloads no eliminados con estado de compilación y perfil C2 |
| Todos los perfiles C2 con estado de ejecución |
Avisos
Aviso | Descripción |
| Prepara a Claude para emular un actor de amenaza específico hacia un objetivo |
| Prepara a Claude para realizar reconocimiento inicial en todos los agentes activos |
Ejemplo de uso en Claude
Use the start_recon prompt.List all active agents, then run whoami on agent 1.Download /etc/passwd from agent 2 and show me its contents.Run mimikatz sekurlsa::logonpasswords on agent 3.Use execute_command to run 'ps' on agent 1 with parameters {"host": "."}.Arquitectura
Claude Desktop
│ MCP stdio
▼
main.py (FastMCP tools + prompts)
│
▼
lib/mythic_api.py (MythicAPI class)
├─ mythic Python library → Mythic GraphQL/REST API
└─ httpx (raw GraphQL) → Mythic GraphQL endpointTodas las llamadas de tareas usan asyncio.wait_for con un tiempo de espera de 60 segundos. Las solicitudes GraphQL omiten la verificación TLS (verify=False) para manejar el certificado autofirmado de Mythic.
Referencia de variables de entorno
Variable | Valor por defecto | Descripción |
| — | Nombre de usuario del operador de Mythic (obligatorio) |
| — | Contraseña del operador de Mythic (obligatorio) |
|
| Hostname o IP del servidor Mythic |
|
| Puerto del servidor Mythic |
This server cannot be deployed
Maintenance
Related MCP Connectors
An MCP server that provides an API to LLMs to manage their JumpCloud resources.
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
MCP server for Pentest-Tools.com: run scans, manage findings and reports via your preffered LLM.
MCP server exposing the Backtest360 engine API as tools for AI agents.
Related MCP Servers
- AlicenseBqualityDmaintenanceAn MCP server that provides LLMs access to other LLMs438 npm81MIT
- AlicenseAqualityDmaintenanceConnects MCP-compatible AI clients to a MITRE Caldera adversary emulation platform, enabling natural language construction of attack scenarios, agent inspection, and operation management.1824 PyPIApache 2.0
- AlicenseNot gradedqualityDmaintenanceExposes internal tools from agent harnesses (Claude Code, Codex, etc.) as a standard MCP server by intercepting LLM API calls.27 PyPI1MIT
- AlicenseCqualityCmaintenanceEnables LLM agents to interact with and automate operations with the AdaptixC2 framework via the MCP protocol.5434GPL 3.0