Skip to main content

Model Context Protocol (MCP) server for Ansys Electronics Desktop (AEDT) through PyAEDT

Project description

PyAEDT-MCP

PyAnsys Python License: Apache%202.0 ruff

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:

  1. Check whether AEDT is installed or already reachable.
  2. Launch AEDT or connect to an existing gRPC session.
  3. Open projects, create designs, run analyses, inspect the model, and export results.
  4. Use run_python_code or run_python_script for 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

uvx --from git+https://github.com/ansys/pyaedt-mcp.git ansys-aedt-mcp

Install locally

pip install git+https://github.com/ansys/pyaedt-mcp.git

Or use uv:

uv pip install git+https://github.com/ansys/pyaedt-mcp.git

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.11 or later
  • AEDT 2022 R2 or later for gRPC workflows
  • A local AEDT installation or a reachable remote AEDT gRPC endpoint

Quick start

  1. 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.

  2. Start PyAEDT-MCP:

    ansys-aedt-mcp
    

    You can also use one of these common variants:

    # Connect on startup
    ansys-aedt-mcp --connect --machine localhost --port 50051
    
    # Expose HTTP transport instead of STDIO
    ansys-aedt-mcp --transport http --http-host 127.0.0.1 --http-port 8080
    
    # Register optional context helper tools
    ansys-aedt-mcp --include-context
    
    # Hide AEDT-only tools until a connection exists
    ansys-aedt-mcp --dynamic-tool-discovery
    
  3. Point an MCP client at the server:

    *Visual Studio Code

    {
      "mcp": {
        "servers": {
          "pyaedt-mcp": {
            "command": "uvx",
            "args": [
              "--index-strategy", "unsafe-best-match",
              "--from", "git+https://github.com/ansys/pyaedt-mcp.git",
              "ansys-aedt-mcp"
            ]
          }
        }
      }
    }
    

    Claude Desktop

    {
      "mcpServers": {
        "pyaedt-mcp": {
          "command": "uvx",
          "args": [
            "--from", "git+https://github.com/ansys/pyaedt-mcp.git",
            "ansys-aedt-mcp"
          ]
        }
      }
    }
    

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 documentation
  • tests: Unit and integration coverage
  • docker: Container assets
  • examples: 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ansys_aedt_mcp-0.1.2.tar.gz (46.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ansys_aedt_mcp-0.1.2-py3-none-any.whl (50.8 kB view details)

Uploaded Python 3

File details

Details for the file ansys_aedt_mcp-0.1.2.tar.gz.

File metadata

  • Download URL: ansys_aedt_mcp-0.1.2.tar.gz
  • Upload date:
  • Size: 46.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for ansys_aedt_mcp-0.1.2.tar.gz
Algorithm Hash digest
SHA256 e4c02c7862d9ca39f926324780e36653f4c5d6d05d7ba97bcfbcb46f5e982bd2
MD5 9e8f27903dc08c129cc32b28ca8eaf15
BLAKE2b-256 e5844399f6d35e3b29440599732aebc3655560a9f451796a0f196f06ebd45d42

See more details on using hashes here.

Provenance

The following attestation bundles were made for ansys_aedt_mcp-0.1.2.tar.gz:

Publisher: ci.yml on ansys/pyaedt-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ansys_aedt_mcp-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: ansys_aedt_mcp-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 50.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for ansys_aedt_mcp-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 46a2fb4320f86d1941d9ef4da2c6682bfa7d738f30d7e5cced1fb29ff3877ee9
MD5 d1e5d6f71e17da5c8da94823f0e20ae4
BLAKE2b-256 df543259bc83b1110e29805d87f3b604cd5c928e3988984e9afcda59952abb58

See more details on using hashes here.

Provenance

The following attestation bundles were made for ansys_aedt_mcp-0.1.2-py3-none-any.whl:

Publisher: ci.yml on ansys/pyaedt-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page