Skip to main content
Glama

Save a Simulink model

cm_model_save
Destructive

Save a loaded Simulink model that resides in a project. A backup is created before saving to protect against data loss.

Instructions

Save a loaded Simulink model. The file must be inside the project; it is backed up first.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modelYesName of the loaded model

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false and destructiveHint=true, so the safety profile is covered. The description adds genuinely new behavior beyond them: the file must reside inside the project, and the target is backed up before being overwritten — valuable context for an overwrite operation that could otherwise look risky.

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?

Two short sentences, no filler, and the primary action is front-loaded ahead of the constraints. Every clause carries information.

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?

An output schema exists, so return values need no explanation, and the description covers the key precondition and the backup behavior. What remains unstated — failure modes, whether the model must have unsaved changes, or effect on the backup location — is minor for a one-parameter save tool.

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?

With a single parameter at 100% schema description coverage, the schema already explains that 'model' is the name of the loaded model. The description adds no further semantics (e.g., whether a path is acceptable or whether the name must match an in-memory model), so baseline 3 applies.

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?

States a specific verb and resource ('Save a loaded Simulink model'), so the agent immediately knows the operation. It does not, however, distinguish itself from siblings such as cm_model_get, cm_model_set, or cm_model_logs_save, which share the same model-oriented naming.

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?

Usage is implied by the verb 'save' and the description does add one precondition ('The file must be inside the project'), which narrows when the call is valid. It never states when to use this versus alternative persistence tools (cm_model_logs_save, cm_dva_write, cm_restore) or what happens if the model is unmodified.

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