Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Pycycle

FreeNot checked

Model Context Protocol server for pyCycle/OpenMDAO engine-cycle workflows, enabling lifecycle management, variable inspection, execution, sweeps, and integratio

GitHubEmbed

About

Model Context Protocol server for pyCycle/OpenMDAO engine-cycle workflows, enabling lifecycle management, variable inspection, execution, sweeps, and integration with CPACS aircraft analysis pipelines.

README

CI Docs Examples

pycycle-mcp is a lightweight Model Context Protocol server for pyCycle/OpenMDAO engine-cycle workflows. The repository includes deterministic examples/tests so local development and CI can validate tooling contracts without requiring a full runtime installation of pyCycle/OpenMDAO assets.

Overview

The project currently provides:

  • A FastMCP-powered server with stdio and HTTP-compatible transports.
  • Tooling for cycle lifecycle, variable inspection/updates, execution, sweeps, and total-derivative evaluation.
  • Pydantic-backed validation with structured MCP-style error payloads.
  • Deterministic examples for repository scaffolding checks and smoke tests.

Quickstart

Requires Python 3.12+.

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

Start the server over stdio:

pycycle-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 repository contracts.

Docs

Build the docs locally with:

make docs

Python API Rename

The package import root is now:

  • pycycle_mcp (new)

Legacy pre-rename import paths and CLI aliases are intentionally removed.

Shared-CPACS Integration

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

What it does

The adapter reads engine parameters and aerodynamic drag from CPACS, runs a real OpenMDAO/pyCycle turbofan cycle analysis, and writes performance results — net thrust, TSFC, OPR, BPR, fuel flow — into //mcpResults.

Direction XPath
Reads .//vehicles/engines, .//analysisResults/aero/coefficients/CD
Writes .//vehicles/engines/engine/analysis/mcpResults (Fn_DES, Fn, TSFC, OPR, BPR, fuel flow)

Design-thrust override (engine sizing)

run_adapter(..., design_thrust_lbf=<float>) is an additive option that drives the cycle to an explicit design net thrust Fn_DES instead of deriving it from CPACS aero drag. This is the entry point used by the agent's engine-resizing and cruise-match skills to iterate on engine size (the achieved Fn_DES_lbf is echoed back in the results). The classic drag-derived path is unchanged when the argument is omitted.

Running as part of the pipeline

python pipeline/shared_cpacs_orchestrator.py D150_v30.xml --mcps tigl su2 pycycle mission

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

Related MCP servers

MCP Repository
TiGL (geometry) cmudrc/tigl-mcp
SU2 (CFD aerodynamics) cmudrc/su2-mcp
Mission (trajectory/fuel) cmudrc/mission-mcp

Contributing

Contribution guidelines live in CONTRIBUTING.md.

from github.com/cmudrc/pycycle-mcp

Install Pycycle in Claude Desktop, Claude Code & Cursor

Recommended · one command, every IDE
unyly install pycycle-mcp

Installs into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.

First time? Get the CLI: curl -fsSL https://unyly.org/install | sh

Or configure manually

Run in your terminal:

claude mcp add pycycle-mcp -- uvx pycycle-mcp

FAQ

Is Pycycle MCP free?

Yes, Pycycle MCP is free — one-click install via Unyly at no cost.

Does Pycycle need an API key?

No, Pycycle runs without API keys or environment variables.

Is Pycycle hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install Pycycle in Claude Desktop, Claude Code or Cursor?

Open Pycycle on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Pycycle with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All development MCPs