mcp-svd
An MCP (Model Context Protocol) server that exposes ARM CMSIS SVD hardware register definitions to AI coding assistants. Instead of hallucinating register names, bit positions, and addresses, your AI assistant can query the exact definitions straight from the official SVD file for your microcontroller.
Install
From GitHub (no npm needed):
npm install github:pkt-lab/mcp-svd
Or clone and build manually:
git clone https://github.com/pkt-lab/mcp-svd
cd mcp-svd
npm install && npm run build
Claude Desktop configuration
If installed via npm (GitHub):
{
"mcpServers": {
"mcp-svd": {
"command": "node",
"args": ["./node_modules/mcp-svd/dist/index.js"]
}
}
}
If cloned locally:
{
"mcpServers": {
"mcp-svd": {
"command": "node",
"args": ["/absolute/path/to/mcp-svd/dist/index.js"]
}
}
}
Config file location:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
Restart Claude Desktop after editing.
MCP tools
list_peripherals
{ "svd_file": "svd/STM32F411.svd" }
lookup_register
{ "svd_file": "svd/STM32F411.svd", "peripheral": "USART1", "register": "CR1" }
describe_field
{ "svd_file": "svd/STM32F411.svd", "peripheral": "GPIOA", "register": "MODER", "field": "MODE0" }
search_registers
{ "svd_file": "svd/rp2040.svd", "query": "uart" }
Returns up to 10 peripheral+register matches (case-insensitive substring).
REST API
REST_PORT=3000 node dist/index.js
# List peripherals
curl "http://localhost:3000/api/v1/peripherals?svd=svd/STM32F411.svd"
# List registers
curl "http://localhost:3000/api/v1/registers/GPIOA?svd=svd/STM32F411.svd"
# Describe a field
curl "http://localhost:3000/api/v1/field/GPIOA/MODER/MODE0?svd=svd/STM32F411.svd"
Using your own SVD file
Download from cmsis-svd-data or your chip vendor, then pass the path:
{ "svd_file": "/path/to/your/device.svd", "peripheral": "SPI0", "register": "CR" }
Bundled SVD files
| File | Device |
|---|---|
svd/STM32F411.svd | STM32F411 |
svd/nRF52840_xxAA.svd | Nordic nRF52840 |
svd/rp2040.svd | Raspberry Pi RP2040 |
License
MIT