stlink-mcp
An MCP server that allows AI coding agents to program, run, and inspect STM32 microcontroller targets via ST-LINK hardware. It drives STM32CubeCLT command line tools, reads variables and peripheral registers from ELF and SVD files without stopping the program, and provides detailed verification status for every operation to ensure the agent receives accurate hardware feedback.
Package and access
Local package with source-attributed installation metadata. Koskamo does not execute packages during review.
What you can do with it
- Program STM32 targets over ST-LINK
- Run firmware and inspect execution results
- Read variables and peripheral registers by name
- Verify if operations halted or reset the target
Source and maintenance
- Maintenance checked
Packages and installation
Source-provided package data. Koskamo has not executed or live-probed this package.
stlink-mcp 0.8.6
{
"version": "0.8.6",
"transport": "stdio",
"identifier": "stlink-mcp",
"runtimeHint": "uvx",
"registryType": "pypi",
"registryBaseUrl": "https://pypi.org",
"environmentVariables": [
{
"name": "STLINK_MCP_CLT_ROOT",
"format": "filepath",
"description": "STM32CubeCLT (or STM32CubeIDE) install directory, when it is not in a standard place"
},
{
"name": "STLINK_MCP_BOARDS",
"format": "filepath",
"description": "TOML file describing boards this project has not characterised; defaults to ~/.config/stlink-mcp/boards.toml if it exists"
},
{
"name": "STLINK_MCP_NO_VENDOR_SEED",
"description": "Set to anything to run on measured and user-stated data only, with no seeding from ST's device databases"
},
{
"name": "STLINK_MCP_CONSOLE",
"description": "Serial console per probe, SERIAL=/dev/ttyUSB0, comma-separated for several; for a console that is not the probe's own"
},
{
"name": "STLINK_MCP_CONSOLE_BAUD",
"format": "number",
"default": "115200",
"description": "Console baud rate"
},
{
"name": "STLINK_MCP_GDB_PORT",
"format": "number",
"default": "61234",
"description": "First GDB server port; each probe's server takes this port and the next"
}
]
}Tools
Reported by the attributed source; not independently observed by Koskamo.
Connect from your client
Each snippet configures the same source-provided package; replace placeholders before use.
Cursor
{
"mcpServers": {
"stlink-mcp": {
"command": "uvx",
"args": [
"stlink-mcp==0.8.6"
],
"env": {
"STLINK_MCP_CLT_ROOT": "<YOUR_STLINK_MCP_CLT_ROOT>",
"STLINK_MCP_BOARDS": "<YOUR_STLINK_MCP_BOARDS>",
"STLINK_MCP_NO_VENDOR_SEED": "<YOUR_STLINK_MCP_NO_VENDOR_SEED>",
"STLINK_MCP_CONSOLE": "<YOUR_STLINK_MCP_CONSOLE>",
"STLINK_MCP_CONSOLE_BAUD": "<YOUR_STLINK_MCP_CONSOLE_BAUD>",
"STLINK_MCP_GDB_PORT": "<YOUR_STLINK_MCP_GDB_PORT>"
}
}
}
}Cline
{
"mcpServers": {
"stlink-mcp": {
"command": "uvx",
"args": [
"stlink-mcp==0.8.6"
],
"env": {
"STLINK_MCP_CLT_ROOT": "<YOUR_STLINK_MCP_CLT_ROOT>",
"STLINK_MCP_BOARDS": "<YOUR_STLINK_MCP_BOARDS>",
"STLINK_MCP_NO_VENDOR_SEED": "<YOUR_STLINK_MCP_NO_VENDOR_SEED>",
"STLINK_MCP_CONSOLE": "<YOUR_STLINK_MCP_CONSOLE>",
"STLINK_MCP_CONSOLE_BAUD": "<YOUR_STLINK_MCP_CONSOLE_BAUD>",
"STLINK_MCP_GDB_PORT": "<YOUR_STLINK_MCP_GDB_PORT>"
}
}
}
}VS Code
{
"servers": {
"stlink-mcp": {
"type": "stdio",
"command": "uvx",
"args": [
"stlink-mcp==0.8.6"
],
"env": {
"STLINK_MCP_CLT_ROOT": "<YOUR_STLINK_MCP_CLT_ROOT>",
"STLINK_MCP_BOARDS": "<YOUR_STLINK_MCP_BOARDS>",
"STLINK_MCP_NO_VENDOR_SEED": "<YOUR_STLINK_MCP_NO_VENDOR_SEED>",
"STLINK_MCP_CONSOLE": "<YOUR_STLINK_MCP_CONSOLE>",
"STLINK_MCP_CONSOLE_BAUD": "<YOUR_STLINK_MCP_CONSOLE_BAUD>",
"STLINK_MCP_GDB_PORT": "<YOUR_STLINK_MCP_GDB_PORT>"
}
}
}
}Claude Desktop
{
"mcpServers": {
"stlink-mcp": {
"command": "uvx",
"args": [
"stlink-mcp==0.8.6"
],
"env": {
"STLINK_MCP_CLT_ROOT": "<YOUR_STLINK_MCP_CLT_ROOT>",
"STLINK_MCP_BOARDS": "<YOUR_STLINK_MCP_BOARDS>",
"STLINK_MCP_NO_VENDOR_SEED": "<YOUR_STLINK_MCP_NO_VENDOR_SEED>",
"STLINK_MCP_CONSOLE": "<YOUR_STLINK_MCP_CONSOLE>",
"STLINK_MCP_CONSOLE_BAUD": "<YOUR_STLINK_MCP_CONSOLE_BAUD>",
"STLINK_MCP_GDB_PORT": "<YOUR_STLINK_MCP_GDB_PORT>"
}
}
}
}Let your agent find its tools
Find servers like stlink-mcp from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.