MCP Server
ourCAD má samostatný Model Context Protocol server v server/mcp/. Vystavuje 30 nízko-úrovňových toolů pro CAD operace přes stdio. Claude Code (VSCode) i Claude Desktop ho spustí jako child proces a tooly jsou dostupné rovnou v konverzaci — žádný copy-paste, žádný API curl.
TIP
MCP server je něco jiného než vestavěný AI Agent. Agent má 15 high-level toolů a běží v aplikaci. MCP má 30 raw toolů a běží mimo aplikaci přes Claude Code.
Kdy použít MCP
| Použití | Lepší volba |
|---|---|
| Chci v aplikaci napsat "udělej desku" a vidět výsledek | AI Agent |
| Iteruji na složitém dílu z VSCode (Claude Code) | MCP |
| Chci kombinovat ourCAD s ostatními MCP servery (filesystem, web, GitHub) | MCP |
| Skripty / batch generace dílů | MCP |
| Mass property analysis přes Claude Desktop | MCP |
Setup
Build binárky
cd server/mcp
make build # vyrobí ~/bin/ourcad-mcp
make install # symlink do PATH (~/bin/ a ~/Library/Application Support).mcp.json v rootu repa
{
"mcpServers": {
"ourcad": {
"command": "~/bin/ourcad-mcp",
"env": {
"OURCAD_API_BASE": "https://www.ourcad.cloud",
"OURCAD_API_TOKEN": "your-api-token-here"
}
}
}
}Claude Code (VSCode)
Po vytvoření .mcp.json restartuj VSCode session. Claude tě zeptá Approve MCP server. Pak vidíš tooly jako mcp__ourcad__create_document, mcp__ourcad__revolve atd.
TIP
Tooly v Claude Code jsou deferred — schema se musí načíst přes ToolSearch(query: "select:tool_name[,tool_name2]") než je možné tool volat. Volání bez schématu → InputValidationError. Po ToolSearch jsou available normálně.
Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json má stejnou strukturu jako .mcp.json. Restart Claude Desktop a tooly jsou dostupné v každé konverzaci.
30 toolů
Read
| Tool | Popis |
|---|---|
list_documents | Seznam dokumentů uživatele |
get_document | Detail dokumentu (features list + metadata) |
get_features | Features array (id, name, type, parameters) |
get_feature | Detail jednoho feature |
get_bbox | Bounding box dokumentu |
Document
| Tool | Popis |
|---|---|
create_document | Nový prázdný dokument |
create_sketch | Sketch s raw sketch_data JSON (low-level — agent místo toho má high-level wrappery) |
Modeling
| Tool | Popis |
|---|---|
revolve | Revolve sketch kolem axis |
extrude | Extrude sketch |
cut_extrude | Atomic extrude+subtract |
create_hole | Cylindrický otvor |
create_slot | Drážka |
create_groove | Drážka jako Cut Revolve |
create_rib | Rib žebro |
create_sweep | Sweep / Loft |
create_pattern | Linear / circular pattern |
create_construction_plane | Pomocná rovina |
fillet | Zaoblení hran |
chamfer | Zkosení |
shell | Skořepina |
draft | Vytahovací úhel |
transform | Translate/Rotate/Scale/Mirror |
solve_sketch | Spustit sketch constraint solver |
create_thread | Závit |
Material
| Tool | Popis |
|---|---|
create_material | Definice materiálu |
set_material | Přiřadit materiál tělesu |
list_materials | Materials database list |
Analysis
| Tool | Popis |
|---|---|
get_mass_properties | Volume / surface / mass / centroid / inertia |
Special
| Tool | Popis |
|---|---|
add_assembly_constraint | Assembly constraint (Parallel, Coincident, Distance, …) |
generate_2d_view | 2D HLR projekce z 3D modelu |
Příklady použití
Vlozka Re002843 (kompletní díl ze 7 tool calls)
V Claude Code sessionu:
Vytvoř pojistnou vložku Re002843:
- válcové tělo ⌀60 výška 25 z oceli S235
- na top ploše 4 sektory s drážkami: 2× R2.65 cut, 2× R2.5 union
- centrální díra ⌀14Claude Code zavolá:
create_document(Vlozka Re002843)create_sketch(profile, 4 line elementy v XZ)revolve90° Z-up (s explicitprofile_points)create_sketch(hole points, 1 bod type=6 na top XY Z=25)create_holeØ14 driven bysketch_idcreate_slotR2.65 cut @ (0, 180, 0) axis Z, length 25create_slotR2.5 union @ (180, 0, 0) axis Z, length 25
Výsledek: kompletní díl s correct topology, FeatureTree zanořený přes dependency parent logic.
Batch generace variant
Skript v Claude Code:
Pro každou kombinaci D ∈ {30, 40, 50} a H ∈ {20, 30}, vytvoř novy dokument "Plate-D{D}-H{H}" s deskou D×D×H mm.
Claude iteruje 6× přes create_document + create_sketch + extrude.
Mass props analýza
Načti všechny dokumenty z folder "Production", spočítej mass properties pro každý a vytvoř CSV s id, name, volume, mass, COM.
Claude volá list_documents → get_mass_properties per doc → CSV výstup.
MCP vs vestavěný Agent
| Vestavěný AI Agent | MCP Server | |
|---|---|---|
| Spouští | Tlačítko v aplikaci | Claude Code / Desktop |
| Komunikace | HTTP loopback s user tokenem | stdio child proces |
| Tool sada | 15 high-level (rectangle, circle, extrude, …) | 30 nízko-úrovňových (raw sketch_data) |
| Konverzační paměť | Per-dialog (frontend drží transcript) | Per-session (Claude drží) |
| Streaming | SSE eventy v real-time | Native MCP protocol |
| API klíč | na straně serveru (spravuje administrátor) | tvůj Claude Code / Desktop |
| Reload editoru | Auto po dokončení | Manuální (Claude změní DB, ty F5) |
TIP
Můžeš oba kombinovat — agent pro rychlé "udělej tohle v editoru", MCP přes Claude Code pro hlubokou exploraci a skriptování.
Co dál
- AI Agent — vestavěná alternativa
- 3D Modeling — co všechno se dá modelovat (UI ekvivalent toolů)
- Git workflow — výsledky MCP volání commituješ stejně jako manuální změny