Every hardware MCP server I could find, and what each one actually does

Conflict of interest first: I work on one of these. Veecle builds Chiplab, which is a hardware MCP server, and it is in the table below held to the same standard as everything else. If that makes you want to discount the whole post, fair. Read the links instead of me.
I spent a day auditing the category. Start point was the awesome-mcp-hardware list,1
then the official MCP Registry2 and the reference-servers repository,3 then targeted
searches for Model Context Protocol hardware tooling of every kind I could think of:
serial, GPIO, Arduino, ESP32, PlatformIO, Raspberry Pi, JTAG/SWD, logic analyzers,
oscilloscopes, SDR, CAN, Modbus, robotics, EDA and Wokwi. I opened 44 candidate links and
checked repository activity with gh on 2026-08-04. Two of them 404. This is not
exhaustive — it is everything I could find, and if you know one I missed I want the link.
The honest summary: MCP embedded tooling is real, it is early, and most of it is a serial port with a schema bolted on.
What the whole category looks like from above
awesome-mcp-hardware lists 21 servers and one client. Two of the 21 —
xds110_mcp_server and IoT-Edge-MCP-Server — return 404 from the GitHub API as of
today. Of the 19 that resolve, 11 have fewer than 30 stars, and seven have not taken a
commit in over twelve months: UnitApi, the three mcp2everything servers (last pushed
December 2024), modbus-mcp, OpenSCAD-MCP-Server, and — the interesting one — Golioth's
tinymcp.
The official registry is thinner still. I searched it for fourteen hardware terms:
| Registry search term | Unique servers returned |
|---|---|
kicad | 3 |
serial, arduino, embedded | 2 each |
firmware | 1 |
stm32, microcontroller, probe-rs, jtag, oscilloscope, modbus, gpio, esp32, raspberry | 0 |
Nine of fourteen return nothing. The official index of MCP servers currently knows about zero servers matching "stm32", and three matching "kicad". That gap is the category.

