chili3d-mcp
OfficialClick on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@chili3d-mcpOpen a new document, model a 50mm cube, then screenshot it"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
chili3d-mcp
An MCP server that lets an AI drive Chili3D — the browser CAD app — in a real browser. The page owns the document and every modeling tool; this package is the local half that connects an MCP client to it.
Claude Code / Codex / WorkBuddy / Cursor
│ MCP (stdio)
▼
chili3d-mcp ── WebSocket ──► https://chili3d.com/?bridge=17373
│ the page's own tool registry
└── CLI (fallback for agents that only have a shell)The tools are not reimplemented here. chili3d-mcp forwards calls to the same registry the app's
in-app assistant runs, so run_program, load_skill, selections, viewport clicks and screenshots
behave identically whether the work was started from the app or from an external agent.
Requirements
Node.js 20+.
A Chili3D build that includes the
?bridge=connector.https://chili3d.comships it once deployed; for a local build use--app-url http://localhost:8080.
Related MCP server: ps3d
Install
The server is npx -y @chili3d/mcp mcp. init writes the entry note each agent needs.
Claude Code
claude mcp add chili3d -- npx -y @chili3d/mcp mcp
npx -y @chili3d/mcp init --agent claude --user # ~/.claude/skills/chili3d/SKILL.mdCodex
npx -y @chili3d/mcp init --agent codex # AGENTS.md blockThen add to ~/.codex/config.toml:
[mcp_servers.chili3d]
command = "npx"
args = ["-y", "@chili3d/mcp", "mcp"]WorkBuddy
npx -y @chili3d/mcp init --agent workbuddy --user --writeOr add this to ~/.workbuddy/mcp.json yourself:
{
"mcpServers": {
"chili3d": { "command": "npx", "args": ["-y", "@chili3d/mcp", "mcp"] }
}
}Then trust the server: sidebar → Plugins → MCP Servers.
Cursor
npx -y @chili3d/mcp init --agent cursor # .cursor/rules/chili3d.mdcAdd the same mcpServers entry to .cursor/mcp.json.
Any agent with a shell
The CLI exposes the same tools:
npx -y @chili3d/mcp start --app-url http://localhost:8080
npx -y @chili3d/mcp status
npx -y @chili3d/mcp list
npx -y @chili3d/mcp call get_document_state
npx -y @chili3d/mcp shot shot.jpgUsing it
Call
chili3d_open(or runchili3d-mcp open). It starts the bridge and opens the page; keep that tab in the foreground.chili3d_statusreportsconnected: trueonce the page has connected back.The page's tools appear as
chili3d_<tool>—chili3d_run_program,chili3d_get_document_state,chili3d_select_nodes,chili3d_capture_screenshot,chili3d_load_skill, and the rest.A fresh page has no document:
chili3d_new_documentbefore modeling.
The catalogue is dynamic: chili3d_open and chili3d_status are always listed, and the page's tools
appear after it connects (the server sends notifications/tools/list_changed). Clients that do not
re-list on that notification need their session restarted once the page is connected.
How it works
Process | Role |
| MCP front door over stdio. Starts the daemon if needed and lists its tools. |
| The daemon: WebSocket for the page + loopback HTTP for the front doors. |
| CLI front door, for agents without MCP and for humans. |
the page | Owns the document and executes every tool ( |
The daemon lives in ~/.chili3d-mcp (session.json, daemon.log). chili3d-mcp stop ends it; it
stays up across agent sessions so a page does not have to reconnect.
Security
The daemon binds
127.0.0.1only and rejects a non-loopbackHost(DNS rebinding).The WebSocket accepts exactly one
Origin: that of--app-url(https://chili3d.comby default,http://localhost:8080for a local build). Another page on the same machine cannot take the seat and feed tool descriptions to the model./rpcrejects any request carrying anOrigin— browsers always send it, the MCP server and the CLI never do, so a web page cannot drive the bridge.There is no token: the page's origin is enforced by the browser, and local processes are already inside the user's trust boundary.
Development
npm install
npm test # daemon+CLI smoke, then a real MCP client end-to-end
npm run check # biomeLimitations
The page must stay in the foreground; background tabs are throttled and screenshots go stale.
One page at a time. A second page replaces the first.
A call that times out does not disconnect the page: the seat stays busy and further calls fail until the page answers or reconnects, so a slow build never costs an unsaved document.
chili3d-mcp statusshows which tool it is waiting on.The external agent and the in-app chat panel have no lock between them — do not drive the same document from both at once.
This server cannot be deployed
Maintenance
Related MCP Connectors
Control a real browser from AI agents: navigate, click, type, screenshot, read the page.
- ZionDeskOAuthapp.ziondesk
Connect ChatGPT, Claude, Cursor or VS Code to your Windows PC: files, terminal, browser, apps.
1 Use your Mac, Windows or Linux computer from ChatGPT, Claude or Codex: files, commands, documents.
Headless browser primitives for AI agents when sites need real JS rendering.
Related MCP Servers
- AlicenseBqualityDmaintenanceConnects AI coding agents to Autodesk Fusion 360 for CAD automation, enabling natural language control over sketching, 3D modeling, and CAM operations. It uses a Python-based bridge and a custom add-in to execute over 80 tools ranging from simple geometry creation to complex assembly and parameter management.80479 PyPI134MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI hosts to interact with a browser CAD workbench through model-neutral local stdio or authenticated remote MCP tools, supporting command discovery, design-health analysis, and scoped previews while never reading local files or taking over open sessions.MIT
- AlicenseAqualityAmaintenanceEnables LLM agents (and humans at a terminal) to drive FreeCAD through 280+ structured tools for parametric mechanical design, drawings, FEM/CFD and other simulations, and manufacturing checks. Also supports multi-agent orchestration, letting a team of agents split one product into components, build them in parallel, and merge them back together with fitting joints.28645 PyPI13Apache 2.0
- AlicenseBqualityBmaintenanceGives AI agents a searchable catalog of over 15,000 documented tools, commands and functions across fourteen engineering and design applications, plus headless automation adapters that run the installed software in batch/script mode and return structured JSON. Also provides a timezone-aware time tool and an optional live documentation search, with local-only networking and an internet-tools kill switch by default.31MIT