Skip to main content
Glama
wocessade

pm3-mcp-server

by wocessade

pm3-mcp-server

Windows-orientierter Model Context Protocol-Server, der die Proxmark3 Iceman/RRG-CLI für MIFARE-Classic-Workflows kapselt.

Kein reiner 1:1-CLI-Durchgriff: Der Kernpfad ist Magic-sicheres Schreiben – Kartengeneration erkennen → den richtigen Schreibbefehl auswählen → verifizieren → bei stillem Fehlschlag zurückfallen.

Nur für autorisierte Nutzung. Verwenden Sie nur Karten und Systeme, die Ihnen gehören oder für die Sie ausdrücklich die Erlaubnis zum Testen haben. Magic-Karten-Schreibvorgänge und UID-Änderungen haben irreversible Fehlermodi (z. B. Gen3-Freeze).

Voraussetzungen

  • Windows + Proxmark3-Iceman-Client (proxmark3.exe) bereits installiert und geflasht

  • Python 3.10+

  • Serieller Zugriff auf das Gerät (führen Sie nicht gleichzeitig die offizielle Proxmark-GUI auf demselben COM-Port aus)

Related MCP server: mcp-uart

Konfiguration

Variable

Bedeutung

PM3_EXE_PATH

Absoluter Pfad zu proxmark3.exe (erforderlich)

PM3_CWD

Arbeitsverzeichnis für Wörterbücher / relative Pfade (Standard: Verzeichnis der Exe)

PM3_PORT

Serielle Schnittstelle (Standard COM3)

PM3_TIMEOUT_SEC

Befehlstimeout (Standard 30, harte Obergrenze 120)

PM3_KEYS_FILE

Optionaler Pfad zu keys.local.json

Kopieren Sie keys.local.json.example → keys.local.json für Standortschlüssel (gitignoriert). Der Server meldet dem LLM nur die Anzahl der Schlüssel, niemals die Schlüsselliste.

Vendor-Bundle-Ordner-Tags (z. B. V9.0.6.7) sind nur Bezeichnungen. Die tatsächliche Client-Version stammt aus pm3_info / proxmark3.exe --version (z. B. Iceman v4.20142). Dieser Server flasht keine Firmware.

Einrichtung

git clone https://github.com/wocessade/pm3-mcp-server.git
cd pm3-mcp-server
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
pytest -q

Smoke-Test des Clients (keine Karte erforderlich):

& $env:PM3_EXE_PATH --version

Ausführen

$env:PM3_EXE_PATH = "C:\path\to\proxmark3.exe"
$env:PM3_CWD = "C:\path\to\proxmark3"
$env:PM3_PORT = "COM3"
python server.py

Cursor / Claude-MCP-Snippet

{
  "mcpServers": {
    "pm3": {
      "command": "python",
      "args": ["C:\\path\\to\\pm3-mcp-server\\server.py"],
      "env": {
        "PM3_EXE_PATH": "C:\\path\\to\\proxmark3.exe",
        "PM3_CWD": "C:\\path\\to\\proxmark3",
        "PM3_PORT": "COM3"
      }
    }
  }
}

Bevorzugen Sie den venv-Interpreter, wenn Sie die Abhängigkeiten dort installiert haben:

"command": "C:\\path\\to\\pm3-mcp-server\\.venv\\Scripts\\python.exe"

Tool-Oberfläche

Primär (zuerst verwenden)

Tool

Rolle

pm3_info

hf mf info (+ Fallback hf 14a info); UID/ATQA/SAK/card_type + Client-Version

pm3_dump

Sektor-Dump + Schlüsselübersicht

pm3_write_magic_safe

Automatische Schreibroute + Magic-Verifizierung nach dem Schreiben

pm3_access_decode

Lokaler Trailer / FF078069-Access-Bits-Dekodierung

pm3_get_card_knowledge

Magic-Taxonomie-Ausschnitte für Kontext

Erweitert (nur wenn die primären nicht ausreichen): pm3_detect_magic, pm3_try_keys, pm3_read_block, pm3_read_sector, pm3_write_block, pm3_set_uid.

Magic-Schreib-Taxonomie

Generation

Schreiben

Verifizieren

Nie automatisch

Gen1a/1b

csetblk / csetuid (optional csetblk --gdm = nur Gen1a-Aufwecken)

cgetblk

gen3freeze, gdmsetcfg

Gen2 / CUID

wrbl (--force für Block0)

rdbl

dasselbe

Gen3

gen3uid / gen3blk

gen3/info-Pfade

gen3freeze; nicht csetblk --gdm

Gen4 GDM

gdmsetblk (dann csetblk --gdm-Variante)

Magic-Read

gdmsetcfg

Gerätebezogene Antworten enthalten _raw (gekürzt) für ein elegantes Parse-Fallback.

Tests

pytest -q

Abgedeckt werden Parser-Fixtures, Access-Bits (FF078069), Write-Router (Gen3 ≠ --gdm) und Client-Validierung (Injection / Whitelist / Batchgröße).

Live-Hardware-Hinweise

  • Legen Sie vor pm3_info / Schreibwerkzeugen eine Karte auf die Antenne.

  • Keine Karte → ok: false, reason: "no_card" (keine Wiederholungsschleife).

  • Gen4 GDM: wrbl auf Trailern kann Erfolg melden, während Daten verschluckt werden — pm3_write_magic_safe verifiziert und fällt zurück.

  • Firmware-Flashen ist nicht Teil des Umfangs.

Lizenz

MIT

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to communicate with UART/serial devices, offering tools for port management, data read/write, and protocol handling.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides AI assistants with access to Magic: The Gathering card data via Scryfall API, enabling card search, image downloads, and database management.
    14 npm
    2
    Apache 2.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to control Bluetooth audio devices via MCP tools, including battery status, connect/disconnect, find-my, and snoop decoding.
    MIT