Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

CarMaker

PYPI · CARMAKER-MCP

Drive IPG CarMaker for Simulink: run test runs, read results, edit vehicle data and parameters.

Available components

+3 this week 88 Trust /100

Last scanned (7 hours ago)

Scores higher than 90% of PyPI servers

Category Testing and QA

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security100
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • Runs setuptools.build_meta at install time, a recognised build step with no custom scripting around it. View diagnostics → Pass
  • 1 of 16 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency74
  • Repository check failed: the declared repository URL redirects; it must resolve directly. See how to fix → View diagnostics → Fail
  • Cryptographically verified build provenance (signed, bound to De-Ioannidis/carmaker-mcp). View diagnostics → Pass
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 3 days ago).Pass
  • Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability83
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (good).Pass
  • Tool/resource definitions use about 5177 tokens (~99/item across 52 items; 48 tools + 4 resources), lean.Pass
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management73
  • Stability observed for 22 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (94% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 2 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 50 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 4 Nov 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 67 to 70. That category is still filling its 30-day observation window: 20 days of observed history at the previous scan, 21 at this one. The score rises as the window fills, whether or not the server changes.

  • 2 Nov 26 +16
    • Malware scan: unverified → pass ▲ security
  • 1 Nov 26 −15
    • Malware scan: pass → unverified ▼ security
  • 31 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 53 to 57. That category is still filling its 30-day observation window: 16 days of observed history at the previous scan, 17 at this one. The score rises as the window fills, whether or not the server changes.

  • 29 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 47 to 50. That category is still filling its 30-day observation window: 14 days of observed history at the previous scan, 15 at this one. The score rises as the window fills, whether or not the server changes.

  • 27 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 40 to 43. That category is still filling its 30-day observation window: 12 days of observed history at the previous scan, 13 at this one. The score rises as the window fills, whether or not the server changes.

  • 25 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 33 to 37. That category is still filling its 30-day observation window: 10 days of observed history at the previous scan, 11 at this one. The score rises as the window fills, whether or not the server changes.

  • 22 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Analysed pypi/carmaker-mcp@0.2.1

Provenance Verified

A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.

Result Verified
Ecosystem pypi
Reason Verified
Discovered via Registry attestation endpoint
Source repo De-Ioannidis/carmaker-mcp
Certificate issuer https://token.actions.githubusercontent.com
Certificate SAN https://github.com/De-Ioannidis/carmaker-mcp/.github/workflows/release.yml@refs/tags/v0.2.1
Rekor log index 3262128649
Predicate type PyPI publish attestation https://docs.pypi.org/attestations/publish/v1
Subject digest sha256:5217a1b489c87928d9c347c67c8dd2f63b19679f420a59a0532400acf30b5872

Background: How many MCP packages publish verified provenance →

Install scripts 1 script
Hook Tier Command
build_backend allowlisted setuptools.build_meta

Background: Why install scripts are a supply-chain risk →

Dependencies 16 packages
Packages resolved 16
Stale 1
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 48 exposed · ~4,931 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
cm_changelog ~55

Recorded changes (file keys, workspace variables, model parameters, GUI settings) with old and new values.

NameTypeReqDescription
limitinteger–Newest entries to return
session––Session id (default: this session)
NameTypeReqDescription
resultarrayyes–

No examples provided.

cm_clone ~74

Copy a project file to a new name in the same kind's folder. Never overwrites.

NameTypeReqDescription
basestringyesExisting file to copy
kindstringyesKind of project data; selects the folder below <project>/Data
new_namestringyesName of the copy (must not exist)

Structured output declared, but exposes no named fields.

No examples provided.

cm_create ~125

Write a new project file, for example a tyre property file that differs from an existing one. Never overwrites; the file is logged and cm_revert_all moves it to the trash folder. To change a file that exists use cm_edit, to copy one cm_clone.

NameTypeReqDescription
contentstringyesThe whole text of the file, at most 2 MB
kindstringyesKind of project data; selects the folder below <project>/Data
namestringyesName of the new file relative to the kind's folder (must not exist)

Structured output declared, but exposes no named fields.

No examples provided.

cm_doctor ~43

Check the setup: CarMaker install, Python version, MATLAB release and engine, shared MATLAB session, GUI, project folder. Each failed check comes with its fix.

Input schema present but exposes no named parameters.

Structured output declared, but exposes no named fields.

No examples provided.

cm_dva_release ~18

Release all quantities from DVA control.

Input schema present but exposes no named parameters.

Structured output declared, but exposes no named fields.

No examples provided.

cm_dva_write ~98

Overwrite a quantity during a run via Direct Variable Access.

NameTypeReqDescription
duration_msinteger–How long the override lasts in ms (-1: until released or the run ends)
modestring–Absolute value, offset or factor; Ramp variants blend in
namestringyesQuantity to overwrite, e.g. 'DM.Gas'
valuenumberyesValue, offset or factor, depending on mode

Structured output declared, but exposes no named fields.

No examples provided.

cm_edit ~110

Change keys in a project file in place (backed up first, logged; only the edited lines change). Requires an idle simulation; load the test run again afterwards.

NameTypeReqDescription
kindstringyesKind of project data; selects the folder below <project>/Data
namestringyesFile name relative to the kind's folder
overridesobjectyesKeys to set, e.g. {'Road.FName': 'SKIDPAD.rd5'}; a null value removes the key

Structured output declared, but exposes no named fields.

No examples provided.

cm_get_workspace_var ~84

Value of a variable or field. MATLAB objects are described, not converted: read their fields.

NameTypeReqDescription
namestringyesVariable or field, e.g. 'Kp_12' or 'Table.Value'
scopestring–'base' for the MATLAB base workspace, or the name of a loaded Simulink model for that model's workspace

No output schema declared.

No examples provided.

cm_list ~81

Names of project data files of one kind (test runs, vehicles, drivers, tyres...).

NameTypeReqDescription
include_hiddenboolean–Also list names starting with a dot
kindstringyesKind of project data; selects the folder below <project>/Data
pattern––Wildcard filter on the name, e.g. '*Brak*'

Structured output declared, but exposes no named fields.

No examples provided.

cm_list_workspace_vars ~92

Variables (name, class, size) of the MATLAB base workspace or of a Simulink model's workspace. Controller parameters usually live in the model workspace.

NameTypeReqDescription
pattern––Wildcard filter on the name, e.g. 'Kp_*'
scopestring–'base' for the MATLAB base workspace, or the name of a loaded Simulink model for that model's workspace

Structured output declared, but exposes no named fields.

No examples provided.

cm_live ~46

Current values of CarMaker quantities during a run (or the last values after it).

NameTypeReqDescription
quantitiesarrayyesCarMaker quantity names, e.g. ['Time', 'Car.v']

Structured output declared, but exposes no named fields.

No examples provided.

cm_load_testrun ~89

Load a test run into the CarMaker GUI. Requires an idle simulation. Find names with cm_list('testrun').

NameTypeReqDescription
forceboolean–Do not let the GUI ask about unsaved data; that data is discarded
namestringyesTest run relative to Data/TestRun, e.g. 'Examples/BasicFunctions/Driver/BackAndForth'

Structured output declared, but exposes no named fields.

No examples provided.

cm_log ~65

Last lines of the newest CarMaker session log of the project. Use it when a run aborts or does not start.

NameTypeReqDescription
levelstring–warning: warnings and errors only; error: errors only
linesinteger–Number of lines from the end

Structured output declared, but exposes no named fields.

No examples provided.

cm_model_get ~58

get_param on a loaded Simulink model or block.

NameTypeReqDescription
paramstringyesParameter name, e.g. 'Gain'
pathstringyesModel or block path, e.g. 'MyModel/Controller/Gain'

No output schema declared.

No examples provided.

cm_model_logs_save ~276

After a CarMaker for Simulink run: write what Simulink logged (signals marked for logging and To Workspace blocks) to a MAT file, with the base workspace and the model workspace as one struct each (variables: signals, base_workspace, model_workspace, info). Requires an idle simulation. The result file (.erg) holds CarMaker's quantities; this holds the Simulink side.

NameTypeReqDescription
base_workspaceboolean–Include the base workspace's variables
file––MAT file to write, inside the project (default: next to the last result file, with the same name)
formatstring–dataset: a Simulink.SimulationData.Dataset. struct: plain arrays (name, time, values, units, block) that load without Simulink
logsstring–inspector: every signal the Simulation Data Inspector holds for the last run (logged signals and To Workspace blocks, complete). workspace: the logging variables in the base workspace as they are
model––Loaded Simulink model (default: the active one)
model_workspaceboolean–Include the model workspace's variables
overwriteboolean–Replace the file if it exists
timeout_snumber–Longest time MATLAB may take to write the file

Structured output declared, but exposes no named fields.

No examples provided.

cm_model_save ~43

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

NameTypeReqDescription
modelstringyesName of the loaded model

Structured output declared, but exposes no named fields.

No examples provided.

cm_model_set ~85

set_param on a loaded Simulink model or block. Logged; cm_revert_all restores the old value.

NameTypeReqDescription
paramstringyesParameter name
pathstringyesModel or block path
saveboolean–Also back up and save the model file
value–yesNew value (numbers are converted to text as Simulink expects)

Structured output declared, but exposes no named fields.

No examples provided.

cm_movie_open ~95

Open IPGMovie, CarMaker's 3D animation window (or take over one that is open). Open it BEFORE a run: it records a run only while it is open, and cm_movie_snapshot can then show any moment of it.

NameTypeReqDescription
restartboolean–Close a running IPGMovie and start it anew: the way out when its pictures fail with an internal error. It then holds no run

Structured output declared, but exposes no named fields.

No examples provided.

cm_movie_snapshot ~257

A picture of IPGMovie's 3D view, returned as an image. After a run it shows any moment of the last run (time_s), provided IPGMovie was open during that run. During a run, without time_s, it shows the IPGMovie window as it is at that moment (in the window's own size). With erg it replays a saved result file, which must hold the vehicle's motion (cm_output_quantities_edit(preset='movie') before that run). Do not pass time_s during a run: that makes IPGMovie stop following the run.

