Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

mcu-debug-mcp

PYPI · MCU-DEBUG-MCP

Embedded debug MCP: serial, flash verify, fault decode, 45-pattern log analyzer, driver library

Available components

+15 this week 66 Trust /100

Last scanned (2 hours ago)

Scores higher than 63% of PyPI servers

Category IoT and Hardware

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security94
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • Declares code that runs automatically (setup.py, build-time code we could not rule out (a Hatch, PDM or setuptools build hook, a dynamic version we could not read statically, shipped VCS metadata or a stray root module)) and that we could not recognise. It may be perfectly ordinary, but we have not established what it does. View diagnostics → Partial
  • 0 of 28 dependencies flagged as unhealthy. View diagnostics → Pass
Provenance & Transparency48
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 13 days ago).Pass
  • Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability76
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 9817 tokens (~146/item across 67 items; 59 tools + 8 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
  • Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage71
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 0% of tool parameters carry a description.Fail
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety75
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • 0 of 2 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "serial_send" implies "send" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
  • An AI judge read all 61 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass

Unverified: 1 category

A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 5 Nov 26 +15
    • Malware scan: unverified → pass ▲ security
  • 3 Nov 26 −15
    • Malware scan: pass → unverified ▼ security
  • 31 Oct 26 +15
    • Malware scan: unverified → pass ▲ security
  • 29 Oct 26 −15
    • Malware scan: pass → unverified ▼ security
  • 24 Oct 26 +15
    • Malware scan: unverified → pass ▲ security
  • 23 Oct 26 51

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Analysed pypi/mcu-debug-mcp@0.1.1

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem pypi
Reason No attestation published

Background: How many MCP packages publish verified provenance →

Install scripts 3 scripts
Hook Tier Command
build_backend allowlisted setuptools.build_meta
setup_py unreviewed <setup.py, unreviewed>
build_hook unreviewed tool.setuptools.dynamic attr

Background: Why install scripts are a supply-chain risk →

Dependencies 28 packages
Packages resolved 28
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 59 exposed · ~8,461 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
sessions_get ~67

读取指定会话日志的内容(文件名来自 sessions_list)。 默认显示尾部 200 行(日志开头常是复位前旧数据)。整段内容可直接喂 analyze_log。

NameTypeReqDescription
fnamestringyes–
tail_linesinteger––
NameTypeReqDescription
resultstringyes–

No examples provided.

sessions_list ~64

列出已落盘的串口会话日志(serial_open 时自动创建,新→旧)。 会话被关闭甚至对话轮次已隔很久之后,仍可用它找回之前的串口现场。

NameTypeReqDescription
limitinteger––
NameTypeReqDescription
resultstringyes–

No examples provided.

spi_read_reg ~102

发一个 SPI 命令字并读回 N 字节(对读了命令字的从设备通用)。 例:读 JEDEC ID → spi_read_reg(cmd_byte=0x9F, count=3)。

NameTypeReqDescription
baudrateinteger––
businteger––
cmd_byteintegeryes–
countinteger––
csinteger––
portstring––
NameTypeReqDescription
resultstringyes–

No examples provided.

spi_scan ~166

逐条 CS 读 JEDEC ID(0x9F),找出板上挂的 SPI flash,并解出厂商与容量。 ★ SPI **没有地址概念**,所以「扫描」只能是「对每条 CS 发 0x9F」。因此本工具 只对遵守 0x9F 的 SPI NOR/NAND flash 有效;对 SPI 传感器 / ADC / 显示驱动 (各有自己的命令字)扫不出来是**正常**的,不是故障 —— 那种器件请用 spi_read_reg 给具体命令字。

NameTypeReqDescription
baudrateinteger––
businteger––
portstring––
NameTypeReqDescription
resultstringyes–

No examples provided.

stack_unwind ~246

栈回溯:把 fault 时压栈的 8 个字还原成调用链,定位出错函数。 frame 按硬件压栈顺序:[R0, R1, R2, R3, R12, LR, PC, xPSR] stack_unwind("build/app.elf", frame=[r0,r1,r2,r3,r12,lr,pc,xpsr]) ★同 symbol_lookup:优先给 .elf。.map 的符号表稀疏时 PC/LR 可能反查出 假函数名,工具会就此提示。 exc_return 传 handler 入口时的 LR——它决定栈帧是标准还是 FPU 扩展、 以及异常前用的是 MSP 还是 PSP(RTOS 任务)。传了会给出更准的判断。 ★ PC 反查不到符号时,说明是典型「跑飞」,工具会给排查方向。

NameTypeReqDescription
exc_returninteger––
framearray––
pathstringyes–
spinteger––
NameTypeReqDescription
resultstringyes–

No examples provided.

stream_capture ~262

长时录测:持续采集串口一段时间,逐行打上到达时间戳落盘。 产出的文件**直接可以喂给 timing_analysis(path=...) ** —— 两件工具是同一条链路。 seconds 最长采集秒数;max_lines 收够多少行提前结束(0=不限); idle_stop_s 连续多少秒没数据提前结束(0=不用);out_path 默认落在会话日志目录 (已存在同名文件会自动改名,不覆盖旧现场)。 ★ 为什么时间戳必须在采集端打:事后才拿到的日志如果没时间戳,时序信息就永久丢了。 采集时按到达时刻记一行,成本几乎为零,却让后面所有分析成立。 排查「偶发丢数据」「隔一会儿卡一下」时用:让它自己采几分钟,再看 timing_analysis。

NameTypeReqDescription
baudrateinteger––
idle_stop_snumber––
max_linesinteger––
out_pathstring––
portstringyes–
secondsnumber––
NameTypeReqDescription
resultstringyes–

No examples provided.

symbol_lookup ~253

把地址反查成「函数名+偏移」。fault 地址定位代码的关键一步。 symbol_lookup("build/app.elf", ["0x08004a2c"]) ★优先给 .elf 而不是 .map:.elf 的 .symtab 带真实 st_size,能判断 「地址还在不在这个函数内」;.map 只能靠「下一个符号 − 本符号」推断。 ★GNU ld(GCC/STM32CubeIDE/ESP-IDF)默认**不往 .map 里写符号表**, 同一份固件的 .map 可能只有个位数条目(实测 3 个,而 .elf 有 31 个)。 此时反查会命中段符号给出**假函数名**——所以本工具遇到这种稀疏 map 会 明确提示,并把同目录的 .elf 摆出来让你换源。 找不到符号时明确报"未找到",不给猜测的函数名——猜出来的名字比没名字更害人。

NameTypeReqDescription
addressesarrayyes–
pathstringyes–
NameTypeReqDescription
resultstringyes–

No examples provided.

timing_analysis ~285

时序 / 数据率分析:找丢帧(序号跳号)、卡顿(间隔离群)、节拍漂移。 输入二选一:text(现成日志内容)或 path(日志/采集文件)。 最顺的用法:先 stream_capture 采一段,再把它的文件路径喂进来。 时间戳自动识别两种:[+0.0123] 采集前缀、HH:MM:SS.mmm;其他格式用 pattern (第 1 个捕获组是秒)。 seq_pattern 给序号(第 1 个捕获组),例如 TICK 42 这种要写 seq_pattern="TICK\s+(\d+)"; 不给则只认行首那个整数。 ★ 定位说明:时间戳来自 PC 侧(OS 调度 + USB 缓冲),自带毫秒级抖动。上面的数适合 【相对比较】——哪几次明显变慢、有没有跳号、是否整体漂移;不适合当示波器判 「周期是不是精确 1.000 ms」。

NameTypeReqDescription
pathstring––
patternstring––
seq_patternstring––
textstring––
NameTypeReqDescription
resultstringyes–

No examples provided.

toolchain_status ~99

探测**本机**嵌入式工具链:编译器(ARM GCC / armclang / RISC-V / Xtensa)、 调试器、构建系统(CMake/Ninja/west/SCons/PlatformIO/Cargo)各给版本。 换机器、或「我这能编过、换台电脑就编不过」时先看这个。烧录器用 flash_tool_detect。

Input schema present but exposes no named parameters.

NameTypeReqDescription
resultstringyes–

No examples provided.

Install

How do I install the mcu-debug-mcp server?

mcu-debug-mcp runs locally as a PyPI package, launched with uvx mcu-debug-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

pypi · mcu-debug-mcp

# add to Claude Code
claude mcp add stillsurge-mcu-debug-mcp -- uvx mcu-debug-mcp
Common questions

What is the mcu-debug-mcp server?

mcu-debug-mcp is listed in the public MCP registry as io.github.stillsurge/mcu-debug-mcp. Embedded debug MCP: serial, flash verify, fault decode, 45-pattern log analyzer, driver library. This page covers its PyPI package (mcu-debug-mcp).

Is the mcu-debug-mcp server safe to use?

mcu-debug-mcp scores 66 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 5 November 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the mcu-debug-mcp server expose?

mcu-debug-mcp exposes 59 tools: serial_list, serial_open, serial_close, serial_read, serial_send, and 54 more. Their descriptions and schemas cost roughly 8,461 tokens of context every time the server is loaded.

Is the mcu-debug-mcp server still maintained?

mcu-debug-mcp is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the mcu-debug-mcp server under?

mcu-debug-mcp declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.