Allows querying official ARM CMSIS SVD hardware register definitions to retrieve precise register names, bit positions, and addresses for supported microcontrollers.
Provides access to the Raspberry Pi RP2040's hardware register definitions through bundled SVD files, enabling detailed searches for its peripherals and registers.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-svdLook up the bitfields for the GPIOA MODER register in svd/STM32F411.svd"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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-svdOr clone and build manually:
git clone https://github.com/pkt-lab/mcp-svd
cd mcp-svd
npm install && npm run buildClaude 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.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.jsonLinux:
~/.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 |
| STM32F411 |
| Nordic nRF52840 |
| Raspberry Pi RP2040 |
License
MIT
Resources
Looking for Admin?
Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.