Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"caid": {
"args": [
"/FULL/PATH/TO/caid-mcp/server.py"
],
"type": "stdio",
"command": "/FULL/PATH/TO/.venv/bin/python"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
An MCP server that gives AI agents validated 3D CAD modeling via CAiD and OCP (OpenCASCADE). No GUI needed — the modeling engine IS the server.
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
uvx 'caid' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
Checked caid against OSV.dev.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in design / ai-ml
Persistent memory using a knowledge graph
Dynamic problem-solving through sequential thought chains
MCP server for accessing Figma plugin console logs and screenshots via Cloudflare Workers or local mode
Workspace template + MCP server for Claude Code, Codex CLI, Cursor & Windsurf. Multi-agent knowledge engine (ag-refresh / ag-ask) that turns any codebase into a queryable AI assistant.
MCP Security Weekly
Get CVE alerts and security updates for Caid MCP Server and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
An MCP server that gives AI agents validated 3D CAD modeling via CAiD and OCP (OpenCASCADE). No GUI needed — the modeling engine IS the server.
Every geometry operation is validated through CAiD's ForgeResult system, which tracks volume, surface area, and diagnostics. If a boolean silently fails (common with OCCT), the validation layer catches it and tells you why.
You: "Make a box with rounded edges and a hole through the top, show me a preview"
Claude → create_box → fillet_solid_edges → add_hole → preview_object → export_stl
Result: SVG preview + ~/cadquery-output/my_part.stl
Use discover_tools() to browse, or discover_tools(category="query") for a specific category.
| Category | Count | What it does |
|---|---|---|
| primitives | 7 | Box, cylinder, sphere, cone, torus, extruded polygon, revolved profile |
| modify | 4 | Holes, fillets, chamfers, shell — with index-based edge/face selection |
| transforms | 4 | Translate, rotate, scale, mirror |
| booleans | 4 | Union, cut, intersect, multi-combine |
| query | 6 | List edges/faces, measure objects/distances, find nearest edges/faces |
| view | 2 | Section cuts, exploded assembly views |
| scene | 5 | List, info, delete, duplicate, clear |
| export | 5 | SVG preview, STL, STEP, batch STL |
| heal | 3 | Validity checking, shape repair, face simplification |
| io | 3 | BREP export, STEP/BREP import |
| assembly | 5 | Create, add parts, move, rotate, merge |
| compound | 3 | Belt wires, curve arrays, pulley assemblies |
| advanced | 3 | CAiD scripting, linear patterns, tool discovery |
caid-mcp/
├── server.py # Entry point
├── caid_mcp/
│ ├── __init__.py
│ ├── core.py # Scene state, shared utilities
│ ├── types.py # Pydantic result models (v0.6.0+)
│ └── tools/
│ ├── primitives.py # Shape creation (7 tools)
│ ├── modify.py # Holes, fillets, chamfers, shell (4 tools)
│ ├── transforms.py # Translate, rotate, scale, mirror (4 tools)
│ ├── booleans.py # Union, cut, intersect, combine (4 tools)
│ ├── query.py # Geometry inspection and measurement (6 tools)
│ ├── view.py # Section and exploded views (2 tools)
│ ├── scene.py # Workspace management (5 tools)
│ ├── export.py # STL, STEP, SVG preview (5 tools)
│ ├── heal.py # Validation and repair (3 tools)
│ ├── io.py # BREP/STEP import-export (3 tools)
│ ├── assembly.py # Multi-part assemblies (5 tools)
│ ├── compound.py # Belt/pulley systems (3 tools)
│ └── advanced.py # Scripting, patterns, tool router (3 tools)
├── examples/
│ ├── quickstart.py # Install verification script
│ ├── GALLERY.md # Example gallery with prompts
│ └── images/ # Rendered example images
├── tests/
│ └── test_cadquery_mcp.py
├── pyproject.toml
├── LLM_GUIDE.md # LLM-specific usage guide
├── CHANGELOG.md
└── LICENSE
# 1. Create a virtual environment
python -m venv .venv
source .venv/bin/activate # macOS/Linux
# .venv\Scripts\activate # Windows
# 2. Install CAiD (brings in OCP and all dependencies)
pip install caid
# 3. Clone and install this server
git clone https://github.com/dreliq9/caid-mcp.git
cd caid-mcp
pip install -e ".[dev]"
source .venv/bin/activate
python -c "import caid; import mcp; print('All dependencies OK')"
pytest tests/ -v
claude mcp add-json caid '{"type":"stdio","command":"/FU
... [View full README on GitHub](https://github.com/dreliq9/caid-mcp#readme)