Token导航 LogoToken导航TokenDH.com
pm3 Claude MCP logo
安全风控未说明官方级别未说明来源级核验

pm3 Claude MCP

MCP Server

为AI助手提供持久化交互会话以直接操作Proxmark3 RFID/NFC研究工具的服务。

工具数

4

提示词数

0

GitHub Stars

1

资源数

0
安全TypeScriptClaudeClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

KratosUAE

提供方

KratosUAE

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

pm3-mcp

MCP服务器,通过持续的交互会话,使AI助手(Claude Code等)可以直接访问Proxmark3 RFID/NFC研究工具。

它做什么

服务器生成一个Proxmark3客户端进程,并在工具调用期间保持其活动状态。您可以让Claude读取、写入、克隆和分析RFID/NFC卡,而无需自己编写任何pm3命令。

对话示例:

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

先决条件

- 通过以下方式进行验证: pm3 --versionproxmark3 --version

  • Proxmark3设备通过USB连接

安装

git clone https://github.com/KratosUAE/pm3_claude_mcp.git
cd pm3_claude_mcp
npm install
npm run build

配置

所有配置都是通过环境变量进行的:

变量必填默认描述
PM3_BINARY_PATH通过自动检测 which pm3 / which proxmark3,回退 /usr/local/bin/pm3pm3二进制文件的路径
PM3_CWDpm3二进制文件的父目录pm3进程的工作目录(字典、CARDS等所在的位置)
PM3_IDLE_TIMEOUT没有3000空闲超时(毫秒)(在最后一次输出后等待多长时间才能认为命令完成)
PM3_MAX_TIMEOUT没有120000任何单个命令的最大超时时间(毫秒)
PM3_DEBUG关闭设置为 1, true,或 yes 启用stderr的调试日志记录

Claude代码设置

添加到MCP配置(~/.claude/mcp.json 或项目 .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"
      }
    }
  }
}

重新启动Claude Code以获取新的MCP服务器。

工具参考

工具参数说明
pm3_connectport? (string)--串行端口,例如。 /dev/ttyACM0连接到Proxmark3。如果省略,则自动检测端口。
pm3_commandcommand (string)——任意pm3命令; timeout_ms? (number)--override max timeout发送命令并获取响应。
pm3_statusnone检查会话状态和设备信息。
pm3_disconnectnone断开连接并关闭会话。

状态机

DISCONNECTED ──connect()──> CONNECTING ──success──> CONNECTED
     ^                          |                      |
     |                        error                  error / process exit
     |                          |                      |
     |                          v                      v
     +────── disconnect() ── ERROR <───────────────────+
     |                          |
     +────── connect() ────────+  (auto-recovery: cleanup + reconnect)
  • 断开连接:没有运行pm3进程。已准备好连接。
  • 连接:生成pm3进程并等待横幅。
  • 已连接:准备接受命令。一次一个命令。
  • 错误:出了点问题。呼叫 pm3_connect 再次自动恢复。

故障排除

“找不到pm3二进制文件或无法执行”

PM3_BINARY_PATH 转到pm3/proxmark3二进制文件的完整路径:

export PM3_BINARY_PATH=$(which pm3)

“未连接。请先调用connect()。”

会话未处于活动状态。使用 pm3_connect 在发送命令之前。

“另一个命令正在执行中”

一次只能运行一个命令。等待当前命令完成。

命令输出为空

  • 设备可能已物理断开连接。服务器将检测到此情况并移动到ERROR状态。
  • 某些命令不产生输出。尝试 hw status 以验证连接。

“已连接。请先断开连接。”

呼叫 pm3_disconnect 在再次连接之前,或者让错误恢复处理它。

串行端口权限被拒绝

将您的用户添加到 dialout 组(Linux)或检查USB权限:

sudo usermod -aG dialout $USER
# Log out and back in

服务器崩溃后pm3进程变成僵尸

如果MCP服务器在没有清理的情况下崩溃,pm3进程可能会占用串行端口:

pkill -f "pm3\|proxmark3"

局限性

  • 单一设备:每个服务器实例一个Proxmark3设备。
  • 无流媒体:命令完成后收集并返回输出(空闲超时检测)。没有实时流媒体。
  • 串行端口独占访问:一次只能有一个进程使用串行端口。连接前关闭其他pm3实例。
  • 空闲超时检测:响应结束由输出静音检测到 PM3_IDLE_TIMEOUT ms。非常慢的命令可能需要自定义 timeout_ms.

技术细节

  • 运输:stdio(通过stdin/stdout的MCP协议)
  • 会话模型:具有管道stdin/stdout的持久化子进程
  • 日志记录:所有日志输出都进入stderr(stdout保留给MCP协议)
  • 并发:每个会话一次一个命令,连接/断开操作时使用互斥体

许可证

麻省理工学院

目录标签

目录标签

安全TypeScriptClaudeRFID工具本地部署NFC研究AI集成硬件交互安全测试

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

4

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP