Skip to main content
Glama

Battenmark

Offene, backend-neutrale CAD-Infrastruktur für KI-Agenten und Software.

CI License schema MCP

Battenmark bietet eine typisierte, backend-neutrale Schnittstelle zum Erstellen, Bearbeiten, Inspizieren, Validieren und Exportieren maßgeblicher CAD-Geometrie über austauschbare CAD-Backends. Aufrufer fordern create_hole an – niemals PartDesign::Hole. Kein Transport besitzt das Modell; ein kanonischer Dienst tut dies.

ChatGPT / Claude / Gemini / Grok / Codex / local models / IDE agents / custom apps
                                   │
                    MCP / HTTP / Python / CLI
                                   │
                                   ▼
                         Battenmark Core
                                   │
                    typed CAD operations / CAD IR
                                   │
                        Backend Registry
                                   │
             ┌─────────────────────┼──────────────────────┐
             ▼                     ▼                      ▼
          FreeCAD                JSCAD              future adapters
     authoritative B-rep        preview        build123d/CadQuery/etc.
  • FreeCAD / OpenCascade – maßgeblicher B-Rep-Kern (Headless-JSON-lines-Worker)

  • JSCAD – In-Process-Vorschau-/Envelope-Backend (nicht die Quelle der Wahrheit)

Schnellstart

Voraussetzungen: Node.js ≥ 20 und npm. FreeCAD ist für den Kerndienst optional und nur für das maßgebliche B-Rep-Backend erforderlich.

npm install
npx tsc --noEmit   # type check
npm test           # fast kernel-free suites (parametric, selectors, registry)

FreeCAD-Backend

sh scripts/bootstrap-macos.sh      # macOS: discovers /Applications/FreeCAD.app
sh scripts/install-freecad.sh      # Linux: installs headless 1.0.2 AppImage (no FUSE)
npm run test:freecad               # proves the real worker end-to-end

Ermittlungsreihenfolge: $AGENTCAD_FREECAD_CMD → macOS-FreeCAD.app-Bundles → Homebrew → extrahiertes Linux-AppImage → PATH. Siehe docs/MACOS.md und docs/LINUX.md.

Transporte

Transport

Einstiegspunkt

MCP stdio

npx agentcad-mcp

HTTP

npx agentcad serve --port 8787, dann /api/v1/... (Bearer-Token über AGENTCAD_API_TOKEN)

CLI

npx agentcad --help

Python

python/agentcad – siehe examples

Beispiel für den Python-Client:

from agentcad import AgentCad

c = AgentCad(base_url="http://127.0.0.1:8787", token="secret-token")
pid = c.project_create("demo")["project_id"]
c.create_box(pid, 80, 50, 12)
print(c.rebuild(pid)["data"]["volume_mm3"])   # 48000

Related MCP server: freecad-tool-server

Golden-Smoke-Modell

Der kanonische Release-Smoke-Test ist eine 80 × 50 × 12‑mm‑Box = 48.000 mm³, verifiziert über JSCAD, FreeCAD, HTTP, CLI, MCP und den Python-Client (test:transport-parity). Diese Vorlage sollte nicht leichtfertig geändert werden.

Funktionen

  • Backend-neutrale, typisierte CAD-Operationen mit explizitem Schema (agentcad_schema_version: 2)

  • FreeCAD/OpenCascade als maßgebliches B-Rep; JSCAD als Vorschau

  • Skalare Parameterausdrücke und Abhängigkeitsauswertung

  • Semantische Flächen-/Kantenselektoren (top_perimeter, …), die sich nach Bearbeitungen neu auflösen

  • Persistente Geometriereferenzen (gref) mit expliziten Fehlern für „verloren“/„mehrdeutig“

  • Durchgangs-, Sack-, Zylindersenk- und Kegelsenkbohrungen

  • Verrundungen und Fasen · lineare und rechteckige Muster

  • STEP-/FCStd-/STL-Austausch · PNG-Vorschauen in vier Ansichten

  • Dynamische Backend-Register mit Fähigkeitsermittlung pro Backend

  • Ein serialisierter FreeCAD-Worker mit Kill-/Restart-Wiederherstellung

Plattformstatus

