Pycycle
FreeNot checkedModel Context Protocol server for pyCycle/OpenMDAO engine-cycle workflows, enabling lifecycle management, variable inspection, execution, sweeps, and integratio
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
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.
- Examples index: examples/README.md
- Tool discovery: examples/client/tool_discovery.py
- Session lifecycle: examples/cpacs/session_lifecycle.py
- Export snapshot: examples/cpacs/export_snapshot.py
Docs
- Docs source: docs/index.rst
- Published docs (placeholder): https://cmudrc.github.io/pycycle-mcp/
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.
Install Pycycle in Claude Desktop, Claude Code & Cursor
unyly install pycycle-mcpInstalls 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-mcpFAQ
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
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare Pycycle with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
