Skip to main content
Glama
wocessade

pm3-mcp-server

by wocessade

pm3-mcp-server

WindowsファーストのModel Context Protocolサーバーで、MIFARE Classic ワークフロー向けにProxmark3 Iceman/RRG CLIをラップします。

生の1:1 CLIパススルーではありません。コアパスはマジックセーフ書き込みです — カード世代の検出 → 適切な書き込みコマンドのルーティング → 検証 → サイレント失敗時のフォールバック。

許可を得た用途のみ。 自分が所有する、または明示的にテスト許可を得たカードとシステムにのみ使用してください。マジックカードの書き込みやUID変更には、取り返しのつかない失敗モードがあります(例: Gen3フリーズ)。

要件

  • Windows + Proxmark3 Icemanクライアント(proxmark3.exe)がインストール済みでフラッシュ済みであること

  • Python 3.10+

  • デバイスへのシリアルアクセス(同じCOMポートで公式Proxmark GUIを同時に実行しないこと)

Related MCP server: PCILeech MCP Server

設定

変数

説明

PM3_EXE_PATH

proxmark3.exe への絶対パス(必須

PM3_CWD

辞書/相対パス用の作業ディレクトリ(デフォルトはexeの親ディレクトリ)

PM3_PORT

シリアルポート(デフォルト:COM3)

PM3_TIMEOUT_SEC

コマンドタイムアウト(デフォルト:30、上限:120)

PM3_KEYS_FILE

keys.local.json のオプションパス

keys.local.json.examplekeys.local.json にコピーしてサイトキーを設定します(gitignore対象)。サーバーはLLMにキーの件数のみを報告し、キーリストそのものは報告しません。

ベンダーバンドルフォルダのタグ(例:V9.0.6.7)はラベルに過ぎません。実際のクライアントバージョンは pm3_info または proxmark3.exe --version(例:Iceman v4.20142)から取得します。このサーバーはファームウェアを書き込みません。

セットアップ

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

クライアントを確認します(カード不要):

& $env:PM3_EXE_PATH --version

実行

$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 スニペット

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

venvに依存関係をインストールした場合は、そちらのインタープリタを優先します:

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

ツールサーフェス

プライマリ(最初に使用)

ツール

役割

pm3_info

hf mf info(+フォールバック hf 14a info);UID/ATQA/SAK + クライアントバージョン

pm3_dump

セクターダンプ + キー概要

pm3_write_magic_safe

自動書き込みルート + 書き込み後のマジック検証

pm3_access_decode

ローカルトレーラー / FF078069 アクセスビットのデコード

pm3_get_card_knowledge

コンテキスト用のマジック分類スニペット

詳細(プライマリが不十分な場合のみ): pm3_detect_magicpm3_try_keyspm3_read_blockpm3_read_sectorpm3_write_blockpm3_set_uid

マジック書き込み分類

世代

書き込み

検証

自動実行しない

Gen1a/1b

csetblk / csetuid(オプションで csetblk --gdm = Gen1aウェイクアップのみ)

cgetblk

gen3freezegdmsetcfg

Gen2 / CUID

wrbl(block0には--force

rdbl

同左

Gen3

gen3uid / gen3blk

gen3/info パス

gen3freeze;csetblk --gdm ではない

Gen4 GDM

gdmsetblk(その後 csetblk --gdm バリアント)

マジック読み取り

gdmsetcfg

デバイス応答には _raw(切り詰め済み)が含まれ、パース失敗時にも対応します。

テスト

pytest -q

パーサーフィクスチャ、アクセスビット(FF078069)、書き込みルーター(Gen3 ≠ --gdm)、クライアント検証(インジェクション/ホワイトリスト/バッチサイズ)をカバーします。

実機ハードウェアに関する注意

  • pm3_info / 書き込みツールを使用する前に、カードをアンテナに置いてください。

  • カードなし → ok: falsereason: "no_card"(リトライループなし)。

  • Gen4 GDM:トレーラーへの wrbl は成功を報告してもデータを飲み込むことがあります — pm3_write_magic_safe が検証してフォールバックします。

  • ファームウェアのフラッシュは対象外です。

ライセンス

MIT

A
license - permissive license
Not graded
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

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to perform DMA-based memory operations through PCILeech hardware using natural language commands, supporting memory reading, writing, and multi-format visualization for debugging and security research.
    20
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to communicate with UART/serial devices, offering tools for port management, data read/write, and protocol handling.
    MIT

View all related MCP servers

Related MCP Connectors

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/wocessade/pm3-mcp-server'

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