Group 1: read the docs, touch nothing
These aren't hardware access. They are retrieval over datasheets and source.
sheetsdata-mcp pulls component specs and absolute max ratings out of manufacturer PDFs.
clangd-graph-rag builds a graph index over a C/C++ tree. Microchip ships an MPLAB-DOCS
MCP server that
does vector search over its own technical documentation — a silicon vendor's official MCP
offering, and it cannot touch silicon.
Useful. Honest about what they are. But when a "hardware" list is a quarter documentation search, that tells you what was available to put on the list.
Group 2: talk to a port on your desk
The biggest group and the thinnest.
mcp2serial, mcp2tcp and mcp2mqtt are
the archetype: pyserial with an MCP schema in front. All three last saw a commit in
December 2024. mcp2mqtt has 371 stars and nineteen months of silence.
Newer ones are better maintained and no deeper. serial-mcp-server and serial-mcp both
do list ports, connect, send, read.
mcp-micropython-bridge drives
a MicroPython REPL over USB.
MCP_BluetoothScanner describes
itself in its own README as a "simple POC" and has one star.
What the agent observes here is bytes. Not state, not memory, not timing — whatever the firmware already decided to print. If your firmware doesn't log it, the agent can't see it.
Group 3: drive a build-and-flash toolchain
arduino-mcp-server wraps
arduino-cli: detect boards, compile, upload, stateful serial sessions. It's the flagship
of a new hardware-mcp org that also advertises an SCPI server and a JTAG server — both
listed as "coming soon", and neither exists as a repository. That's the field in one
screenshot.
stm32-mcp is my favorite entry in the whole
list, precisely because it doesn't pretend. Its README says it is "pretty specific to how
I tend to approach hardware development" — stlink-v3 mini, VCP, STM32 — and carries a
blunt warning: "This is not a sandbox. Know what's connected before you let it rip." It
builds, flashes, talks serial and reads memory over SWD. One author, 18 stars, actively
pushed.
Build works anywhere. Flash needs the board.
Group 4: drive a debug probe
This is where the category gets genuinely good.
embedded-debugger-mcp exposes 24
tools over probe-rs or OpenOCD: probe discovery, connect, read/write memory, halt, run,
reset, single step, hardware breakpoints, flash, and RTT.4 Rust, MIT, ARM Cortex-M,
RISC-V and Xtensa, last pushed 2026-07-16.
dbgprobe-mcp-server does a similar job
J-Link-first with ELF and SVD loading for symbol-aware inspection. OpenOCD and pyOCD are
marked planned in the README's own commented-out badges.
gdb-mcp drives GDB/MI directly.
An agent on this tier can actually observe: registers, memory, execution state. That's the real feedback loop. It also requires a probe, a target, a USB cable and a human who plugged all three in. Which is exactly the problem.
Group 5: design tools and instruments
The EDA servers have the star counts.
KiCAD-MCP-Server sits at 1,757 stars,
Seeed's at 71, kicad-sch-api at 48,
plus two more KiCad servers in the official registry. They edit files. No hardware
required, which is likely why they're the most popular things in a hardware list.
Instruments are the opposite: rare, and hard-gated on owning the instrument.
scope-mcp drives a Keysight/Agilent scope
over Ethernet and states it was tested against exactly one model, an MSOX2024A.
saleae-logic2-mcp needs Logic 2 running
locally with automation enabled. sdr-mcp needs
an RTL-SDR dongle. modbus-mcp and opcua-mcp
need a PLC. ros-mcp-server is the single
most-starred hardware-adjacent server at 1,376 and needs a robot.
Group 6: execute firmware on a target you don't physically have
Three entries. That's it.
tinymcp from Golioth is the most architecturally
interesting thing in the audit. The MCP server runs locally but reaches deployed devices
through the Golioth management API, exposing device RPCs as MCP tools without changing
firmware.5 It is also the only company-backed entry in the list, and its last commit is
2025-07-03 — a README edit titled "expand warning". The warning it expanded reads:
"tinymcp is an experimental project. Expect frequent breaking changes." Thirteen months,
no code. It still needs your own fleet, on Golioth, online.
Wokwi ships an experimental MCP server inside wokwi-cli, invoked as wokwi-cli mcp,
needing a WOKWI_CLI_TOKEN.6 Hosted simulation, so no board. The documentation is a
single short page and the word "experimental" is theirs.
And Chiplab.

