Ansys CFX-MCP
Ansys CFX-MCP (ansys-cfx-mcp) is a Model Context Protocol (MCP)
server that enables AI assistants to interact with Ansys CFX through
PyCFX. It enables
natural-language-assisted CFX-Pre, CFX Solver, and CFD-Post workflows for
setup, execution, and postprocessing.
It is built on PyAnsys Common MCP (ansys-common-mcp), the shared PyAnsys MCP foundation.
This package is self-contained and works as a standalone server for any MCP host. It exposes a compact CFX-oriented tool surface so you can connect to CFX sessions, inspect bounded model context, generate small PyCFX snippets, validate code, and coordinate common solver and CFD-Post actions.
For quick-start, configuration, architecture, examples, and per-tool reference material, see the PyCFX-MCP documentation.
Overview
Ansys CFX-MCP is a stateless MCP leaf. Your LLM host, such as Visual Studio Code Copilot, Claude Desktop, Cursor, or a custom agent, calls a focused set of tools to drive live CFX-Pre, CFD-Post, and CFX Solver sessions. Custom Python runs through a validated, Python-level restricted execution path. This is not an operating-system or container sandbox.
Key features:
- CFX session management: Start or attach to CFX-Pre, CFX Solver, and CFD-Post workflows.
- Workflow routing: Use one compact
cfx_workflowtool for common CFX lifecycle actions. - Bounded model context: Inspect summaries, named objects, API help, allowed values, and selected state snippets without dumping entire models into an MCP client.
- Deterministic-first codegen: Generate PyCFX-oriented snippets from
bundled CFX recipes first, with an optional server-side LLM fallback only
for unmatched
codegenprompts. - Validated execution: Run custom snippets in a persistent PyCFX execution context with strict AST validation, guarded imports, and limited built-in functions.
- Flexible MCP transport: Run over STDIO for local clients or Streamable HTTP for trusted local integrations.
Tool surface
The default MCP surface includes nine tools:
| Group | Tools |
|---|---|
| Connection and session | connect, disconnect, and session_status |
| CFX workflow routing | cfx_workflow |
| Bounded model context | cfx_model_context |
| Code generation and execution | codegen, clarify, run_code, and validate_code |
The server also exposes a toolsets://definition MCP resource for clients or
conductors that group related tools. The default CFX toolsets cover connection
management, CFX workflow routing, CFX model context, code generation, and code
execution.
Requirements
| Requirement | When needed | Notes |
|---|---|---|
| Python 3.12 or later | Always | 3.12, 3.13 and 3.14 are supported |
| Core runtime dependencies | Always (installed automatically) | ansys-common-mcp, fastmcp, pydantic, and requests |
| A licensed local Ansys CFX installation | To launch or attach CFX tools | Required for workflows that use CFX-Pre, CFX Solver, or CFD-Post |
| Optional LLM fallback | Only for unmatched codegen prompts |
Native providers through the LiteLLM SDK with ansys-cfx-mcp[providers], or any OpenAI-compatible chat completions endpoint such as a LiteLLM proxy |
PyCFX and Ansys CFX are required for live-session tools. Any tool that touches a CFX app (
connect,run_code,cfx_workflow,cfx_model_context, andsession_status) requiresansys-cfx-coreand a licensed CFX installation on your machine.
Installation
Install the latest release for users:
pip install ansys-cfx-mcp
Install the latest release for developers:
git clone https://github.com/ansys/pycfx-mcp.git
cd pycfx-mcp
pip install -e ".[dev,doc]"
Usage
Run PyCFX-MCP over STDIO, the default transport for desktop MCP clients:
ansys-cfx-mcp --transport stdio
Or, run PyCFX-MCP over Streamable HTTP:
ansys-cfx-mcp --transport http --host 127.0.0.1 --port 8000
Use STDIO for desktop MCP clients that launch the server process. Use Streamable HTTP only on trusted networks or behind infrastructure that provides authentication and TLS.
Starting PyCFX-MCP only makes the tools available. You still need an MCP-compatible client, such as Visual Studio Code Copilot, Claude Desktop, Cursor, or another assistant host, to connect to PyCFX-MCP. For more information, see IDE and client configuration in the PyCFX-MCP documentation.
Configuration
The default server needs no LLM configuration. The codegen path first applies
guardrails and deterministic CFX recipes. If no recipe matches, only the
codegen tool can fall through to the optional server-side LLM fallback.
The cfx_workflow, cfx_model_context, validate_code, and run_code tools
do not call an LLM.
To enable the optional model- and provider-agnostic LLM fallback or tune TLS and transport settings, see Configuration in the PyCFX-MCP documentation.
License
This project is licensed under the Apache License, Version 2.0. See the LICENSE file for details.
Resources
- PyCFX-MCP documentation
- PyCFX package
- PyAnsys documentation
- Model Context Protocol documentation
- FastMCP documentation
- Ansys CFX product information
- PyCFX-MCP Issues page
- PyCFX-MCP Discussions page
For general PyAnsys questions, email pyansys.core@ansys.com.
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 ansys_cfx_mcp-0.1.0.tar.gz.
File metadata
- Download URL: ansys_cfx_mcp-0.1.0.tar.gz
- Upload date:
- Size: 320.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
86a993ba6d856685086621435a429bf4a15aa15368eff9a36a9eef43fb8758b5
|
|
| MD5 |
4fccb0da793f4b4f388497a6aa8d3015
|
|
| BLAKE2b-256 |
928675ff31db0528a625896c20a45442fec8e509220fed3064e9b3dde2551bac
|
Provenance
The following attestation bundles were made for ansys_cfx_mcp-0.1.0.tar.gz:
Publisher:
ci.yml on ansys/pycfx-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ansys_cfx_mcp-0.1.0.tar.gz -
Subject digest:
86a993ba6d856685086621435a429bf4a15aa15368eff9a36a9eef43fb8758b5 - Sigstore transparency entry: 2299981917
- Sigstore integration time:
-
Permalink:
ansys/pycfx-mcp@c11b984f27b1eba79a0cdbfbe034b0d7d6c16a74 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/ansys
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@c11b984f27b1eba79a0cdbfbe034b0d7d6c16a74 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ansys_cfx_mcp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: ansys_cfx_mcp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 360.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f63cb9c45e6a6e745fce8959948c1108514796417d3ebbee1b57f7917a2805a8
|
|
| MD5 |
122728de0bbb39d05ff6a6b87aacd9d6
|
|
| BLAKE2b-256 |
d7334859f8564ba9c8ca99fe6b175bc02b6abbad88e9496e85702476373ba32b
|
Provenance
The following attestation bundles were made for ansys_cfx_mcp-0.1.0-py3-none-any.whl:
Publisher:
ci.yml on ansys/pycfx-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ansys_cfx_mcp-0.1.0-py3-none-any.whl -
Subject digest:
f63cb9c45e6a6e745fce8959948c1108514796417d3ebbee1b57f7917a2805a8 - Sigstore transparency entry: 2299982146
- Sigstore integration time:
-
Permalink:
ansys/pycfx-mcp@c11b984f27b1eba79a0cdbfbe034b0d7d6c16a74 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/ansys
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@c11b984f27b1eba79a0cdbfbe034b0d7d6c16a74 -
Trigger Event:
push
-
Statement type: