S
shieldyguy/stm32-mcp
build, flash, debug stm32 projects
View on GitHub ↗Link checked 2026-11-12 · HTTP 200 · opens the vendor's own site
Install & config
Install command from the repository
brew install open-ocd
Parsed from the README we fetched on 2026-11-05; we have not executed it.
This is the install method the repository states, not an MCP client config, so no JSON is generated.
Key names differ by client: Clients & CLI
- Source
- collected from the abordage/awesome-mcp list · type: MCP server
- Harvest history
- first seen 2026-11-05 · last seen 2026-11-14 · seen 10× · listed by 10 sources
- Score
- score 1,003 · 10 sources · mcp
- Install
brew install open-ocd
FAQ (answers come from our records)
How do I install it?
The repository provides this install command:
brew install open-ocd. It comes from the repository itself; we cannot guarantee it runs as-is in your client.Who is it for?
We filed it under these tags: MCP 服务. The tags come from the entry itself, not a taxonomy we imposed.
Who maintains it?
first catalogued 2026-11-05;last seen 2026-11-14。There is no official certification or quality rating here — we record sources and dates only.
# stm32-mcp
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
MCP server that lets Claude Code build, flash, and communicate with STM32 hardware.
stm32-mcp is pretty specific to how I tend to approach hardware development, but it is likely useful to others, too! It could be massaged to fit lots of workflows, but this is laser focused on mine (stlink-v3 mini, VCP on that header, STM32 microcontroller).
You can do things like:
> me: hey who is plugged in right now?
> claude: two unnamed probes connected to two unnamed PCBs
> me: k ask them who they are and give them a nickname based on their response
> claude: got it, do you want to nickname the probes too? your boards are 'doorbell A' and 'synthesizer B'
> me: yep, I put paint marker on those probes. call doorbell's 'blue' and the synth's 'red'
> claude: done. what's next?
> me: give them both VCP commands so they can talk to each other, then have the doorbell ask the synth on a date
> claude: thinking... done, synth declined. plenty of fish in the sea, doorbell!
MCP (Model Context Protocol) is an open standard that lets AI assistants like Claude use external tools. This server gives Claude the ability to compile your firmware, flash it to a board, talk to it over serial, and read memory via SWD. It is flexible and conversational.
> [!WARNING]
> This server gives an AI direct access to your compiler, debug probe, and serial ports. It can flash firmware, overwrite memory, and send arbitrary data to your hardware. This is powerful and useful, but it is not a sandbox. Know what's connected before you let it rip.
## Prerequisites
STM32CubeIDE installed at /Applications/STM32CubeIDE.app (macOS) or /opt/st/stm32cubeide (Linux)
Python 3.10+
OpenOCD (brew install open-ocd) — for flash, memory read/write, and live monitoring
open-source stlink tools (brew install stlink) — for probe enumeration
ST-Link connected via USB (for flash/board info)
Serial port available (ST-Link VCP or USB-UART adapter)
## Installation
bash
git clone https://github.com/shieldyguy/stm32-mcp.git
cd stm32-mcp
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
## Register with Claude Code
### Option A: CLI
bash
claude mcp add stm32 -- /path/to/stm32-mcp/.venv/bin/python -m stm32mcp.server
### Option B: Project config
Add to your project's .claude/settings.json or .claude.json:
json
"mcpServers": {
"stm32": {
"command": "/path/to/stm32-mcp/.venv/bin/python",
"args": ["-m", "stm32mcp.server"]
## Self-serve CLI
bin/ contains four thin wrappers over the same code the MCP
tools use
| Command | Usage |
| stm32-list | List connected probes + boards with nicknames |
| stm32-flash | stm32-flash [--noverify] [--noreset] |
| stm32-build | stm32-build [Debug\|Release] [--clean] |
| stm32-bf | stm32-bf [Debug\|Release] [--clean] |
| stm32-help | List these commands with their usage (auto-generated from the scripts) |
Add bin/ to your PATH:
bash
export PATH="/path/to/stm32-mcp/bin:$PATH"
Probe nicknames and board nicknames resolve.
Builds share the MCP's headless CubeIDE workspace lock, so a
stm32-build/stm32-bf racing an agent-driven build will queue behind it.
## Available Tools
### Build & Flash
| Tool | Description |
| stm32build | Compile firmware using CubeIDE headless builder |
stm32-mcp is pretty specific to how I tend to approach hardware development, but it is likely useful to others, too! It could be massaged to fit lots of workflows, but this is laser focused on mine (stlink-v3 mini, VCP on that header, STM32 microcontroller).
You can do things like:
> me: hey who is plugged in right now?
> claude: two unnamed probes connected to two unnamed PCBs
> me: k ask them who they are and give them a nickname based on their response
> claude: got it, do you want to nickname the probes too? your boards are 'doorbell A' and 'synthesizer B'
> me: yep, I put paint marker on those probes. call doorbell's 'blue' and the synth's 'red'
> claude: done. what's next?
> me: give them both VCP commands so they can talk to each other, then have the doorbell ask the synth on a date
> claude: thinking... done, synth declined. plenty of fish in the sea, doorbell!
MCP (Model Context Protocol) is an open standard that lets AI assistants like Claude use external tools. This server gives Claude the ability to compile your firmware, flash it to a board, talk to it over serial, and read memory via SWD. It is flexible and conversational.
> [!WARNING]
> This server gives an AI direct access to your compiler, debug probe, and serial ports. It can flash firmware, overwrite memory, and send arbitrary data to your hardware. This is powerful and useful, but it is not a sandbox. Know what's connected before you let it rip.
## Prerequisites
STM32CubeIDE installed at /Applications/STM32CubeIDE.app (macOS) or /opt/st/stm32cubeide (Linux)
Python 3.10+
OpenOCD (brew install open-ocd) — for flash, memory read/write, and live monitoring
open-source stlink tools (brew install stlink) — for probe enumeration
ST-Link connected via USB (for flash/board info)
Serial port available (ST-Link VCP or USB-UART adapter)
## Installation
bash
git clone https://github.com/shieldyguy/stm32-mcp.git
cd stm32-mcp
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
## Register with Claude Code
### Option A: CLI
bash
claude mcp add stm32 -- /path/to/stm32-mcp/.venv/bin/python -m stm32mcp.server
### Option B: Project config
Add to your project's .claude/settings.json or .claude.json:
json
"mcpServers": {
"stm32": {
"command": "/path/to/stm32-mcp/.venv/bin/python",
"args": ["-m", "stm32mcp.server"]
## Self-serve CLI
bin/ contains four thin wrappers over the same code the MCP
tools use
| Command | Usage |
| stm32-list | List connected probes + boards with nicknames |
| stm32-flash | stm32-flash [--noverify] [--noreset] |
| stm32-build | stm32-build [Debug\|Release] [--clean] |
| stm32-bf | stm32-bf [Debug\|Release] [--clean] |
| stm32-help | List these commands with their usage (auto-generated from the scripts) |
Add bin/ to your PATH:
bash
export PATH="/path/to/stm32-mcp/bin:$PATH"
Probe nicknames and board nicknames resolve.
Builds share the MCP's headless CubeIDE workspace lock, so a
stm32-build/stm32-bf racing an agent-driven build will queue behind it.
## Available Tools
### Build & Flash
| Tool | Description |
| stm32build | Compile firmware using CubeIDE headless builder |
Listed badge (optional)
Copy this line into the README if you want the listing mark. Optional, and it does not affect being listed.
[](https://anclum.com/en/s/shieldyguy-stm32-mcp/)
- Source
- awesome · https://github.com/shieldyguy/stm32-mcp
- Browse by field
- MCP servers
- Listed by
- 10 independent sources
- added
- today
More like this
Filed under
Every tag opens the full list for that filter. Counts are the live catalogue figures.