An MCP around pyCycle/OpenMDAO cycle workflows
Project description
pycycle-mcp
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.
Contributing
Contribution guidelines live in CONTRIBUTING.md.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pycycle_mcp-0.1.0.tar.gz.
File metadata
- Download URL: pycycle_mcp-0.1.0.tar.gz
- Upload date:
- Size: 31.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6dfa465908090d02af0f448faabfebd7bdd48c61ed912fc2f1eb5e606c0efc93
|
|
| MD5 |
1e8708c8a25c46297a8a8fe1153f298f
|
|
| BLAKE2b-256 |
96c8f6ff601b36ef7452ff2598ee5d703e6d4860427da90b0651fb0a5931b59f
|
Provenance
The following attestation bundles were made for pycycle_mcp-0.1.0.tar.gz:
Publisher:
workflow.yml on cmudrc/pycycle-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pycycle_mcp-0.1.0.tar.gz -
Subject digest:
6dfa465908090d02af0f448faabfebd7bdd48c61ed912fc2f1eb5e606c0efc93 - Sigstore transparency entry: 1035162822
- Sigstore integration time:
-
Permalink:
cmudrc/pycycle-mcp@0b11514f9b3032b3bdb8699067dd666b1244edb0 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/cmudrc
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
workflow.yml@0b11514f9b3032b3bdb8699067dd666b1244edb0 -
Trigger Event:
release
-
Statement type:
File details
Details for the file pycycle_mcp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: pycycle_mcp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 29.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a5739bec026c523264d678a1a1e3651a16b7ed1c27befb930e5b9d91a1c6ad01
|
|
| MD5 |
d4387dc97583618c7a62987280687356
|
|
| BLAKE2b-256 |
ae9c199bb7f4054c6c6f6488cb51dd3ab1de9fbb674a4d590e4c1cc861ee499d
|
Provenance
The following attestation bundles were made for pycycle_mcp-0.1.0-py3-none-any.whl:
Publisher:
workflow.yml on cmudrc/pycycle-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pycycle_mcp-0.1.0-py3-none-any.whl -
Subject digest:
a5739bec026c523264d678a1a1e3651a16b7ed1c27befb930e5b9d91a1c6ad01 - Sigstore transparency entry: 1035162852
- Sigstore integration time:
-
Permalink:
cmudrc/pycycle-mcp@0b11514f9b3032b3bdb8699067dd666b1244edb0 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/cmudrc
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
workflow.yml@0b11514f9b3032b3bdb8699067dd666b1244edb0 -
Trigger Event:
release
-
Statement type: