Skip to main content
Glama
cmudrc
by cmudrc

tigl-mcp

CI Docs Examples

tigl-mcp is a lightweight Model Context Protocol server for CPACS-oriented TiGL workflows. The current implementation focuses on deterministic, JSON-friendly tooling backed by stubbed CPACS/TiGL behavior so local development, tests, and docs stay stable without native geometry runtimes.

Overview

The project currently provides:

  • A FastMCP-powered server with stdio and HTTP-compatible transports

  • A curated set of CPACS lifecycle, inspection, export, sampling, and parameter tools

  • Pydantic-backed tool validation with structured MCP error payloads

  • Deterministic CPACS/TiGL stand-ins for stable local development and CI

Related MCP server: freecad-tool-server

Quickstart

Requires Python 3.12+.

python3 -m venv .venv
source .venv/bin/activate
make dev
make test
make ci

Start the server over stdio:

tigl-mcp --transport stdio

Inspect the non-blocking HTTP transport configuration example:

PYTHONPATH=src python3 examples/server/http_launch_config.py

Examples

The examples are deterministic and aligned with the current stub-backed implementation.

Docs

Build the docs locally with:

make docs

Current Capability Boundaries

This is the authoritative statement of which paths run real TiGL and which do not. Nothing here estimates geometry.

Real TiGL, always. CAD export (export_configuration_cad, STEP and IGES) and mesh export (export_component_mesh) drive the real TiGL library, either through native tigl3/tixi3 bindings or through the tigl-mcp:dev Docker image. The route actually taken is recorded in CPACS as stepExportSource, so exported geometry is traceable. On the D150 this produces a 3.2 MB STEP file and per-component surface meshes of a few thousand triangles.

Read from the CPACS file, so always available. Component UIDs, names, symmetry flags, wing/fuselage/rotor/engine counts, per-component section and segment counts, and the reference area and length. These are values the file states directly.

Requires a real kernel, and reports GeometryUnavailable without one. Bounding boxes, wing span and area, aspect ratio, MAC, fuselage length, surface sampling, and plane/component intersection. Deriving any of these means evaluating profile geometry through the CPACS positioning and transformation chain, which is what TiGL is for. When no kernel is reachable these tools raise a structured error naming the missing dependency. They do not return an estimate.

Until 2026-08-15 several of these returned values derived from a component's index in an array — a wing's bounding box was literally its position in the list. Those were removed, along with a synthetic single-triangle mesh and a CAD "export" that returned the CPACS text relabelled. If you are reading older notes or output that mention stub geometry, they predate this.

Shared-CPACS Integration

This MCP includes a CPACS adapter (src/tigl_mcp/cpacs_adapter.py) that bridges TiGL to the shared-CPACS aircraft analysis pipeline.

What it does

The adapter reads CPACS geometry (wings, fuselages, profiles) and writes analysis results — component counts, per-component section and segment counts, and STEP export metadata — into //analysisResults/tigl. A boundingBox element is written only when a real geometry kernel supplied one, and is omitted otherwise.

Direction

XPath

Reads

.//vehicles/aircraft/model, .//vehicles/profiles

Writes

.//vehicles/aircraft/model/analysisResults/tigl

Running as part of the pipeline

# As part of the full 4-MCP pipeline (with SU2, pyCycle, Mission)
python pipeline/shared_cpacs_orchestrator.py D150_v30.xml --mcps tigl su2 pycycle mission

# TiGL only
python pipeline/shared_cpacs_orchestrator.py D150_v30.xml --mcps tigl

See cmudrc/aircraft-analysis for full pipeline documentation, versioning details, and installation instructions.

MCP

Repository

SU2 (CFD aerodynamics)

cmudrc/su2-mcp

pyCycle (engine cycle)

cmudrc/pycycle-mcp

Mission, segment/Breguet

cmudrc/nseg-mcp

Mission, trajectory-level

cmudrc/aviary-cpacs-mcp

Contributing

Contribution guidelines live in CONTRIBUTING.md.

Maintainers

Mayank Dixit (@Kugel-Blitz-13), Carnegie Mellon University — mayankd@cmu.edu Christopher McComb, Carnegie Mellon University — Design Research Collective

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Maintenance

ActivityMaintained
ResponsivenessWithin a week

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

Related MCP Servers

  • 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
  • F
    license
    A
    quality
    B
    maintenance
    CAD-engineering MCP tool server for parametric modeling, DFM validation, mechanical calculations, and more. Enables code-CAD builds (build123d/CadQuery), model inspection, meshing, and mechanical calculators via MCP stdio.
    11
    -

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/cmudrc/tigl-mcp'

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