Ansa
FreeNot checkedAn MCP server that bridges MCP clients to ANSA CAE pre-processor via file IPC, enabling geometry operations, model management, and solver deck export.
About
An MCP server that bridges MCP clients to ANSA CAE pre-processor via file IPC, enabling geometry operations, model management, and solver deck export.
README
这是一个最小可用版 ANSA MCP。它采用 GUI bridge + 文件 IPC 的形式,让 MCP Client 通过外部 ansa-mcp-server 向 ANSA 内部插件发送 JSON 命令。
当前 MVP 聚焦:
pingcheck_ansa_connectionexecute_scriptget_capabilitiesget_model_infogeometry_inventoryimport_filelist_facesface_propertiesselect_faces_by_querypreview_selectiondelete_facesautosave_modelrestore_modelsave_model_ascheck_mesh_qualityexport_solver_deckbatch_benchmark_testread_last_log
暂不包含求解器运行、META 后处理或浏览器 Viewer。
架构
MCP Client
-> ansa_mcp.server
-> %USERPROFILE%\.ansa-mcp\commands\cmd_<id>.json
-> ANSA 内部 ansa_mcp.plugin
-> %USERPROFILE%\.ansa-mcp\results\<id>.json
-> MCP Client
所有 command/result 文件使用 .tmp + os.replace() 原子写入。每次调用都会写入独立 run 目录,便于复盘。
安装
cd /d D:\ansa-mcp
python -m venv .venv
.\.venv\Scripts\python -m pip install -e .
如果只想运行基础单元测试,不需要安装 MCP SDK:
cd /d D:\ansa-mcp
$env:PYTHONPATH = "D:\ansa-mcp\src"
python -m unittest discover -s tests
启动 MCP Server
cd /d D:\ansa-mcp
$env:ANSA_MCP_HOME = "$env:USERPROFILE\.ansa-mcp"
.\.venv\Scripts\python -m ansa_mcp.server
也可以使用安装后的入口:
ansa-mcp-server
在 ANSA 中加载插件
在 ANSA Script Editor 或 Python Console 中执行:
exec(open(r"D:\ansa-mcp\scripts\load_plugin_in_ansa.py").read())
ansa_mcp_loop()
ansa_mcp_loop() 是阻塞轮询模式。停止方式:
ansa_mcp_stop()
或在 %USERPROFILE%\.ansa-mcp\stop.flag 创建停止文件。
ANSA v25.1.0 noGUI 验证方式
本机已验证 ANSA v25.1.0 可以通过 -exec load_script 启动插件轮询:
$env:ANSA_MCP_HOME = "$env:USERPROFILE\.ansa-mcp"
& "C:\Program Files (x86)\BETA_CAE_Systems\ansa_v25.1.0\ansa64.bat" `
-exec "load_script:'D:\ansa-mcp\scripts\start_plugin_loop_in_ansa.py'" `
-nogui
上面的命令会阻塞运行,直到创建 stop.flag:
New-Item -ItemType File -Force -Path "$env:USERPROFILE\.ansa-mcp\stop.flag"
外部验证命令:
$env:ANSA_MCP_HOME = "$env:USERPROFILE\.ansa-mcp"
$env:PYTHONPATH = "D:\ansa-mcp\src"
D:\miniconda\envs\geo\python.exe -c "from ansa_mcp import server; print(server.tool_check_ansa_connection()); print(server.tool_get_capabilities()); print(server.tool_get_model_info())"
已验证环境:
- ANSA:
25.1.0 - ANSA Python:
3.11.9 current_deck:1
MCP Client 配置示例
见 examples/mcp_config.example.json。
工具说明
ping
检查 MCP server 自身是否运行。
check_ansa_connection
读取 status.json 并向 ANSA 插件发送 ping。如果 ANSA 插件未运行,会返回明确错误。
execute_script
在 ANSA Python 环境中执行脚本。当前版本主要用于调试和探索。稳定工作流应优先使用高层工具。
get_capabilities
返回插件版本、Python 版本、ANSA API 是否可用、当前 deck 等信息。
get_model_info
返回当前模型摘要。实体类型跨 deck 可能存在差异,失败项会进入 warnings。
geometry_inventory
返回更宽的几何/实体清单,用于诊断导入后为什么没有 FACE。当前会统计 parts、faces、macros、cons、points、curves、surfaces、volumes、nodes、shells、solids、elements、materials、properties 等。
import_file
打开或导入模型/几何文件。用户给外部路径时,server 会先复制到 ANSA_MCP_HOME\imports,再让 ANSA 打开该副本。
list_faces
列出当前 ANSA 模型中的 FACE 实体,返回 face id、name、type。用于让 Codex 在删除前先明确可操作对象。
face_properties
返回 FACE 的几何选择属性,包括 area、center、bbox、normal、perimeter_count。支持按 area、center_z、max_z 等字段排序,用于自然语言选面前的候选筛选。
select_faces_by_query
基于 face_properties 执行常见自然语言式选面,当前支持最大面、最小面、顶面、底面、法向 +Z、法向 -Z、靠近指定点等查询,并返回候选 face id、选择理由和分数。
preview_selection
删除前预览候选 face id 和选择理由。该工具不修改模型,返回 requires_confirmation=true,用于让用户确认后再调用 delete_faces。
delete_faces
按 face id 删除 FACE 实体,并可选保存副本。推荐流程是先 list_faces,再按明确 id 删除。
autosave_model
在 ANSA_MCP_HOME\autosaves 下保存带时间戳的当前模型副本,用于破坏性操作前回退。
restore_model
重新打开一个已有模型文件,通常用于恢复 autosave_model 生成的副本。
save_model_as
把当前 ANSA 模型另存到 ANSA_MCP_HOME 下。输出路径会被限制在工作区内。
check_mesh_quality
执行基础质量检查,当前包括实体数量、free nodes 和 intersections。后续可扩展更细的单元质量阈值。
export_solver_deck
导出 solver deck 到 ANSA_MCP_HOME 下。当前支持 NASTRAN、ABAQUS、LSDYNA、ANSYS 的受控封装。空模型导出可能返回非零 ANSA code,但只要写出非空文件,工具会返回 artifact 并在 warnings 中记录 return code。
batch_benchmark_test
批量导入指定目录下的 .step/.stp/.igs/.iges/.ansa/.bdf/.nas/.inp 文件,记录导入状态、实体统计、最大面、顶面等诊断结果,并输出 JSON/CSV 报告到 ANSA_MCP_HOME\reports。
read_last_log
返回最近一次 run 目录中的 result.json。
安全边界
- 外部 MCP server 不直接 import
ansa。 - ANSA API 只在 ANSA 内部插件中调用。
- 输出路径默认限制在
ANSA_MCP_HOME下。 execute_script默认脚本长度上限为 64 KB。- 每次调用都会记录 run 目录。
下一步
- 验证 ANSA batch/noGUI 启动参数后增加 batch runner。
Install Ansa in Claude Desktop, Claude Code & Cursor
unyly install ansa-mcpInstalls 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 ansa-mcp -- uvx --from git+https://github.com/ilovedurianhhh/ansa-mcp ansa-mcpFAQ
Is Ansa MCP free?
Yes, Ansa MCP is free — one-click install via Unyly at no cost.
Does Ansa need an API key?
No, Ansa runs without API keys or environment variables.
Is Ansa hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Ansa in Claude Desktop, Claude Code or Cursor?
Open Ansa 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
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare Ansa with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
