Skip to main content
Glama

project_create

Creates a CubeMX project from an MCU part number, board, or existing .ioc clone, then saves it as project.ioc in the workspace projects folder.

Instructions

Create a CubeMX project. Give exactly one of mcu (part number or db RefName, e.g. STM32F103C8T6), board (e.g. NUCLEO-F030R8) or ioc (existing .ioc to clone). Optionally set toolchain and output_dir. The project is immediately saved as /projects//project.ioc.

Input Schema

NameRequiredDescriptionDefault
iocNoPath to an existing .ioc to clone
mcuNoMCU part number (STM32F103C8T6) or CubeMX RefName
nameYesHuman readable project name; becomes the project id slug
boardNoBoard name (NUCLEO-F030R8)
toolchainNoToolchain for generation
board_modeNoBoard load modenomode
output_dirNoDirectory where project generation should write

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.0

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the full burden; it does usefully disclose the side effect and destination ('immediately saved as <workspace>/projects/<id>/project.ioc'). It is silent on overwrite behavior if a project with the same slug exists, on error handling when multiple or zero of mcu/board/ioc are supplied, and on permissions.

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

Conciseness4/5

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

Four sentences, front-loaded with the core action and the exclusive-or constraint before the optional parameters and the save location. The inline examples duplicate schema content slightly but aid fast scanning, and nothing is wasted.

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

Completeness4/5

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

For a 7-parameter creation tool with no output schema, it covers the source modes, the optional toolchain/output_dir, and where the resulting project lands. The remaining gap is board_mode and failure semantics, which are minor against what is documented.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds the mutual-exclusivity rule (exactly one of mcu/board/ioc) that the flat schema does not express, plus the distinction that ioc is a clone source rather than a new part. It omits any mention of board_mode, leaving one parameter to the schema alone.

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

Purpose4/5

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

Names a specific verb and resource ('Create a CubeMX project') and the one-of source specification implicitly distinguishes it from project_load_mcu/project_load_board, which mutate an existing project. It does not explicitly name those siblings, so the differentiation is inferable rather than stated.

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

Usage Guidelines4/5

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

'Give exactly one of mcu, board or ioc' is a hard selection constraint that tells the agent how to choose a creation source, with concrete examples for each. There is no explicit statement of when to prefer this over project_open or project_load_* for an existing project, so no exclusions are offered.

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

Deploy Server

Other Tools