NameTypeReqDescription
camera––Camera view: 'DEFAULT', "Bird's Eye View", 'Left Side', 'Right Side', 'Sitting In Vehicle (A)', or one from the project (default: keep the view)
erg––Replay this result file instead of the last run (absolute path, or relative to the project)
heightinteger–Picture height in pixels (not during a run)
time_s––Simulation time of the picture in s (default: the latest moment IPGMovie holds)
widthinteger–Picture width in pixels (not during a run)

No output schema declared.

No examples provided.

cm_output_quantities ~73

The quantities the next run writes to its result file, per storage rate (names may hold wildcards), with the sample times. movie_replay says whether such a result file can be replayed in IPGMovie. What a finished result file holds: cm_results_summary(erg, search='*').

Input schema present but exposes no named parameters.

Structured output declared, but exposes no named fields.

No examples provided.

cm_output_quantities_edit ~160

Add quantities to, or remove them from, the project's output-quantities file (backed up first, logged, restored by cm_revert_all). Applies from the next start. Requires an idle simulation. Find names with cm_live (it reads any quantity) or in another result file.

NameTypeReqDescription
add––Quantities to store as well, e.g. ['Car.az', 'PT.Motor*.Trq']; wildcards * and ? allowed
preset––movie: add what IPGMovie needs to replay the vehicle from a result file
ratestring–Storage rate for added quantities (sample times: cm_output_quantities)
remove––Entries to take out, spelled as they are listed

