Skip to main content
Glama

project_set_option

Configures STM32CubeMX project manager settings—name, path, toolchain, compiler, stack/heap size, structure, and library copy mode—and optionally persists the .ioc file.

Instructions

Set project manager options: name, path, toolchain (STM32CubeIDE/EWARM/MDK-ARM/Makefile/CMake), compiler (GCC/Starm-Clang), toolchain_location, couple_files_by_ip, generate_under_root, custom_fw_path, stack_size, heap_size, structure (Advanced/Basic), copy_library (copy all/copy only/copy as reference).

Input Schema

NameRequiredDescriptionDefault
nameNoProject name
pathNoGeneration root directory
saveNoPersist the .ioc afterwards
compilerNoCompiler/linker
heap_sizeNoMinimum heap size, e.g. 0x400
structureNoApplication structure
toolchainNoToolchain
project_idYesProject id
stack_sizeNoMinimum stack size, e.g. 0x800
copy_libraryNoLibrary copy mode
custom_fw_pathNoCustom firmware package path
couple_files_by_ipNoOne .c/.h per IP (true) or all in main
toolchain_locationNoExplicit toolchain install path
generate_under_rootNoGenerate under project root

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.0

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden for a 14-parameter mutation tool. It says 'Set' and lists fields, but does not disclose partial-update behavior, whether omitted fields are left unchanged, the effect of the save parameter, persistence semantics, or error conditions.

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?

The description is a single front-loaded sentence that names the operation first and then lists the relevant fields. It is dense but appropriate for a 14-parameter tool and contains no filler or repeated boilerplate.

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

Completeness2/5

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

Given a mutation tool with 14 parameters, no annotations, and no output schema, the description is not complete enough. It lists option names but omits behavioral details such as partial-update semantics, required project_id implications, save default behavior, and what happens on failure.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all 14 parameters. The description repeats enum values for toolchain, compiler, structure, and copy_library but adds no meaning beyond what the schema provides, making the baseline 3 appropriate.

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?

The description uses a specific verb and resource ('Set project manager options') and enumerates the configurable fields, so an agent can identify it as a project-option mutator. It does not explicitly distinguish itself from the sibling project_options tool, which likely reads options, so sibling differentiation is missing.

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

Usage Guidelines2/5

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

The description gives no when-to-use guidance, no prerequisites, and no alternatives. It implies usage by naming the options but never states when an agent should call this instead of project_options or project_create.

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