mythic-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mythic-mcpList all active agents and run whoami on agent 1"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mythic-mcp
Exposes the Mythic C2 framework as an MCP server so LLMs (Claude, etc.) can operate agents, issue tasks, and query platform data conversationally.
Features
Agent management — list active callbacks with full detail, inspect individual agents, kill agents, change sleep timers
Task execution — shell commands, file read/download/upload, mimikatz, make_token, and a generic dispatcher for any Mythic command
Platform data — credentials store, artifact log, event log, file browser, payload list, C2 profile status
Structured responses — every tool returns
{"status":"ok","data":...}or{"status":"error","message":...}for reliable LLM parsingBuilt-in prompts —
start_pentestandstart_reconprompt templates
Related MCP server: caldera-mcp
Requirements
Python 3.10+
uv package manager
A running Mythic server (v3.x+)
Installation
git clone <this-repo>
cd mythic-mcp
uv syncRunning
Positional arguments
uv run main.py <username> <password> [host] [port]uv run main.py mythic_admin mythic_admin_password localhost 7443Environment variables
export MYTHIC_USERNAME=mythic_admin
export MYTHIC_PASSWORD=mythic_admin_password
export MYTHIC_HOST=localhost
export MYTHIC_PORT=7443
uv run main.pyWithout TLS
uv run main.py mythic_admin password localhost 7443 --no-sslIf the server starts silently with no output, it is working — it waits on stdio for MCP messages.
Connecting to Claude Desktop
Find the config file:
OS | Path |
Linux |
|
macOS |
|
Get the uv path first:
which uvAdd an entry under 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"
}
}
}
}Fully quit and relaunch Claude Desktop. The tools icon in the chat UI will list all registered tools once the server connects.
Tools
Agent / Callback management
Tool | Description |
| List all active callbacks with full detail (OS, arch, PID, IP, sleep, process, payload type, etc.) |
| Full detail for a single agent by display ID |
| Mark an agent inactive in Mythic |
| Change sleep interval (seconds) and jitter (%) |
Task execution
Tool | Description |
| Run a shell command via the agent's default interpreter |
| Read a file from the target (uses |
| Download a file and return it as base64 |
| Upload a base64-encoded file to the target |
|
|
| Run mimikatz (e.g. |
| Generic dispatcher — any Mythic command by name |
Platform data
Tool | Description |
| All credentials in the Mythic credential store |
| Artifact log (files, registry keys, processes created) |
| Operation event log |
| File browser entries for a directory on a target |
| All non-deleted payloads with build status and C2 profile |
| All C2 profiles with running status |
Prompts
Prompt | Description |
| Prime Claude to emulate a specific threat actor toward an objective |
| Prime Claude to perform initial recon across all active agents |
Example usage 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": "."}.Architecture
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 endpointAll task calls use asyncio.wait_for with a 60-second timeout. GraphQL requests skip TLS verification (verify=False) to handle Mythic's self-signed certificate.
Environment variables reference
Variable | Default | Description |
| — | Mythic operator username (required) |
| — | Mythic operator password (required) |
|
| Mythic server hostname or IP |
|
| Mythic server port |
This server cannot be installed
Maintenance
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
- MIT
- AlicenseAqualityDmaintenanceConnects MCP-compatible AI clients to a MITRE Caldera adversary emulation platform, enabling natural language construction of attack scenarios, agent inspection, and operation management.18Apache 2.0
- Alicense-qualityDmaintenanceA full-featured MCP server providing seamless access to CustomGPT.ai APIs, enabling agent and conversation management through MCP-compatible clients.5MIT
- Alicense-qualityDmaintenanceExposes internal tools from agent harnesses (Claude Code, Codex, etc.) as a standard MCP server by intercepting LLM API calls.1MIT
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
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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