Skip to content
Chiplab logo
Chiplab logo
Back to Now

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 termUnique servers returned
kicad3
serial, arduino, embedded2 each
firmware1
stm32, microcontroller, probe-rs, jtag, oscilloscope, modbus, gpio, esp32, raspberry0

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.

Capability tiers for hardware MCP servers, from docs retrieval to firmware execution

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.

Agent-to-hardware paths with and without a physically attached board

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.

ServerGroupBoard on your desk?What the agent observesLast commit, stars (checked 2026-08-04)Best for
sheetsdata-mcpDocsNoDatasheet text2026-04-26, 9Part selection
clangd-graph-ragDocsNoYour own source graph2026-04-25, 59Large C/C++ codebases
mcp2serialPortYesUART bytes2024-12-19, 48 — staleNothing new; read it for the pattern
mcp-micropython-bridgePortYesREPL output2026-04-15, 8ESP32/RP2040 MicroPython tinkering
arduino-mcp-serverToolchainYes, to uploadCompile output, serial2026-03-08, 14The best MCP server for Arduino work
stm32-mcpToolchainYesBuild, serial, SWD memory2026-07-18, 18One person's STM32 bench, honestly labeled
embedded-debugger-mcpProbeYesMemory, registers, breakpoints, RTT2026-07-16, 138Best embedded debugger MCP today
dbgprobe-mcp-serverProbeYesMemory + symbols via ELF/SVD2026-03-14, 8J-Link users
gdb-mcpProbeDepends on targetWhatever GDB sees2026-03-11, 42Existing GDB workflows
KiCAD-MCP-ServerEDANoSchematic and PCB files2026-08-01, 1,757PCB design automation
scope-mcpInstrumentScope, not boardWaveforms, measurements2026-02-23, 11One tested Agilent model
saleae-logic2-mcpInstrumentAnalyzer + boardDecoded UART/I2C/SPI, timing2026-03-09, 3Protocol bring-up
tinymcpExecuteYour fleet, remoteDevice RPC results2025-07-03, 151 — stale 13 monthsGolioth fleets
Wokwi CLI MCPExecuteNoSimulated run outputExperimental, docs onlyArduino/ESP32 simulation in CI
ChiplabExecuteNoFirmware stdout, run artifacts2026-07-31, 13Cortex-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.

Seven MCP tool calls an agent makes to run firmware on a hardware MCP server

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

  1. beriberikix. "Awesome MCP for Hardware." GitHub. https://github.com/beriberikix/awesome-mcp-hardware

  2. "The MCP Registry." Model Context Protocol. https://modelcontextprotocol.io/registry/about and https://registry.modelcontextprotocol.io 2

  3. "Model Context Protocol servers." modelcontextprotocol/servers, GitHub. https://github.com/modelcontextprotocol/servers

  4. "Embedded Debugger MCP Server." LobeHub. https://lobehub.com/mcp/adancurusul-embedded-debugger-mcp

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

  6. "MCP Support." Wokwi Docs. https://docs.wokwi.com/wokwi-ci/mcp-support