Skip to content

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ýsledekAI 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 DesktopMCP

Setup

Build binárky

bash
cd server/mcp
make build       # vyrobí ~/bin/ourcad-mcp
make install     # symlink do PATH (~/bin/ a ~/Library/Application Support)

.mcp.json v rootu repa

json
{
  "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

ToolPopis
list_documentsSeznam dokumentů uživatele
get_documentDetail dokumentu (features list + metadata)
get_featuresFeatures array (id, name, type, parameters)
get_featureDetail jednoho feature
get_bboxBounding box dokumentu

Document

ToolPopis
create_documentNový prázdný dokument
create_sketchSketch s raw sketch_data JSON (low-level — agent místo toho má high-level wrappery)

Modeling

ToolPopis
revolveRevolve sketch kolem axis
extrudeExtrude sketch
cut_extrudeAtomic extrude+subtract
create_holeCylindrický otvor
create_slotDrážka
create_grooveDrážka jako Cut Revolve
create_ribRib žebro
create_sweepSweep / Loft
create_patternLinear / circular pattern
create_construction_planePomocná rovina
filletZaoblení hran
chamferZkosení
shellSkořepina
draftVytahovací úhel
transformTranslate/Rotate/Scale/Mirror
solve_sketchSpustit sketch constraint solver
create_threadZávit

Material

ToolPopis
create_materialDefinice materiálu
set_materialPřiřadit materiál tělesu
list_materialsMaterials database list

Analysis

ToolPopis
get_mass_propertiesVolume / surface / mass / centroid / inertia

Special

ToolPopis
add_assembly_constraintAssembly constraint (Parallel, Coincident, Distance, …)
generate_2d_view2D 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 ⌀14

Claude Code zavolá:

  1. create_document (Vlozka Re002843)
  2. create_sketch (profile, 4 line elementy v XZ)
  3. revolve 90° Z-up (s explicit profile_points)
  4. create_sketch (hole points, 1 bod type=6 na top XY Z=25)
  5. create_hole Ø14 driven by sketch_id
  6. create_slot R2.65 cut @ (0, 180, 0) axis Z, length 25
  7. create_slot R2.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_documentsget_mass_properties per doc → CSV výstup.

MCP vs vestavěný Agent

Vestavěný AI AgentMCP Server
SpouštíTlačítko v aplikaciClaude Code / Desktop
KomunikaceHTTP loopback s user tokenemstdio child proces
Tool sada15 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ží)
StreamingSSE eventy v real-timeNative MCP protocol
API klíčna straně serveru (spravuje administrátor)tvůj Claude Code / Desktop
Reload editoruAuto 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

ourCAD — git-native CAD