PyAEDT-MCP is an MCP (Model Context Protocol) server for Ansys Electronics Desktop (AEDT). It gives you reliable AEDT tools and a persistent PyAEDT-backed Python session for tasks that do not fit a dedicated tool.
What PyAEDT-MCP does
PyAEDT-MCP supports this runtime loop:
- Check whether AEDT is installed or already reachable.
- Launch AEDT or connect to an existing gRPC session.
- Open projects, create designs, run analyses, inspect the model, and export results.
- Use
run_python_codeorrun_python_scriptfor custom PyAEDT work.
Supported AEDT applications include HFSS, Maxwell 2D/3D, Q2D, Q3D, Icepak, Circuit, TwinBuilder, Mechanical, EMIT, RMXprt, and HFSS 3D Layout.
Install
Run without cloning
Install uv and
Git first. Git is required because uvx
downloads and runs PyAEDT-MCP directly from this repository without cloning it.
Python 3.13 is recommended; --python 3.13 selects it explicitly and lets uv
download it if needed.
uvx --python 3.13 --from git+https://github.com/ansys/pyaedt-mcp.git ansys-aedt-mcp
Install locally
Use a Python 3.13 or later environment (3.13 recommended).
pip install git+https://github.com/ansys/pyaedt-mcp.git
Or use uv:
uv pip install git+https://github.com/ansys/pyaedt-mcp.git
Windows installer
Windows releases include PyAEDT-MCP-Installer-windows.exe:
- Installs the desktop manager into
C:\Program Files\ANSYS Inc\PyAEDT MCP. - Adds a Start Menu entry and registers an uninstaller in Windows Installed Apps.
- On first use, creates
%APPDATA%\.pyaedt_mcp\.venvand uses bundled CPython 3.13 anduvto installansys-aedt-mcpfrom PyPI. - Supports offline installation from the Settings tab. Each install or update prompts you to select a Python 3.13 wheelhouse ZIP and installs only from that archive, without querying package indexes.
- Saves the offline installation selection in
%APPDATA%\.pyaedt_mcp\settings.yaml.
Opening the executable provides setup, HTTP server controls, AEDT options, and stdio or HTTP profiles for Copilot/VS Code, Claude, Cursor, Codex, and OpenCode.
Install for development
git clone https://github.com/ansys/pyaedt-mcp.git
cd pyaedt-mcp
pip install -e .
pre-commit install
Or use uv:
git clone https://github.com/ansys/pyaedt-mcp.git
cd pyaedt-mcp
uv pip install -e .
pre-commit install
Requirements
- Python 3.13 or later (3.13 recommended)
- Git to install or run PyAEDT-MCP directly from this repository with
uv - AEDT 2022 R2 or later for gRPC workflows
- A local AEDT installation or a reachable remote AEDT gRPC endpoint
Quick start
-
Start AEDT in gRPC mode when connecting to an existing session:
"C:\Program Files\ANSYS Inc\v261\AnsysEM\ansysedt.exe" -grpcsrv 50051
Or, just launch AEDT normally. It automatically starts a gRPC server.
PyAEDT-MCP can also launch AEDT for you if it is not already running.
-
Choose an MCP transport:
- stdio is the simplest option for one local client. The client starts
PyAEDT-MCP automatically through
uvxor from a cloned repository's virtual environment. - HTTP connects the client to a separately running server. Use it for local development, Docker, or a remote server.
Start an HTTP server through
uvxwithout cloning:uvx --python 3.13 --index-strategy unsafe-best-match \ --from git+https://github.com/ansys/pyaedt-mcp.git ansys-aedt-mcp \ --transport http --http-host 127.0.0.1 --http-port 8080
- stdio is the simplest option for one local client. The client starts
PyAEDT-MCP automatically through
-
Point an MCP client at the server:
Use the IDE and client configuration guide for short HTTP and stdio configurations for VS Code/Copilot, Claude, OpenCode, and Codex, plus local virtual-environment instructions.
Tool reference
For information on the available tools, see Tools and capabilities in the PyAEDT-MCP documentation.
How the repository is organized
The core package is in src\ansys\aedt\mcp:
| File | Role |
|---|---|
__main__.py |
Module entry point that forwards to the CLI launcher |
server.py |
CLI parsing, app setup, context creation, startup cleanup, and transport selection |
tools.py |
Runtime tool implementations for AEDT lifecycle, project, scripting, and export workflows |
helpers.py |
Small utilities for probing endpoints, normalizing versions, and extracting model data |
prompts.py |
System prompt content shown to MCP clients |
contexts.py |
Optional context helper tools enabled by --include-context |
toolsets.py |
toolsets://definition resource used for logical tool discovery |
aedt_helper\startup_code.py |
Startup code loaded into the persistent Python session |
Other top-level folders include:
doc\source: Sphinx documentationtests: Unit and integration coveragedocker: Container assetsexamples: Sample assets used by the project
Development workflow
To contribute, see Contribute in the PyAEDT-MCP documentation.
Add a new tool
Most tools require a live AEDT connection. Tag those tools with REQUIRES_AEDT_TAG in src\ansys\aedt\mcp\tools.py so they can be hidden until the session exists when dynamic discovery is enabled.
For more information, see Add a new tool in the PyAEDT-MCP documentation.
License
Apache 2.0 license. See LICENSE.
Related projects
Metadata
Release files for ansys-aedt-mcp 0.3.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| ansys_aedt_mcp-0.3.1.tar.gz | 56.2 kB | With provenance | Details for ansys_aedt_mcp-0.3.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| ansys_aedt_mcp-0.3.1-py3-none-any.whl | Python 3 | none | any | Details for ansys_aedt_mcp-0.3.1-py3-none-any.whl |
Total release size: 116.9 kB
Release files / ansys_aedt_mcp-0.3.1.tar.gz
| Download URL | ansys_aedt_mcp-0.3.1.tar.gz |
|---|---|
| Size | 56.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9d483a7062563f169b51b00ac3b37eadaa99e1a4258d0632a824acc98177cf56
|
|
BLAKE2b-256 checksum How to use checksums |
8125a995fb44ff3cf612e77c5d285cbd92ed3dd0d74d47737153018703aa7ad5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.
Transparency logRelease files / ansys_aedt_mcp-0.3.1-py3-none-any.whl
| Download URL | ansys_aedt_mcp-0.3.1-py3-none-any.whl |
|---|---|
| Size | 60.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
cc70cfa976d4faa76e08060626e65e85e0bfbc3870c0169a179260e107561b0b
|
|
BLAKE2b-256 checksum How to use checksums |
e74cdeb8d6255cf3babaa774b59cf1c32f6646586d0bbc9bde4f750c2dcb0b21
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.
Transparency logSecurity for ansys-aedt-mcp 0.3.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for ansys_aedt_mcp-0.3.1.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.