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.0.tar.gz (46.5 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.0-py3-none-any.whl (50.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ansys_aedt_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 46.5 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.0.tar.gz
Algorithm Hash digest
SHA256 11a0b9274f00fa86e92de94c9eb7bdc462ccbfc17c4383c7177f6e9a95aadcab
MD5 25de7cb4623a9a5307e5dceb3ab82fb7
BLAKE2b-256 1797ac0d0e0bb05713d223a1c8e763e9fee02b5a66486e76e18eb2c657b62415

See more details on using hashes here.

Provenance

The following attestation bundles were made for ansys_aedt_mcp-0.1.0.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.0-py3-none-any.whl.

File metadata

  • Download URL: ansys_aedt_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 50.5 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5fa87ff35c7e0621eb503ff5e57e0079c7dc51bb10f1ec51956c5f4ac4a8bca7
MD5 d9ad6e01e2da1a2972b841ba79be3f76
BLAKE2b-256 18ab43f4ad8cb6abf1cce91aafd4ecfd5f412167eacc1fe6f0f5859807896dab

See more details on using hashes here.

Provenance

The following attestation bundles were made for ansys_aedt_mcp-0.1.0-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