Structured output declared, but exposes no named fields.

No examples provided.

cm_popup_timeout ~125

Let GUI pop-ups raised by this server's commands answer themselves with their DEFAULT choice, so that a question such as 'Vehicle not saved. All changes will be lost. OK to continue?' cannot block a run. The default answer there discards the unsaved changes. Read what was answered with cm_popups. Stays until set back, cm_revert_all or a GUI restart.

NameTypeReqDescription
secondsnumberyesSeconds until a pop-up answers itself; 0 = never shown; -1 = wait for a click in the GUI (the normal setting)

Structured output declared, but exposes no named fields.

No examples provided.

cm_popups ~125

Pop-up messages the CarMaker GUI raised for this server's commands (type info/warn/err/question, text, index of the answer given) and the current pop-up timeout. Also the "Internal Debugger" dialog that the GUI or IPGMovie shows after an error of its own (type 'internal error', with the program and the call stack): it is read and then closed. Reading empties the GUI's buffer (it keeps five). cm_load_testrun, cm_start_sim and cm_wait_end already return new ones as 'popups'.

Input schema present but exposes no named parameters.

Structured output declared, but exposes no named fields.

No examples provided.

cm_read ~101

Key / value pairs of a CarMaker infofile. Large files are truncated: filter by keys or prefix.

