Skip to main content
Glama
dimitr-io
by dimitr-io

Start a parameter study

cm_study_start

Run one test run several times with different parameter values in the background and return a study ID for waiting on results; no project files are modified.

Instructions

Run one test run several times with different parameter values, one after another, in the background. Returns a study id at once; wait with cm_study_wait. Nothing is written to project files. The answer names values that will change nothing: keys_not_found, workspace_not_found and workspace_overruled (the model has the variable in its own workspace: use scope=). IPGDriver corners only as fast as its limit Driver.Acc.ayMax allows (a test-run key): to compare variants on time, sweep it for each variant (keys {'Driver.Acc.ayMax': v}, steps of 0.5 around the current value) and compare each variant's fastest completed run.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeNocm4sl: the MATLAB-connected session. standalone: a separate CarMaker process per run (no 'workspace' values)cm4sl
scopeNo'base' for the MATLAB base workspace, or the name of a loaded Simulink model for that model's workspacebase
testrunYesTest run relative to Data/TestRun
max_run_sNoA run is stopped after this wall time in s
save_logsNoAfter every run, save what Simulink logged and the workspaces as that run used them to a MAT file next to its result file (mode cm4sl; logs_file per row)
quantitiesNoQuantities to summarise per run (default: Time, Car.v)
variationsYesOne entry per run: {'label': 'heavy', 'keys': {'Body.mass': 320}, 'workspace': {'Kp_yaw': 1.5}}. 'keys' are infofile keys applied in memory for that run only (prefix a place such as 'Vehicle:' if needed); 'workspace' are MATLAB variables in 'scope', restored after the run. Both are optional

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.5/5.0
Behavior5/5

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

Annotations only say it is a non-read-only, non-destructive, closed-world call; the description adds the genuinely behavioral facts: runs execute one after another in the background, it returns a study id immediately, and 'nothing is written to project files'. It also discloses non-obvious return diagnostics (keys_not_found, workspace_not_found, workspace_overruled) beyond what any annotation carries.

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 core purpose, return behavior, and follow-up tool are front-loaded in the first two sentences, and every sentence carries information. The trailing Driver.Acc.ayMax paragraph is heavily nested in parentheses and reads as an aside, costing some clarity.

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 not be re-explained, and the description still covers async behavior, side effects, and the sibling tools to use next. Only the absence of explicit when-not-to-use guidance and any concurrency/limit notes (beyond maxItems=50) keeps it from being fully complete.

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 baseline is 3, but the description adds real semantics: an example keys payload with a concrete value, the 0.5-step sweep idiom, and the guidance that a workspace shadowing a key should be handled with scope=<model>. That is meaning the schema does not supply.

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?

States a specific verb and resource: run one test run multiple times with different parameter values in the background, returning a study id. It is clearly differentiated from cm_start_sim (single run) and points at cm_study_wait/cm_study_status for the follow-up, so an agent can pick it without opening the schema.

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?

It establishes the workflow explicitly: start here, then 'wait with cm_study_wait', and it gives conditional advice for the Driver.Acc.ayMax sweep case. It stops just short of stating when not to use a study versus a single run, so it is clear context but not full exclusion guidance.

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