Skip to main content
Glama
brovk2008

STM32Cube-MCP

by brovk2008

stm32_create_project

Scaffolds a ready-to-build STM32 project with CubeMX config, main.c LED blink, linker script, and Makefile for immediate compilation.

Instructions

Scaffolds a new, ready-to-build STM32 project:

  • .project: Eclipse CDT project definition

  • .ioc: STM32CubeMX configuration file

  • Core/Src/main.c: Standard embedded main entry point with LED blink loop

  • Core/Inc/main.h: Embedded header file

  • STM32_FLASH.ld: Linker script for Flash & RAM section mappings

  • Makefile: Standalone GNU ARM build script

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
target_mcuNoSTM32F401RETx
project_nameYes
destination_dirNo.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations to carry the burden, the description discloses the filesystem behavior by listing each created file and its purpose, including the notable detail that main.c contains an LED blink loop. It also signals that the result is buildable via the standalone GNU ARM Makefile. It does not discuss overwrite or conflict behavior, but for a scaffold tool this is a strong disclosure of side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single framing sentence is immediately followed by a concise bullet list of generated files; there is no filler or repetition. Each bullet adds concrete information an agent needs to know what the tool will produce.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is adequate for a straightforward scaffold call: the required parameter is project_name, and the other two have defaults. However, it omits meaningful description of target_mcu and destination_dir, and it does not state behavior when files or the destination directory already exist, so an agent must infer important invocation details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for the three parameters, but it only references project_name (via the <project_name>.ioc filename). target_mcu and destination_dir are left to inference from their property names and defaults, with no explanation of accepted values or effect on generated code.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Scaffolds a new, ready-to-build STM32 project', and then enumerates the exact generated artifacts (.project, .ioc, main.c, main.h, linker script, Makefile). This clearly differentiates it from sibling operations like import_project, build_project, or list_projects.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The word 'new' and the scaffolding verb imply this is the tool to use when starting an STM32 project from scratch, and sibling names such as stm32_import_project suggest the alternative for existing projects. However, the description never explicitly states when to use it versus those alternatives, nor does it call out exclusions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.