NameTypeReqDescription
keys––Only these keys
kindstringyesKind of project data; selects the folder below <project>/Data
namestringyesFile name relative to the kind's folder, as cm_list returns it
prefix––Only keys starting with this, e.g. 'Vehicle' or 'DrivMan.'

Structured output declared, but exposes no named fields.

No examples provided.

cm_restore ~37

Restore project files from the backups of an earlier session. Files only.

NameTypeReqDescription
sessionstringyesSession id as shown by cm_changelog

Structured output declared, but exposes no named fields.

No examples provided.

cm_results_list ~48

Newest .erg result files under the project's SimOutput folder, CM_RESULT_DIRS and the folders this session's runs wrote to.

NameTypeReqDescription
limitinteger–Maximum number of files
NameTypeReqDescription
resultarrayyes–

No examples provided.

cm_results_read ~111

Time series from a result file, decimated to at most max_points samples.

NameTypeReqDescription
ergstringyesResult file (.erg): absolute path, or relative to the project
max_pointsinteger–Samples are thinned to at most this many per quantity
quantitiesarrayyesCarMaker quantity names, e.g. ['Time', 'Car.v']
t_max––End of the time window in s
t_min––Start of the time window in s

Structured output declared, but exposes no named fields.

No examples provided.

cm_results_summary ~103

First / last / min / max / mean and unit of quantities in a result file, plus rows and duration.

NameTypeReqDescription
ergstringyesResult file (.erg): absolute path, or relative to the project
quantities––Quantities to summarise (default: Time, Car.v)
search––Instead of a summary, list the quantity names that contain this text ('PT.') or match this wildcard pattern ('Car.v*'; '*' lists all)

Structured output declared, but exposes no named fields.

No examples provided.

cm_revert_all ~47

Undo every change made in this server session: workspace values and model parameters in reverse order, backed-up files put back (created files go to a trash folder), GUI settings restored.

Input schema present but exposes no named parameters.

Structured output declared, but exposes no named fields.

No examples provided.

cm_session_start ~242

