Skip to main content
Glama

mythic-mcp

Stellt das Mythic C2-Framework als MCP-Server bereit, sodass LLMs (Claude, usw.) Agenten bedienen, Aufgaben erteilen und Plattformdaten konversationell abfragen können.

Funktionen

  • Agentenverwaltung — aktive Callbacks mit vollständigen Details auflisten, einzelne Agenten inspizieren, Agenten beenden, Schlaf-Timer ändern

  • Aufgabenausführung — Shell-Befehle, Dateien lesen/herunterladen/hochladen, Mimikatz, make_token sowie ein generischer Dispatcher für beliebige Mythic-Befehle

  • Plattformdaten — Anmeldeinformationsspeicher, Artefaktprotokoll, Ereignisprotokoll, Dateibrowser, Payload-Liste, C2-Profilstatus

  • Strukturierte Antworten — jedes Tool gibt {"status":"ok","data":...} oder {"status":"error","message":...} zurück, zuverlässiges Parsen durch LLMs

  • Integrierte Prompts — Prompt-Vorlagen start_pentest und start_recon

Related MCP server: caldera-mcp

Anforderungen

  • Python 3.10+

  • uv-Paketmanager

  • Ein laufender Mythic-Server (v3.x+)

Installation

git clone <this-repo>
cd mythic-mcp
uv sync

Ausführung

Positionsargumente

uv run main.py <username> <password> [host] [port]
uv run main.py mythic_admin mythic_admin_password localhost 7443

Umgebungsvariablen

export MYTHIC_USERNAME=mythic_admin
export MYTHIC_PASSWORD=mythic_admin_password
export MYTHIC_HOST=localhost
export MYTHIC_PORT=7443
uv run main.py

Ohne TLS

uv run main.py mythic_admin password localhost 7443 --no-ssl

Wenn der Server ohne Ausgabe startet, funktioniert er – er wartet auf stdio auf MCP-Nachrichten.

Verbindung zu Claude Desktop

Konfigurationsdatei finden:

Betriebssystem

Pfad

Linux

~/.config/Claude/claude_desktop_config.json

macOS

~/Library/Application Support/Claude/claude_desktop_config.json

Zunächst den uv-Pfad ermitteln:

which uv

Einen Eintrag unter mcpServers hinzufügen:

{
  "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"
      }
    }
  }
}

Claude Desktop vollständig beenden und neu starten. Das Werkzeugsymbol in der Chat-Oberfläche listet alle registrierten Tools auf, sobald der Server verbunden ist.

Tools

Agenten- / Callback-Verwaltung

Tool

Beschreibung

get_all_agents()

Alle aktiven Callbacks mit vollständigen Details auflisten (Betriebssystem, Architektur, PID, IP, Schlaf, Prozess, Payload-Typ usw.)

get_agent_details(agent_id)

Vollständige Details für einen einzelnen Agenten nach Anzeige-ID

kill_agent(agent_id)

Agenten in Mythic als inaktiv markieren

set_sleep(agent_id, interval, jitter)

Schlafintervall (Sekunden) und Jitter (%) ändern

Aufgabenausführung

Tool

Beschreibung

run_shell_command(agent_id, command_line)

Shell-Befehl über den Standardinterpreter des Agenten ausführen

read_file(agent_id, file_path)

Datei vom Ziel lesen (verwendet cat)

download_file(agent_id, file_path)

Datei herunterladen und als Base64 zurückgeben

upload_file(agent_id, file_name, remote_path, content_b64)

Base64-kodierte Datei auf das Ziel hochladen

run_as_user(agent_id, username, password)

make_token — Authentifizierung für Netzwerkaufrufe als anderer Benutzer

execute_mimikatz(agent_id, mimikatz_arguments)

Mimikatz ausführen (z.B. sekurlsa::logonpasswords)

execute_command(agent_id, command_name, parameters)

Generischer Dispatcher — beliebiger Mythic-Befehl nach Name

Plattformdaten

Tool

Beschreibung

get_credentials()

Alle Anmeldeinformationen im Mythic-Anmeldeinformationsspeicher

get_artifacts(limit)

Artefaktprotokoll (Dateien, Registrierungsschlüssel, erstellte Prozesse)

get_event_log(limit)

Betriebs-Ereignisprotokoll

browse_files(agent_id, path)

Dateibrowsereinträge für ein Verzeichnis auf einem Ziel

list_payloads()

Alle nicht gelöschten Payloads mit Build-Status und C2-Profil

list_c2_profiles()

Alle C2-Profile mit Ausführungsstatus

Prompts

Prompt

Beschreibung

start_pentest(threat_actor, objective)

Claude darauf vorbereiten, einen bestimmten Bedrohungsakteur in Richtung eines Ziels zu emulieren

start_recon()

Claude darauf vorbereiten, eine erste Aufklärung über alle aktiven Agenten hinweg durchzuführen

Beispielverwendung in 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": "."}.

Architektur

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 endpoint

Alle Aufgabenaufrufe verwenden asyncio.wait_for mit einem 60-Sekunden-Timeout. GraphQL-Anfragen überspringen die TLS-Überprüfung (verify=False), um das selbstsignierte Zertifikat von Mythic zu handhaben.

Referenz der Umgebungsvariablen

Variable

Standard

Beschreibung

MYTHIC_USERNAME

Mythic-Benutzername (erforderlich)

MYTHIC_PASSWORD

Mythic-Passwort (erforderlich)

MYTHIC_HOST

localhost

Mythic-Server-Hostname oder IP

MYTHIC_PORT

7443

Mythic-Server-Port

F
license - not found
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • 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.

  • MCP server for Argo RPG Platform — connects AI assistants to campaign data via OAuth2

View all MCP Connectors

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/kyawthiha7/mythic-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server