Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Ansys Aedt

FreeNot checked

Enables AI agents to control Ansys Electronics Desktop (HFSS, Maxwell, Q3D, etc.) using MCP tools for simulation automation.

GitHubEmbed

About

Enables AI agents to control Ansys Electronics Desktop (HFSS, Maxwell, Q3D, etc.) using MCP tools for simulation automation.

README

Ansys AEDT MCP Server logo

Ansys AEDT MCP Server

A Model Context Protocol server for Ansys Electronics Desktop, PyAEDT, HFSS, Maxwell, Q3D, Icepak, Circuit, reports, sweeps, and simulation automation.

Python MCP PyAEDT AEDT License

English · 简体中文 · Documentation · Verification

Why This Exists

ansys-aedt-mcp lets AI agents and MCP clients control Ansys Electronics Desktop through a structured server interface. It combines dedicated tools for common electromagnetic simulation workflows with a broad PyAEDT/native AEDT bridge for advanced automation.

SEO keywords: Ansys MCP, AEDT MCP server, Ansys Electronics Desktop automation, PyAEDT MCP, HFSS automation, HFSS far-field automation, Touchstone export, Touchstone import, signal integrity automation, Maxwell automation, Q3D automation, Icepak automation, AI simulation agent, electromagnetic simulation automation, EDA agent tools, CAE automation.

Highlights

  • MCP-ready: stdio, SSE, and streamable HTTP transports through the official Python MCP SDK.
  • PyAEDT-first: HFSS, Maxwell, Q3D/Q2D, Icepak, Circuit, Twin Builder, EMIT, RMxprt, Mechanical, and HFSS 3D Layout entry points.
  • Native AEDT bridge: odesktop, oproject, odesign, oeditor, and odesign.GetModule(...) access through controlled tools.
  • Simulation workflow tools: variables, datasets, geometry, materials, setup inspection/update, HPC options, sweeps, optimizations, analysis, reports, field plots, far-field, antenna/RCS data, signal-integrity expressions, Q3D nets, Icepak fan data, Touchstone data/import/export, monitors, and exports.
  • Agent-safe verification: unit tests run without AEDT licenses; Desktop/native smoke tests run on licensed Windows AEDT installations.
  • Non-commercial source availability: research, education, personal experimentation, and public knowledge use under PolyForm Noncommercial 1.0.0.

Quick Start

git clone https://github.com/LaplaceYoung/ansys-aedt-mcp.git
cd ansys-aedt-mcp
uv sync --extra dev
uv run ansys-aedt-mcp

Use the MCP inspector during development:

uv run mcp dev src/ansysmcp/server.py

Run streamable HTTP:

uv run ansys-aedt-mcp --transport streamable-http

MCP Client Config

{
  "mcpServers": {
    "ansys-aedt": {
      "command": "uv",
      "args": ["--directory", "F:\\实验\\ansysmcp", "run", "ansys-aedt-mcp"]
    }
  }
}

After cloning from GitHub, replace the local path with your checkout path.

Tool Surface