Plattform

Status

macOS Apple Silicon

Tier 1 – hardware-verifiziert (arm64, macOS 26.6.2, FreeCAD 1.1.3)

Linux x86_64

headless / für Entwicklung validiert (FreeCAD 1.0.2 AppImage)

macOS Intel

nicht verifiziert

Windows

nicht unterstützt / nicht verifiziert

Bekannte Einschränkungen

Dies ist eine Pre-1.0-Alpha-Software; APIs können sich ändern.

  • Noch keine Baugruppen, Masten oder Baugruppen-Constraints

  • Noch keine kreisförmigen Muster

  • Gewinde sind kosmetische Metadaten, keine helix-förmigen Volumenkörper

  • Importiertes STEP ist ein Geometrieimport – keine automatische parametrische Rekonstruktion

  • Native FCStd-Dokumente behalten die historischen PartDesign-Feature-Formen; Battenmark misst den endgültigen Body-Tip (das Aufrechnen der Volumenkörper würde doppelt zählen)

  • Ein serialisierter FreeCAD-Worker (kein Pooling)

  • Die Vorschau-Renderung wird von JSCAD von OCC-Hidden-Line übernommen, nicht von OCC-Hidden-Line

  • Das vollständige topologische Benennen ist nicht gelöst; persistente gref-Referenzen mildern es

Vollständige Liste: docs/LIMITATIONS.md.

Dokumentation

Thema

Dokumentation

Architektur & Grundlagen

docs/ARCHITECTURE.md · docs/FOUNDATION.md

Betriebsvertrag & Schema

docs/CONTRACT.md · docs/VERSIONING.md

Backends & Kernels

docs/BACKENDS.md · docs/FREECAD.md · docs/JSCAD.md · docs/KERNEL.md

Transporte

docs/MCP.md · docs/HTTP.md · docs/CLI.md · docs/PYTHON.md · docs/CLIENTS.md

Dienst & Persistenz

docs/SERVICE.md · docs/AUTH.md

Import/Export & Vorschau

docs/IMPORT.md · docs/PREVIEW.md

Plattformen & Validierung

docs/MACOS.md · docs/LINUX.md · docs/RELEASE.md

Kompatibilitäts-Kennzeichner

Die öffentliche Marke ist Battenmark. Historische technische Kennungen bleiben absichtlich bestehen und sind eine Kompatibilitätsfläche, keine zweite Marke: AgentCadService, agentcad_schema_version, die Umgebungsvariablen AGENTCAD_*, die Binärdateien agentcad / agentcad-mcp. Die interne Dienstversion 0.5.6 weicht absichtlich vom Release-Tag ab; siehe docs/VERSIONING.md.

Beiträge & Sicherheit

Siehe CONTRIBUTING.md und SECURITY.md. Verhaltenskodex: CODE_OF_CONDUCT.md.

Lizenz

Apache-2.0 für dieses Repository. FreeCAD/OpenCascade werden als separater LGPL-Prozess aufgerufen (die Worker-Skripte laufen in FreeCADCmd). Siehe LICENSE, NOTICE und THIRD_PARTY_NOTICES.md.

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
<1hResponse time
Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables AI to directly call FreeCAD for 3D modeling via the MCP protocol, providing 39 modeling tools including primitive creation, boolean operations, transformations, and export.
    2
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to programmatically build, analyze, and export 3D CAD geometry using FreeCAD through REST or MCP tools.
    1
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables agent-driven CAD design through deterministic source files (.kcad.ts), including model evaluation, validation, and export to STEP/STL via MCP tools for review and introspection.
    95
    14
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    AI pilots FreeCAD. Provides full control of FreeCAD for parametric modeling, assembly, geometry sensing, and more via MCP tool calls.
    33
    6
    MIT

View all related MCP servers

Related MCP Connectors

  • Create, browse, remix, collaborate on, and run durable AI workflow nodes from MCP hosts.

  • OCR, transcription, file extraction, and image generation for AI agents via MCP.

  • Generate, edit, and deploy immersive 3D/WebGL web projects from any MCP assistant.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/halsyourpal422/Battenmark'

If you have feedback or need assistance with the MCP directory API, please join our Discord server