Skip to content
Conduit

mcp server

stm32-data-mcp

MCP server for STM32 chip data — pin mappings, peripherals, memory maps, registers, and more

okhsunrog/stm32-data-mcpcommunitylistedunreviewed

Set up

Runs on your computer. Pick your agent and operating system.

This project does not publish an install method we can turn into a config. Follow the README instead.

README

synced Oct 22, 2026

stm32-data-mcp

An MCP (Model Context Protocol) server that exposes stm32-data to LLM tools like Claude Code. Query pin mappings, peripheral info, memory maps, interrupts, DMA channels, register layouts, and documentation for any STM32 microcontroller.

Setup

1. Install

cargo install --git https://github.com/okhsunrog/stm32-data-mcp --locked

2. Clone the data

git clone --depth 1 https://github.com/embassy-rs/stm32-data-generated ~/stm32-data-generated

3. Add to Claude Code

claude mcp add stm32-data \
  --transport stdio \
  --scope user \
  --env STM32_DATA_DIR=$HOME/stm32-data-generated \
  -- stm32-data-mcp

The server auto-detects whether STM32_DATA_DIR points to the repo root or its data/ subdirectory.

Updating data

cd ~/stm32-data-generated && git pull

No server restart needed — chip data is loaded on demand.

Tools

ToolDescription
list_chipsList/filter chips by family prefix (e.g. "STM32F4", "STM32G4")
get_chip_infoChip overview: family, die, cores, memory, packages
get_chip_pinoutPhysical pin positions and signals per package
get_peripheral_pinsPin mappings for a peripheral with AF numbers
get_pin_functionsAll alternate functions for a GPIO pin
list_peripheralsAll peripherals with addresses, bus clocks, register blocks
get_peripheral_infoDetailed peripheral: RCC, clocks, interrupts, DMA
get_register_blockRegister layout with fields, bit positions, descriptions
list_interruptsAll IRQs with numbers
list_dma_channelsAll DMA channels
get_docsDatasheet/reference manual/errata links
get_memory_mapFlash/RAM regions with addresses, sizes, erase granularity
compare_chipsSide-by-side comparison of two chips
find_chips_with_peripheralSearch for chips that have a specific peripheral

Data source

All data comes from embassy-rs/stm32-data-generated, which is built from embassy-rs/stm32-data — the same data that powers the Embassy embedded Rust framework.

License

Licensed under either of

at your option.

↑↓ navigate openesc close