Area Tools
Environment/API discovery aedt_environment, aedt_api_manifest
Session aedt_start_session, aedt_release_session, aedt_session_info
Project/design aedt_open_project, aedt_save_project, aedt_list_projects, aedt_new_project, aedt_insert_design, aedt_set_active_project, aedt_set_active_design, aedt_design_summary
Variables/datasets aedt_set_variable, aedt_get_variables, aedt_create_dataset, aedt_import_dataset
Modeling/materials aedt_create_geometry, aedt_modeler_summary, aedt_modeler_operation, aedt_assign_material, aedt_materials_summary, aedt_materials_operation, aedt_material_object_summary, aedt_mesh_operation, aedt_mesh_summary, aedt_import_cad
Ports/sources aedt_create_port, aedt_source_port_summary, aedt_assign_boundary_or_excitation
Solver-specific controls aedt_hfss_operation, aedt_maxwell_operation, aedt_q3d_operation, aedt_q3d_net_summary, aedt_icepak_operation, aedt_get_fans_operating_point, aedt_circuit_operation
Simulation aedt_create_setup, aedt_setup_summary, aedt_get_setup_properties, aedt_update_setup, aedt_create_frequency_sweep, aedt_create_open_region, aedt_analyze, aedt_analyze_setup, aedt_solve_in_batch, aedt_apply_solved_variation, aedt_validate_design, aedt_cleanup_solution, aedt_set_hpc_options, aedt_set_license_type, aedt_set_temporary_directory, aedt_list_variations
Exploration aedt_create_parametric_sweep, aedt_create_optimization, aedt_optimetrics_summary, aedt_parametric_operation, aedt_optimization_operation, aedt_optimetrics_setup_operation
Post-processing aedt_create_output_variable, aedt_get_output_variable, aedt_get_evaluated_value, aedt_get_nominal_variation, aedt_get_profile, aedt_create_report, aedt_create_field_plot, aedt_get_solution_data, aedt_get_traces_for_plot, aedt_get_touchstone_data, aedt_signal_integrity_expressions, aedt_get_monitor_data, aedt_insert_far_field, aedt_get_antenna_data, aedt_get_rcs_data, aedt_post_summary, aedt_post_operation, aedt_insert_near_field, aedt_import_touchstone_solution, aedt_create_touchstone_report
Export aedt_export_report, aedt_export_touchstone_data, aedt_export_field_plot, aedt_export_diagnostics, aedt_export_matrix_data, aedt_export_icepak_summary, aedt_export_app_data
Deletion aedt_delete_item
Project/design maintenance aedt_change_design_settings, aedt_change_validation_settings, aedt_edit_design_notes, aedt_read_design_data, aedt_project_design_operation
Configuration aedt_configuration_summary, aedt_configuration_operation, aedt_update_configuration_options
Native/OO properties aedt_native_module_call, aedt_native_module_summary, aedt_native_module_batch_call, aedt_native_get_properties, aedt_native_get_property_value, aedt_native_change_property, aedt_oo_object_names, aedt_oo_get_properties, aedt_oo_get_property_value, aedt_oo_set_property_value
Broad API/workflows aedt_run_app_method, aedt_list_api, aedt_call, aedt_batch_call

Current MCP registration: 109 tools.

Example Workflows

Desktop/native workflow:

aedt_environment
aedt_start_session(app_name="desktop", version="2024.2", non_graphical=true)
aedt_new_project(project_name="MCPNativeProject")
aedt_insert_design(design_type="HFSS", design_name="HFSSDesign1", solution_type="DrivenModal")
aedt_call(target="omodule", module_name="AnalysisSetup", method="...")

PyAEDT solver workflow:

aedt_start_session(app_name="hfss", version="2024.2", non_graphical=true)
aedt_set_variable(name="w", expression="10mm")
aedt_create_geometry(primitive="box", args=[[0, 0, 0], ["w", "5mm", "1mm"]])
aedt_modeler_operation(method="move", args=[["Box1"], ["1mm", "0mm", "0mm"]])
aedt_assign_material(assignment="Box1", material="copper")
aedt_materials_summary
aedt_materials_operation(method="add_material", args=["demo_material"], kwargs={"properties": {"permittivity": 3.2}})
aedt_create_port(method="wave_port", args=["Face1"], kwargs={"name": "P1"})
aedt_hfss_operation(method="create_scattering", kwargs={"ports": ["P1"]})
aedt_create_setup(name="Setup1")
aedt_update_setup(name="Setup1", properties={"MaximumPasses": 8})
aedt_create_frequency_sweep(sweep_kind="linear_count", args=["Setup1", "GHz", 1, 10])
aedt_create_parametric_sweep(variable="w", start="5mm", stop="20mm", step="5mm")
aedt_optimetrics_summary
aedt_optimetrics_setup_operation(collection="parametrics", setup_name="Parametric1", method="update", kwargs={"update_dictionary": {"SaveFields": true}})
aedt_set_hpc_options(cores=8, tasks=2)
aedt_analyze_setup(name="Setup1", cores=8, blocking=true)
aedt_create_output_variable(variable="s11", expression="dB(S(1,1))")
aedt_get_evaluated_value(name="w", units="mm")
aedt_create_report(expressions="dB(S(1,1))")
aedt_post_summary
aedt_post_operation(method="export_report_to_jpg", args=["outputs", "S11"], kwargs={"width": 1200})
aedt_get_traces_for_plot(kwargs={"setup": "Setup1"})
aedt_get_touchstone_data(setup="Setup1")
aedt_signal_integrity_expressions(drivers=["P1"], receivers=["P2"], math_formula="dB")
aedt_insert_far_field(kwargs={"name": "FF1", "theta_step": 5, "phi_step": 5})
aedt_get_antenna_data(setup="Setup1", sphere="FF1")
aedt_get_rcs_data(setup="Setup1", expression="ComplexMonostaticRCSTheta")
aedt_export_report(report_name="S11", output_path="outputs")
aedt_export_touchstone_data(setup="Setup1", sweep="Sweep1", output_file="outputs/design.s2p")
aedt_export_diagnostics(export_kind="convergence", setup="Setup1")

AEDT Requirements

  • Windows with Ansys Electronics Desktop installed for real AEDT execution.
  • PyAEDT-compatible AEDT version. Local verification detected AEDT 2024.2.
  • Solver-specific licenses for solver app constructors and analysis workflows.
  • Python 3.10+; the repository pins local development to Python 3.12 through .python-version.

Verification

uv sync --extra dev
uv run ruff check .
uv run pytest
uv run ansys-aedt-mcp --help
uv run python scripts/aedt_smoke.py --mode environment
uv run python scripts/aedt_smoke.py --mode desktop --version 2024.2 --create-project MCPNativeProject

Current local status:

  • ruff check: passing
  • pytest: 39 passing tests
  • MCP tools registered: 109
  • Desktop/native AEDT smoke: passing on AEDT 2024 R2

Documentation

Roadmap

  • Add solver-license-backed end-to-end HFSS smoke examples.
  • Expand canonical templates for HFSS, Maxwell 3D, Q3D, Icepak, and Circuit workflows.
  • Add MCP prompts for common AEDT modeling and post-processing tasks.
  • Add solver-backed smoke examples around diagnostics, near-field extraction, Touchstone analysis, and monitor data.
  • Add generated API maps for PyAEDT modeler, post, modules, and native AEDT module names.

Community

Contributions are welcome for examples, solver-specific wrappers, docs, tests, and verified workflows. Read CONTRIBUTING.md, SECURITY.md, and CODE_OF_CONDUCT.md.

License

This project uses PolyForm Noncommercial License 1.0.0.

Commercial licensing and redistribution permissions require a separate written agreement.

from github.com/LaplaceYoung/ansys-aedt-mcp

Install Ansys Aedt in Claude Desktop, Claude Code & Cursor

Recommended · one command, every IDE
unyly install ansys-aedt-mcp

Installs into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.

First time? Get the CLI: curl -fsSL https://unyly.org/install | sh

Or configure manually

Run in your terminal:

claude mcp add ansys-aedt-mcp -- uvx --from git+https://github.com/LaplaceYoung/ansys-aedt-mcp ansysmcp

FAQ

Is Ansys Aedt MCP free?

Yes, Ansys Aedt MCP is free — one-click install via Unyly at no cost.

Does Ansys Aedt need an API key?

No, Ansys Aedt runs without API keys or environment variables.

Is Ansys Aedt hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install Ansys Aedt in Claude Desktop, Claude Code or Cursor?

Open Ansys Aedt on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Ansys Aedt with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All ai MCPs