The structural problem with the whole hardware MCP server category
Group the field by capability and one thing falls out immediately: nearly every entry assumes the hardware is already plugged into the machine running the agent. Serial servers need the port. Toolchain servers need the board to flash. Probe servers need the probe. Instrument servers need the instrument.
That single assumption is what keeps all of it out of CI and out of the hands of an agent working alone. E2B gave agents a computer they don't physically own, and that's the whole reason a coding agent can iterate unsupervised. The hardware equivalent is mostly missing, which is the same empty slot I mapped in the agent infrastructure map and argued from the other direction in hardware is becoming an API. I'm not going to re-argue it here. The audit is the evidence.
The table
Maintenance status is last push to the default branch as reported by the GitHub API on 2026-08-04. Stars same date.
| Server | Group | Board on your desk? | What the agent observes | Last commit, stars (checked 2026-08-04) | Best for |
|---|---|---|---|---|---|
| sheetsdata-mcp | Docs | No | Datasheet text | 2026-04-26, 9 | Part selection |
| clangd-graph-rag | Docs | No | Your own source graph | 2026-04-25, 59 | Large C/C++ codebases |
| mcp2serial | Port | Yes | UART bytes | 2024-12-19, 48 — stale | Nothing new; read it for the pattern |
| mcp-micropython-bridge | Port | Yes | REPL output | 2026-04-15, 8 | ESP32/RP2040 MicroPython tinkering |
| arduino-mcp-server | Toolchain | Yes, to upload | Compile output, serial | 2026-03-08, 14 | The best MCP server for Arduino work |
| stm32-mcp | Toolchain | Yes | Build, serial, SWD memory | 2026-07-18, 18 | One person's STM32 bench, honestly labeled |
| embedded-debugger-mcp | Probe | Yes | Memory, registers, breakpoints, RTT | 2026-07-16, 138 | Best embedded debugger MCP today |
| dbgprobe-mcp-server | Probe | Yes | Memory + symbols via ELF/SVD | 2026-03-14, 8 | J-Link users |
| gdb-mcp | Probe | Depends on target | Whatever GDB sees | 2026-03-11, 42 | Existing GDB workflows |
| KiCAD-MCP-Server | EDA | No | Schematic and PCB files | 2026-08-01, 1,757 | PCB design automation |
| scope-mcp | Instrument | Scope, not board | Waveforms, measurements | 2026-02-23, 11 | One tested Agilent model |
| saleae-logic2-mcp | Instrument | Analyzer + board | Decoded UART/I2C/SPI, timing | 2026-03-09, 3 | Protocol bring-up |
| tinymcp | Execute | Your fleet, remote | Device RPC results | 2025-07-03, 151 — stale 13 months | Golioth fleets |
| Wokwi CLI MCP | Execute | No | Simulated run output | Experimental, docs only | Arduino/ESP32 simulation in CI |
| Chiplab | Execute | No | Firmware stdout, run artifacts | 2026-07-31, 13 | Cortex-M firmware an agent can run alone |
Chiplab's entry, same standard
Chiplab is a hosted MCP server that runs firmware on emulated boards. It is in the
official registry as ai.veecle/chiplab.2 Here is the round-trip an agent actually
performs, no human in the loop:
1. chiplab_issue_upload_ticket -> artifact_id + presigned upload_url
2. curl --upload-file <ELF> "<upload_url>" -> HTTP 200
3. chiplab_run { artifact_id, board_id } -> task_id
4. chiplab_get_task_result { task_id } -> {"artifacts":["stdout"],"run_id":"run_..."}
5. chiplab_list_run_artifacts { run_id } -> artifact list
6. chiplab_issue_download_ticket { run_id, artifact_name: "stdout" }
7. curl "<download_url>" -> the transcript
Roughly 25-30 seconds from upload ticket to transcript in hand. Boards exposed:
stm32f4_discovery, stm32f7_discovery, stm32f103_blue_pill, stm32wba52_nucleo,
stm32l073_nucleo, stm32h745_nucleo, nrf52840_dk. Seven. The runs behind posts 18 and
20 in this batch came out of exactly this loop.
Where it loses: seven boards is a rounding error next to the parts a real team ships. The
server is hosted and closed, so you cannot audit it the way you can audit the 24 tools in
embedded-debugger-mcp. It executes a simulation, not silicon. Those same runs are where
that simulation confidently handed back 256 KB of RAM at an
address where the STM32F407 has 128 KB and reserved space. A probe server attached to a
real board would not have lied about that. Chiplab wins one dimension only: the agent
doesn't need the board.

Is any of this production-ready?
The probe tier, yes, for a human at a bench who wants an agent to stop making them type
J-Link commands. embedded-debugger-mcp and stm32-mcp both do real work today.
Everything in the port tier is a weekend of pyserial you could write yourself. The execute
tier has three entries, one of which hasn't shipped code in thirteen months and one of
which is documented on a single page labeled experimental.
Forty-four links, two dead, seven abandoned, and one silicon vendor whose official MCP server is a PDF search. Nobody has won this category. Nobody is close.
Sources
Footnotes
-
beriberikix. "Awesome MCP for Hardware." GitHub. https://github.com/beriberikix/awesome-mcp-hardware ↩
-
"The MCP Registry." Model Context Protocol. https://modelcontextprotocol.io/registry/about and https://registry.modelcontextprotocol.io ↩ ↩2
-
"Model Context Protocol servers." modelcontextprotocol/servers, GitHub. https://github.com/modelcontextprotocol/servers ↩
-
"Embedded Debugger MCP Server." LobeHub. https://lobehub.com/mcp/adancurusul-embedded-debugger-mcp ↩
-
Mangum, Daniel. "tinymcp: Unlocking the Physical World for LLMs with MCP and Microcontrollers." Golioth Developer Blog. https://blog.golioth.io/tinymcp-unlocking-the-physical-world-for-llms-with-mcp-and-microcontrollers ↩
-
"MCP Support." Wokwi Docs. https://docs.wokwi.com/wokwi-ci/mcp-support ↩