Bring up a CarMaker for Simulink session as far as it is missing: start MATLAB (visible, in the project's src_cm4sl folder, engine shared), run cmenv, open the Simulink model and open the CarMaker GUI. Nothing is restarted or closed. Returns ready=true, or ready=false with what it is waiting for: call again until ready. Without a model it opens none and lists models_loaded and models_found to choose from. Many projects need their own setup script before the model compiles: if init_scripts_found lists one, pass it as init.

NameTypeReqDescription
init––The project's own MATLAB setup script, run once per MATLAB session before the model is opened (default: CM_MATLAB_INIT). A name from init_scripts_found, or a full path
max_wait_snumber–Longest time to wait in seconds; keep it below your client's tool time-out and call again if not finished
model––Simulink model to open: a name on the MATLAB path, a path as listed in models_found, or a full path (default: CM_MODEL)

Structured output declared, but exposes no named fields.

No examples provided.

cm_set_workspace_var ~147

Set a variable or field. The old value is logged and cm_revert_all restores it. Model-workspace changes live in memory until cm_model_save. Requires an idle simulation. overruled_by in the answer: the model has a variable of that name in its own workspace and uses that one, so set it there.

NameTypeReqDescription
namestringyesVariable or field, e.g. 'Kp_12' or 'Table.Value'
scopestring–'base' for the MATLAB base workspace, or the name of a loaded Simulink model for that model's workspace
value–yesNumber, string, list or nested list (matrix)

Structured output declared, but exposes no named fields.

No examples provided.

cm_standalone_attach ~147

Attach to a CarMaker simulation program that is already running, for example one started from a CarMaker Office window.

NameTypeReqDescription
overrides––Test-run keys to change in memory only, e.g. {'Vehicle.DriverTemplate.FName': 'X'}
pidintegeryesProcess id from cm_standalone_servers
quantities––Quantities to store
realtime_factornumber–Speed relative to real time
startboolean–Start the run at once (needs testrun)
stop_after_s––Safety stop at this simulation time in s
testrun––Test run to configure (needed to start a run)

Structured output declared, but exposes no named fields.

No examples provided.

cm_standalone_close ~50

Disconnect; for instances this server launched, also stop the CarMaker process.

NameTypeReqDescription
instance––Standalone instance id such as 'sa1' (may be omitted while there is only one)

Structured output declared, but exposes no named fields.

No examples provided.

cm_standalone_control ~59

Start, pause, resume or stop the simulation of a standalone instance.

NameTypeReqDescription
actionstringyesWhat to do
instance––Standalone instance id such as 'sa1' (may be omitted while there is only one)

Structured output declared, but exposes no named fields.

No examples provided.

cm_standalone_dva_write ~92

Overwrite a quantity in a running standalone simulation (Direct Variable Access).

NameTypeReqDescription
duration_msinteger–How long the override lasts in ms (-1: until the run ends)
instance––Standalone instance id such as 'sa1' (may be omitted while there is only one)
namestringyesQuantity to overwrite
valuenumberyesAbsolute value

Structured output declared, but exposes no named fields.

No examples provided.

cm_standalone_launch ~206

Start a NEW independent CarMaker simulation program (not connected to MATLAB) and run a test run on it. Only for test runs whose vehicle does not need a Simulink controller. Results go to the project's SimOutput; see cm_standalone_results.

NameTypeReqDescription
executable––CarMaker executable (default: the stock one of the install)
overrides––Test-run keys to change in memory only, e.g. {'Vehicle.DriverTemplate.FName': 'X'}
quantities––Quantities to store (default: Time, Car.v, Car.YawRate, Car.ax, Car.ay, Car.Distance)
realtime_factornumber–Simulation speed relative to real time (larger is faster)
startboolean–Start the run at once
stop_after_s––Safety stop at this simulation time in s (null: none)
testrunstringyesTest run relative to Data/TestRun

Structured output declared, but exposes no named fields.

No examples provided.

cm_standalone_results ~56

Result .erg files of the instance's run (read them with cm_results_summary / cm_results_read).

NameTypeReqDescription
instance––Standalone instance id such as 'sa1' (may be omitted while there is only one)

Structured output declared, but exposes no named fields.

No examples provided.

cm_standalone_servers ~47

CarMaker simulation programs running on this machine (pid, description, whether this server manages it). A CarMaker Office window you opened shows up once its application is started.

Input schema present but exposes no named parameters.

NameTypeReqDescription
resultarrayyes–

No examples provided.

cm_standalone_status ~60

State of a standalone instance plus live values.

NameTypeReqDescription
instance––Standalone instance id such as 'sa1' (may be omitted while there is only one)
quantities––Live quantities to read (default: Time, Car.v)

Structured output declared, but exposes no named fields.

No examples provided.

cm_standalone_wait_end ~98

Wait until the instance's simulation has finished. finished=true: simulation time and distance, error flag and log errors. finished=false: call again to keep waiting.

NameTypeReqDescription
instance––Standalone instance id such as 'sa1' (may be omitted while there is only one)
timeout_snumber–Longest time to wait in seconds; keep it below your client's tool time-out and call again if not finished

Structured output declared, but exposes no named fields.

No examples provided.

cm_start_sim ~158

Start the loaded test run. Returns once it is running; fails at once, with Simulink's error, if the model does not compile. Then call cm_wait_end until it reports finished.

NameTypeReqDescription
savestring–save: write a result file (GUI storage mode becomes 'Save all', cm_revert_all puts it back). collect: buffer only. keep: leave the GUI setting alone
save_logsboolean–Also save what Simulink logged in this run to a MAT file next to the result file, as cm_model_logs_save does; cm_wait_end returns it as logs_file
start_timeout_snumber–How long the start may take (a Simulink model may compile first)
NameTypeReqDescription
after_snumber––
carmaker_project_restoredobject––
matlab_folder_restoredobject––
notestring––
popupsarray––
save_mode–––
startedboolean––
statestring––

No examples provided.

cm_status ~70

Simulation state, active Simulink model, project directory, last end status, the GUI's storage mode (save_mode) and gui_all_saved (false: the GUI holds unsaved data and will ask before a load; true is no guarantee, an edit in an open editor window is not counted).

Input schema present but exposes no named parameters.

NameTypeReqDescription
active_model–––
connectedboolean––
detailsobject––
end_status–––
gui_all_savedboolean––
matlab_simstate–––
project_dir–––
save_modestring––
session_id–––
sim_statusstring––
sim_status_code–––

No examples provided.

cm_stop_sim ~51

Stop the running simulation. With wait_s > 0 it returns what cm_wait_end returns.

NameTypeReqDescription
wait_snumber–Wait this long for the simulation to become idle (0: do not wait)
NameTypeReqDescription
distance_mnumber––
elapsed_snumber––
end_status–––
finishedboolean––
liveobject––
log_errorsarray––
logs_errorstring––
logs_filestring––
notestring––
poll_errorsinteger––
popupsarray––
result_file–––
sim_time_snumber––
simulink_errorstring––
statestring––
stop_requestedboolean––
testrunstring––
waited_snumber––

No examples provided.

cm_study_cancel ~70

Stop the run in progress, skip the remaining ones and restore the changed workspace values. Only cancel a study this conversation started.

NameTypeReqDescription
studystringyesId of the study to cancel, as cm_study_start returned it. It must be named: a study is not cancelled by default

Structured output declared, but exposes no named fields.

No examples provided.

cm_study_start ~339

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=<model>).

