Skip to main content
Glama
benkeith1989-star

AI-to-CATIA MCP

README.md
# AI-to-CATIA MCP — v0.3.0 Community Beta RC1

AI-to-CATIA MCP Community Beta is a runnable, safety-scoped CATIA V5 MCP server. It lets users see an
AI create a small parametric CATPart instead of exposing only isolated surface commands.

This release contains exactly **40 MCP tools**:

- 6 package, environment, and guided-demo tools;
- 4 CATIA connection and read-only document tools;
- 6 guarded Demo CATPart and transaction tools;
- 8 inspection, topology, and measurement tools;
- 2 Sketch tools;
- 6 Part Design tools;
- 8 GSD/Surface tools.

The generic CATIA adapters are selected from the Codex development mirror associated with the V0.8.9
architecture. The company-local field-CLOSED tree is not distributed and byte identity is not claimed.
The public entrypoint, 40-tool composition, Demo guard, and minimal public Surface adapter are therefore
marked `PACKAGED_FIELD_REQUIRED` until this exact package passes the Community validation plan on R26.

## Safety boundary

Every write tool requires all of the following:

1. a server-side operator token;
2. a CATPart created by `catia_demo_new_part` in the current server process;
3. the matching hidden Community scope marker in the active document;
4. an explicit active transaction.

The package does not expose opening an existing CATPart, arbitrary save/overwrite, document deletion,
macro execution, or mutation of an existing user document. A Demo CATPart can only be saved to a fresh,
non-existing `.CATPart` path after its transaction is committed.

See [Quickstart](docs/QUICKSTART.md), [Safety model](docs/SAFETY.md), and
[R26 validation plan](docs/FIELD_VALIDATION_PLAN.md).

## A visible first demo

Ask the MCP client to perform this sequence:

```text
Check the Community environment and load the Part bracket demo recipe. Connect to CATIA.
Create a new Community demo part named CommunityBracket.
Begin a transaction, create a centered 120 mm x 80 mm rectangle sketch on XY,
pad it 20 mm, inspect the part, list its fresh faces and edges, then commit.
Save it to a new path that does not exist.
Do not touch any document that was already open.
```

This demonstrates the intended flow: intent → typed MCP tools → sketch → parametric Part Design feature →
inspection → explicit commit. See [demo prompts](examples/DEMO_PROMPTS.md) for a GSD example too.

## Not included

- Door BIW, sealing, or vehicle engineering knowledge;
- production Reference DB, migrations, evidence ledgers, or field logs;
- company-local FULL_SOURCE or local adaptations;
- arbitrary CATIA automation or an unrestricted general-purpose write server.

Those are intentionally separate commercial extensions. The public package is independently usable for
generic CATIA demonstrations and community evaluation.

## Installation

Requirements: Windows, Python 3.10+, a properly licensed CATIA V5 installation, and permission to use its
Automation/COM interface.

```powershell
py -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install -e .
$env:AI_TO_CATIA_COMMUNITY_OPERATOR_TOKEN = "replace-with-a-local-secret"
python -m catia_mcp
```

Never commit the operator token. The project is independent and is not affiliated with or endorsed by
Dassault Systèmes.

## Status and support

Release status: `0.3.0-community-beta-rc1 / PACKAGED_FIELD_REQUIRED`.

Offline tests and inherited field evidence do not replace a real `tools/list`, `tools/call`, and CATIA R26
test of this exact public composition. Consult the validation report shipped beside the ZIP before use.

Use GitHub Issues for reproducible bugs, CATIA R26 field reports, and scoped feature requests. Never attach
proprietary CATParts, operator tokens, internal paths, or production engineering data. Use private security
reporting for approval bypasses, unsafe mutation paths, and secret exposure; use Discussions for general
questions and demo ideas.

Licensed under [Apache License 2.0](LICENSE).