pm3_claude_mcp
MCP server giving Claude Code (and other AI assistants) persistent interactive access to Proxmark3 RFID/NFC reader. Send any pm3 command, crack keys, read/write cards — all through natural language.
Install / Use
claude mcp add KratosUAE -- npx -y github:KratosUAE/pm3_claude_mcpIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
SecuritySupported Platforms
Our assessment of pm3_claude_mcp
pm3_claude_mcp scores 74/100 on our quality scale, 1022nd of 1,104 Security skills we index.
Its MCP Server is 5.4 KB long, well organised into 20 sections with 7 code examples: a solid amount of guidance for an agent.
It has 3 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated about 7 months ago. That is recent enough to be usable, but agent tooling moves fast, so check the instructions against your agent's current version.
- No license is declared. By default that means all rights are reserved: you can read it, but reusing or redistributing it is not clearly permitted. Ask the author before building on it commercially.
- Its trust signals score 74/100, with 3 cautions from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
pm3_claude_mcp compared with similar skills
All 4 of these similar skills score higher than pm3_claude_mcp; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| pm3_claude_mcp (this skill)by KratosUAE | 74 | 3 | 7mo ago | MCP Server |
| Agent-Reachby Panniantong | 100 | 108.9k | 1d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 78.9k | today | CLAUDE.md |
| CowAgentby zhayujie | 100 | 47.8k | 1d ago | CLAUDE.md |
| Scraplingby D4Vinci | 100 | 97.0k | today | MCP Server |
Frequently asked questions
- How do I install pm3_claude_mcp?
- Run
claude mcp add KratosUAE -- npx -y github:KratosUAE/pm3_claude_mcp. The install tabs above show the steps for each supported agent. - Which AI agents does pm3_claude_mcp work with?
- It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
- Is pm3_claude_mcp safe to use?
- It declares no license and scores 74/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is pm3_claude_mcp still maintained?
- The repository was last updated about 7 months ago. That is recent enough to be usable, but agent tooling moves fast, so check the instructions against your agent's current version.
Skill content
View source on GitHubpm3-mcp
MCP server that gives AI assistants (Claude Code, etc.) direct access to a Proxmark3 RFID/NFC research tool through a persistent interactive session.
What it does
The server spawns a Proxmark3 client process and keeps it alive across tool calls. You can ask Claude to read, write, clone, and analyze RFID/NFC cards without writing any pm3 commands yourself.
Example conversation:
You: "Scan whatever card is on the reader"
Claude: [calls pm3_connect, then pm3_command with "auto"]
Claude: "Found an EM 410x card with ID 1D00D2A924. This is a low-frequency
125kHz proximity card commonly used for door access."
You: "Clone it to a T5577"
Claude: [calls pm3_command with "lf em 410x clone --id 1D00D2A924"]
Claude: "Done. The T5577 card now emulates your original EM 410x."
Prerequisites
- Node.js 18+
- Proxmark3 client compiled and working (RRG/Iceman fork)
- Verify with:
pm3 --versionorproxmark3 --version
- Verify with:
- Proxmark3 device connected via USB
Installation
git clone https://github.com/KratosUAE/pm3_claude_mcp.git
cd pm3_claude_mcp
npm install
npm run build
Configuration
All configuration is through environment variables:
| Variable | Required | Default | Description |
|----------|----------|---------|-------------|
| PM3_BINARY_PATH | No | Auto-detect via which pm3 / which proxmark3, fallback /usr/local/bin/pm3 | Path to pm3 binary |
| PM3_CWD | No | Parent dir of pm3 binary | Working directory for pm3 process (where dictionaries, CARDS/ etc. live) |
| PM3_IDLE_TIMEOUT | No | 3000 | Idle timeout in ms (how long to wait after last output before considering command complete) |
| PM3_MAX_TIMEOUT | No | 120000 | Max timeout in ms for any single command |
| PM3_DEBUG | No | off | Set to 1, true, or yes to enable debug logging to stderr |
Claude Code setup
Add to your MCP configuration (~/.claude/mcp.json or project .mcp.json):
{
"mcpServers": {
"proxmark3": {
"command": "node",
"args": ["/absolute/path/to/pm3_claude_mcp/dist/index.js"],
"env": {
"PM3_BINARY_PATH": "/path/to/your/proxmark3/pm3"
}
}
}
}
Restart Claude Code to pick up the new MCP server.
Tools reference
| Tool | Parameters | Description |
|------|-----------|-------------|
| pm3_connect | port? (string) — serial port, e.g. /dev/ttyACM0 | Connect to Proxmark3. Auto-detects port if omitted. |
| pm3_command | command (string) — any pm3 command; timeout_ms? (number) — override max timeout | Send a command and get the response. |
| pm3_status | none | Check session state and device info. |
| pm3_disconnect | none | Disconnect and close the session. |
State machine
DISCONNECTED ──connect()──> CONNECTING ──success──> CONNECTED
^ | |
| error error / process exit
| | |
| v v
+────── disconnect() ── ERROR <───────────────────+
| |
+────── connect() ────────+ (auto-recovery: cleanup + reconnect)
- DISCONNECTED: No pm3 process running. Ready to connect.
- CONNECTING: Spawning pm3 process and waiting for banner.
- CONNECTED: Ready to accept commands. One command at a time.
- ERROR: Something went wrong. Call
pm3_connectagain to auto-recover.
Troubleshooting
"pm3 binary not found or not executable"
Set PM3_BINARY_PATH to the full path of your pm3/proxmark3 binary:
export PM3_BINARY_PATH=$(which pm3)
"Not connected. Call connect() first."
The session is not active. Use pm3_connect before sending commands.
"Another command is in progress"
Only one command runs at a time. Wait for the current command to finish.
Empty output from commands
- The device may have been physically disconnected. The server will detect this and move to ERROR state.
- Some commands produce no output. Try
hw statusto verify the connection.
"Already connected. Disconnect first."
Call pm3_disconnect before connecting again, or let error recovery handle it.
Serial port permission denied
Add your user to the dialout group (Linux) or check USB permissions:
sudo usermod -aG dialout $USER
# Log out and back in
pm3 process becomes zombie after server crash
If the MCP server crashes without cleanup, the pm3 process may hold the serial port:
pkill -f "pm3\|proxmark3"
Limitations
- Single device: One Proxmark3 device per server instance.
- No streaming: Output is collected and returned after the command completes (idle timeout detection). No real-time streaming.
- Serial port exclusive access: Only one process can use the serial port at a time. Close other pm3 instances before connecting.
- Idle timeout detection: End-of-response is detected by output going silent for
PM3_IDLE_TIMEOUTms. Very slow commands may need a customtimeout_ms.
Technical details
- Transport: stdio (MCP protocol over stdin/stdout)
- Session model: persistent child process with piped stdin/stdout
- Logging: all log output goes to stderr (stdout is reserved for MCP protocol)
- Concurrency: one command at a time per session, with mutex on connect/disconnect operations
License
MIT
Related Skills
Agent-Reach
108.9kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
headroom
78.9kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
CowAgent
47.8kOpen-source personal AI assistant & Agent Harness. Plans tasks, runs tools and skills, self-evolves with memory and knowledge. Multi-agent, multi-model, multi-channel. Lightweight, extensible, one-line install.
Scrapling
97.0k🕷️ The BEST Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