NameTypeReqDescription
max_run_snumber–A run is stopped after this wall time in s
modestring–cm4sl: the MATLAB-connected session. standalone: a separate CarMaker process per run (no 'workspace' values)
quantities––Quantities to summarise per run (default: Time, Car.v)
save_logsboolean–After 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)
scopestring–'base' for the MATLAB base workspace, or the name of a loaded Simulink model for that model's workspace
testrunstringyesTest run relative to Data/TestRun
variationsarrayyesOne 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 nee…

Structured output declared, but exposes no named fields.

No examples provided.

cm_study_status ~111

State of a study (running, done, cancelled, failed) and one row per finished run, which also maps every label to its result file. To wait for progress use cm_study_wait.

NameTypeReqDescription
detailstring–compact: per run its label, end status, time, distance, result file and min / max / mean / last of the quantities. full: also every run's keys and workspace values and all statistics
study––Study id (default: the latest)

Structured output declared, but exposes no named fields.

No examples provided.

cm_study_wait ~108

Wait until another run of the study has finished or the study has ended, at most timeout_s, and return the compact table (new_rows says how many runs finished meanwhile). Call it again while state is 'running'. Use this for studies instead of cm_wait_end.

NameTypeReqDescription
study––Study id (default: the latest)
timeout_snumber–Longest time to wait in seconds; keep it below your client's tool time-out and call again if not finished

Structured output declared, but exposes no named fields.

No examples provided.

cm_wait_end ~96

Wait until the simulation is idle again. finished=true: end status, simulation time and distance, result_file, new log errors and pop-ups. finished=false: current state and live values; call again to keep waiting.

NameTypeReqDescription
poll_snumber–Seconds between status polls
timeout_snumber–Longest time to wait in seconds; keep it below your client's tool time-out and call again if not finished
NameTypeReqDescription
distance_mnumber––
elapsed_snumber––
end_status–––
finishedboolean––
liveobject––
log_errorsarray––
logs_errorstring––
logs_filestring––
notestring––
poll_errorsinteger––
popupsarray––
result_file–––
sim_time_snumber––
simulink_errorstring––
statestring––
stop_requestedboolean––
testrunstring––
waited_snumber––

No examples provided.

Install

How do I install the CarMaker MCP server?

CarMaker runs locally as a PyPI package, launched with uvx carmaker-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

pypi · carmaker-mcp

# add to Claude Code
claude mcp add de-ioannidis-carmaker-mcp -- uvx carmaker-mcp
Common questions

What is the CarMaker MCP server?

CarMaker is an MCP server listed in the public MCP registry as io.github.De-Ioannidis/carmaker-mcp. Drive IPG CarMaker for Simulink: run test runs, read results, edit vehicle data and parameters. This page covers its PyPI package (carmaker-mcp).

Is the CarMaker MCP server safe to use?

CarMaker scores 88 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 5 November 2026. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the CarMaker MCP server expose?

CarMaker exposes 48 tools: cm_session_start, cm_doctor, cm_status, cm_load_testrun, cm_start_sim, and 43 more. Their descriptions and schemas cost roughly 4,931 tokens of context every time the server is loaded.

Is the CarMaker MCP server still maintained?

CarMaker is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the CarMaker MCP server under?

CarMaker declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.