Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
Drive IPG CarMaker for Simulink: run test runs, read results, edit vehicle data and parameters.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
CM_PROJECT, CM_MODEL, CM_MATLAB_SESSION, CM_POPUP_TIMEOUT, CM_ENABLE, CM_DISABLE你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"carmaker": {
"command": "uvx",
"args": [
"carmaker-mcp"
],
"env": {
"CM_PROJECT": "your-value",
"CM_MODEL": "your-value",
"CM_MATLAB_SESSION": "your-value",
"CM_POPUP_TIMEOUT": "your-value",
"CM_ENABLE": "your-value",
"CM_DISABLE": "your-value"
}
}
}
}在终端中运行这条命令
claude mcp add carmaker --env CM_PROJECT=your-value --env CM_MODEL=your-value --env CM_MATLAB_SESSION=your-value --env CM_POPUP_TIMEOUT=your-value --env CM_ENABLE=your-value --env CM_DISABLE=your-value -- uvx carmaker-mcp运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"carmaker": {
"command": "uvx",
"args": [
"carmaker-mcp"
],
"env": {
"CM_PROJECT": "your-value",
"CM_MODEL": "your-value",
"CM_MATLAB_SESSION": "your-value",
"CM_POPUP_TIMEOUT": "your-value",
"CM_ENABLE": "your-value",
"CM_DISABLE": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"carmaker": {
"type": "stdio",
"command": "uvx",
"args": [
"carmaker-mcp"
],
"env": {
"CM_PROJECT": "your-value",
"CM_MODEL": "your-value",
"CM_MATLAB_SESSION": "your-value",
"CM_POPUP_TIMEOUT": "your-value",
"CM_ENABLE": "your-value",
"CM_DISABLE": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
CM_MODEL envCM_MATLAB_SESSION envCM_POPUP_TIMEOUT envCM_ENABLE envCM_DISABLE env这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月8日
注册名称已通过 GitHub 账户 dimitr-io 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
你需要填写:CM_PROJECT
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.3.0)于6天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Python (uv)。
同一分类中有:Spec Driven Development, Remote Desktop Commander, NexusWindows
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Windows computer use in the background: desktop apps driven without your mouse or keyboard.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
https://github.com/user-attachments/assets/6093b1a3-8ef5-43ef-8134-b214d534720f
*Claude Desktop with this server (CarMaker without MATLAB, IPGMovie open) and MathWorks' MATLAB MCP server for the figure. A 68-run sweep of the driver's limits on a Formula Student skid pad; the agent's work is shown 30 times faster.*
The prompt in the video
Open Carmaker (standalone) and run Skidpad tests with the Rhea vehicle (torque vectoring disabled). Run a
parameter sweep for the IPGDriver's lateral acceleration limits and gg exponents to get the best lap time.
Open IPGMovie first so I can see the runs. Evaluate lap time based on the average time between the second
lap on the right and the second lap on the left. Plot out the yaw rate and lateral acceleration of the
best run using MATLAB (MCP).
An MCP server that lets an AI agent drive IPG CarMaker on your computer: start a session, run test runs and parameter studies, read and plot the results, change vehicle, driver and Simulink controller parameters, and undo what it changed.
Unofficial community project, not affiliated with or endorsed by IPG Automotive or MathWorks. You need your
own CarMaker and MATLAB/Simulink licences. This repository contains no IPG or MathWorks code or data.
Status: alpha. Developed and tested on one setup (CarMaker 14.1.1, MATLAB R2024b, Windows 11). docs/verification.md lists what has been checked against real software and what has not.
Things you can ask an agent once the server is connected:
Kp_yaw to 1.5 in the controller model, run the slalom again and compare the yaw rate."Runs go at CarMaker's maximum speed unless you ask for a slower one. Parameter studies run in the background, one run after another, with IPGMovie open if you want to watch. The server also teaches the agent how IPGDriver works (cm_guide): which driver to choose, how its limits and g-g exponents set the lap time, and when a driver adaption is worth its minutes.
It works in two ways, and the agent picks the one that fits the vehicle:
| MATLAB-connected session | Standalone run | |
|---|---|---|
| Use it for | vehicles whose controller is a Simulink model (CarMaker for Simulink) | vehicles with CarMaker's built-in controllers |
| Needs | MATLAB with your model, and the CarMaker GUI (the server can start both) | only CarMaker; no MATLAB, no window (IPGMovie on request) |
Not covered: Linux, TruckMaker and MotorcycleMaker, CarMaker HIL, Test Manager and test series, building roads, traffic or scenarios, Movie NX, result formats other than .erg, and remote machines. The full list is in docs/scope.md, and more worked examples are in docs/examples.md.
1. Check your machine. This finds your CarMaker and MATLAB installs, tells you what does not fit and how to fix it, and prints the uvx arguments for your machine:
uvx carmaker-mcp doctor
2. Register the server. This prints the entry for your client, with those arguments filled in:
uvx carmaker-mcp config --client claude-code # or claude-desktop, vscode, codex, antigravity, cursor
For most clients the entry looks like this:
{
"mcpServers": { "carmaker": { "command": "uvx", "args": ["--python", "3.12", "--with", "matlabengine==24.2.*", "carmaker-mcp"], "env": { "CM_PROJECT": "C:\\CM_Projects\\my-project", "CM_MODEL": "MyModel" } } } }
In Claude Desktop you can instead drag the .mcpb bundle for your MATLAB release from the latest release into Settings > Extensions; uv must be installed. docs/setup.md has the steps for each client and the versions that belong to each MATLAB release.
3. Start a session. Ask the agent, for example "start CarMaker and run the braking test run". It opens MATLAB, your model and the CarMaker GUI as far as they are not open yet, and never closes anything. Standalone runs need neither. If you would rather open MATLAB and CarMaker yourself, run this once per MATLAB session so that the server can attach:
matlab.engine.shareEngine('cm_mcp')
Settings are environment variables in the client entry. These are the ones you are likely to need; docs/setup.md has the rest.
| Variable | Default | Meaning |
|---|---|---|
CM_PROJECT | read from the running CarMaker GUI | CarMaker project folder. The server writes nowhere else. Needed to start a session from scratch |
CM_MODEL | none | Simulink model to open when a session is started |
CM_MATLAB_INIT | none | Your project's own MATLAB setup script, run once when a session is started. Without it the model may not compile |
CM_POPUP_TIMEOUT | not set | Seconds after which CarMaker pop-ups answer themselves with their default choice. Not set: they wait for your click. See Safety |
CM_DISABLE | none | Tool groups to switch off, for a shorter tool list: standalone, study, matlab, movie |
CM_ENABLE | none | Optional tools to switch on: tcl (raw Tcl in the CarMaker GUI), experimental (add and delete Simulink blocks) |
Each tool tells the client whether it is read-only, changes state or is destructive, so that clients can ask for confirmation where it matters. Every tool and parameter is described in docs/tools.md.
For CarMaker for Simulink work it is worth connecting MathWorks' MATLAB MCP Core Server as well: this server handles CarMaker, and that one writes and runs MATLAB code. Let both work on the same MATLAB session, in the release CarMaker uses. What is changed through the MATLAB server is not in this server's change log, and cm_revert_all does not undo it. More in docs/setup.md.
This server can start simulations and edit your project files and the live Simulink model in place. Connect it only to agents you trust.
What protects your work:
cm_revert_all undoes a session.CM_ENABLE.CM_POPUP_TIMEOUT, a question such as "Vehicle not saved. All changes will be lost. OK to continue?" is answered with its default, which discards unsaved changes in the CarMaker GUI.Runs write result and log files into the project's SimOutput folder; a revert does not remove those.
The server collects no telemetry and makes no network connections of its own. It only talks to MATLAB and CarMaker on your machine. Details: docs/safety.md.
Run uvx carmaker-mcp doctor first: it names most setup problems together with their fix.
| Symptom | Cause and fix |
|---|---|
| "No shared MATLAB session" | MATLAB is closed or has not shared its engine. Let the agent start the session, or run matlab.engine.shareEngine('cm_mcp') in MATLAB |
uvx fails while installing matlabengine | The pin must match your MATLAB release, and that MATLAB must be installed. Use the arguments doctor prints |
| "CarMaker ships no cmapi for Python 3.x" | Add --python 3.12 (or another version the message lists) |
| A tool call hangs at load or start | The CarMaker GUI is showing a question. Answer it, or see CM_POPUP_TIMEOUT |
| "too many licenses in use" on a standalone run | Another CarMaker program holds the licence: an open MATLAB with CarMaker for Simulink, or a standalone program the server left open |
| "license has expired" | The licence must be renewed; doctor shows its end date |
The wait tool returns finished: false | Not an error: waits are limited to 50 s per call and are simply repeated |
More: docs/troubleshooting.md. The server's own log is server.log in the state folder.
cmguicmd.cmapi, loaded from your CarMaker install, to start and control a separate CarMaker process..erg files (checked against MATLAB's cmread).Nothing of IPG's or MathWorks' is bundled or redistributed.
Related work: [pycarmaker](https://git
只显示了开头部分;其余内容请在仓库中阅读