ansys-aedt-mcp
Provides tools for controlling Ansys Electronics Desktop (AEDT) through PyAEDT and native AEDT APIs, enabling AI agents to automate electromagnetic simulations including HFSS, Maxwell, Q3D, Icepak, and Circuit.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ansys-aedt-mcpStart a new HFSS design and run a frequency sweep"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Ansys AEDT MCP Server
A Model Context Protocol server for Ansys Electronics Desktop, PyAEDT, HFSS, Maxwell, Q3D, Icepak, Circuit, reports, sweeps, and simulation automation.
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.
Related MCP server: COMSOL MCP Server
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, andodesign.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-mcpUse the MCP inspector during development:
uv run mcp dev src/ansysmcp/server.pyRun streamable HTTP:
uv run ansys-aedt-mcp --transport streamable-httpMCP 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 |
|
Session |
|
Project/design |
|
Variables/datasets |
|
Modeling/materials |
|
Ports/sources |
|
Solver-specific controls |
|
Simulation |
|
Exploration |
|
Post-processing |
|
Export |
|
Deletion |
|
Project/design maintenance |
|
Configuration |
|
Native/OO properties |
|
Broad API/workflows |
|
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 MCPNativeProjectCurrent local status:
ruff check: passingpytest: 39 passing testsMCP 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.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/LaplaceYoung/ansys-aedt-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server