stm32cubemx-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CUBEMX_MCP_CUBEMX_PATH | No | Explicit CubeMX launcher path | |
| CUBEMX_MCP_ALLOWED_ROOTS | No | OS-path-separated project roots the MCP may read or change | |
| CUBEMX_MCP_MAX_IOC_BYTES | No | Maximum .ioc size accepted; defaults to 5 MiB | 5242880 |
| CUBEMX_MCP_MAX_PROJECT_BYTES | No | Maximum project size; defaults to 500 MiB | 524288000 |
| CUBEMX_MCP_MAX_PROJECT_FILES | No | Maximum project file count; defaults to 20,000 | 20000 |
| CUBEMX_MCP_CUBEMX_TIMEOUT_SECONDS | No | Maximum CubeMX operation time; defaults to 120 seconds | 120 |
| CUBEMX_MCP_ALLOW_UNVALIDATED_APPLY | No | Permit an explicit validation bypass; defaults to false | false |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| cubemx_environmentA | Discover local STM32CubeMX, STM32CubeIDE, CMake, and related runtime state. |
| cubemx_list_iocA | List IOC files below an allowed project directory without modifying them. |
| cubemx_inspect_iocA | Inspect one IOC file and return project, microcontroller, pin, and clock data. |
| cubemx_plan_ioc_changesA | Plan pin, peripheral, parameter, and project changes. Do not write a file. |
| cubemx_apply_ioc_changesB | Apply an approved IOC plan. Create a backup and replace the source file. |
| cubemx_validate_iocC | Load and save an IOC copy with STM32CubeMX. Do not change the source file. |
| cubemx_create_iocB | Create and validate one IOC file for a board or microcontroller in a new directory. |
| cubemx_generate_projectC | Generate one new STM32CubeIDE project in a new output directory. |
| cubemx_plan_regenerationA | Regenerate a temporary project copy. Return a read-only file change plan. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 9 tools
Each tool targets a distinct resource and action: creating, listing, inspecting, planning, applying, validating, and generating. The plan/apply split is clear, and inspection vs. validation are unambiguous. No two tools appear to do the same thing.
All tools share the cubemx_ prefix and use snake_case. Most follow a verb_noun pattern (create_ioc, list_ioc, plan_ioc_changes), with only 'environment' deviating as a pure noun. This is a minor inconsistency in an otherwise predictable scheme.
With 9 tools, the set is well-scoped for managing STM32CubeMX projects and IOC files. Each tool covers a distinct step in the workflow without redundancy or bloat. The count is appropriate for the domain.
The set covers discovery, creation, inspection, validation, change planning/application, and project generation. However, plan_regeneration has no corresponding apply tool, leaving a dead end for regenerating existing projects. Missing delete/remove functionality is a minor gap, but the lack of regeneration application is more significant.