ansys-aedt-mcp

ansys-aedt-mcp

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

Category
访问服务器

README

<div align="center">

<img src="assets/logo/ansys-aedt-mcp-logo.png" alt="Ansys AEDT MCP Server logo" width="180">

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

</div>

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.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选