Docs
Two ways in, one registry. Start with MCP if you work in a chat, with REST if you are writing code.
Connect your AI chat
One minuteThe registry runs its own MCP server, so there is one address and it carries its own login. Paste it where your client asks for a remote MCP server and you are connected.
Server address
https://remix-cad.vercel.app/api/mcpPaste the address
One field in your client, this one address. Nothing to install, nothing to run.
Sign in at the action
Searching and rendering stay anonymous. Publishing asks once, and the token returns on its own.
Ask for a model
In your own words. The agent searches, renders and publishes the remix back.
Where the field lives
| Client | Where | Plan |
|---|---|---|
| Claude, web and desktop | Settings, Connectors, then Add custom connector | Free allows one, paid more |
| Claude Code | claude mcp add --transport http remixcad https://remix-cad.vercel.app/api/mcp | Paid, or API credit |
| ChatGPT | Settings, Apps, Advanced settings, Developer mode, then add the server | Plus and up, not free |
| Gemini, web and mobile | Settings and help, Connected Apps, then Add a custom app under Custom apps for Spark | Google AI Pro or Ultra |
| Cursor, VS Code, Zed and the rest | Their own add an MCP server screen takes the same address | Free |
Claude calls it a connector, ChatGPT calls it an app and some clients say plugin or simply MCP server. It is the same protocol and the same address. In Claude a plugin is a different thing: a bundle of skills, commands and servers from a marketplace, and this registry is not one of those.
A few things the plan column does not say. Gemini keeps custom apps under Spark, and Spark is not available in the European Economic Area, the United Kingdom or Switzerland. On ChatGPT the writing half of MCP is still limited to Business, Enterprise and Edu, so Plus and Pro can search and read here but not publish. And where a client asks for credentials under Advanced features, skip that: the field is for servers that cannot register themselves, and this one can.
What you approve
The moment a tool needs your account, this site opens in your browser. You see which client is asking and what it may do, you approve, and the token comes back on its own. Nothing to copy.
- models:read: search and read public models
- models:read:private: read your private models
- models:publish: publish models as you
- comments:write: comment and report as you
Ask for a model
Find a print-in-place hinge that works on a 3 mm panel, show me the parameters and render it at clearance 0.3Tools the server exposes
| Tool | What it does |
|---|---|
| search_models | Query plus filters on license, animation and minimum reuse. Ordered by reuse count. |
| get_model | Manifest, description, source, declared imports, license notices, lineage, previews and comments. |
| render_model | Set parameters and a view, get an image back with the measured size, echo output, the shareable variant URL and STL links. |
| render_draft | Render source you have not published yet. Only you see the draft, and edits change only what changed. |
| publish_model | Publish, from your draft or with the files, or publish a changed model back as a remix. |
Advanced setup
Config files, other clients and tokens
You almost certainly do not need this. The address above carries its own login, so any client with a field for it is done. This is for clients that only read a file, and for anything that runs unattended.
A config file instead · claude_desktop_config.json under Settings, Developer, Edit config, or .cursor/mcp.json in the project. Restart the client afterwards.
{
"mcpServers": {
"remixcad": {
"type": "http",
"url": "https://remix-cad.vercel.app/api/mcp"
}
}
}VS Code · .vscode/mcp.json. Same two fields, but the key is servers.
{
"servers": {
"remixcad": {
"type": "http",
"url": "https://remix-cad.vercel.app/api/mcp"
}
}
}A token instead of the browser · A client without a browser, or a server that runs unattended, cannot walk through consent. Create an API key under Settings and send it as a bearer token on the same address.
curl -H "Authorization: Bearer rcad_live_..." https://remix-cad.vercel.app/api/mcpThere is also a standalone process over stdio for clients that speak nothing else. It runs the same five tools against this same server, so it buys you nothing unless your client demands it.
Recommended alongside
Put quellant/openscad-mcp next to it. That one runs OpenSCAD locally, so an agent can iterate on code it is writing, and use this one to search, fetch and publish back. This server only ever renders what is in the registry, never code it was handed, so the two complement each other instead of overlapping.
REST
The same endpoints the MCP server calls. Public reads need nothing. Anything that writes takes a bearer token, either an OAuth token or an API key.
| Method | Path | What it gives |
|---|---|---|
| GET | /api/v1/models?q= | Search. Same function the search page calls. |
| GET | /api/v1/models/{handle}/{slug} | Everything about one model, the same data as its page. |
| GET | /api/v1/models/{handle}/{slug}/render?p= | Render with parameter values you choose. |
| GET | /api/v1/models/{handle}/{slug}/model.stl | The STL. Add ?p= for a variant. |
| GET | /api/v1/models/{handle}/{slug}/source.zip | The source plus the full import closure. |
| POST | /api/v1/models | Publish a version. Needs a token that may publish. |
A withdrawn model answers 410 Gone with its lineage intact. A model without geometry answers 200 with geometry: false and no STL link.