内容
# ANSYS Mechanical MCP 服务器
一款 [Model Context Protocol (MCP)](https://modelcontextprotocol.io) 服务器,通过 [PyMechanical](https://mechanical.docs.pyansys.com/) gRPC 将任何 MCP 兼容的 AI 客户端连接到 ANSYS Mechanical。用简单的中文与仿真对话。
https://github.com/user-attachments/assets/309952dc-dce0-4aa6-9b06-e8047f32c2de
## 兼容客户端
与任何 MCP 兼容的客户端合作,包括:
- [Claude Desktop](https://claude.ai/download)
- [Cursor](https://www.cursor.com)
- [Windsurf](https://windsurf.ai)
- [VS Code](https://code.visualstudio.com)(带有 Copilot MCP 支持)
- [Continue](https://continue.dev)
## 功能
| 类别 | 功能 |
|---|---|
| **连接** | 通过端口连接到一个或多个正在运行的 Mechanical 实例 |
| **几何** | 列出实体,分配材料,隐藏/显示实体 |
| **网格** | 设置单元大小,生成网格,获取统计信息 |
| **边界条件** | 固定支撑,位移,远程位移,无摩擦支撑,力,远程力,压力,力矩,重力 |
| **求解与结果** | 求解,获取状态,模态频率,等效应力,方向变形,主应力,应力工具,反作用力 |
| **点质量** | 将零件转换为组合点质量(无需扩展),自动创建附件命名选择 |
| **命名选择** | 列出,删除 |
| **报告** | 生成 DOCX 或 TXT 仿真报告 |
| **脚本** | 在 Mechanical ACT API 中运行任意 IronPython |
## 要求
- ANSYS Mechanical 2023 R1 或更高版本(启用 gRPC)
- Python 3.10+
## 安装
```bash
git clone https://github.com/codersag/mechanical-mcp.git
cd mechanical-mcp
pip install -e .
```
要包含 DOCX 报告生成:
```bash
pip install -e ".[report]"
```
## MCP 客户端配置
将以下内容添加到您的 MCP 客户端配置文件中。配置文件位置因客户端而异:
| 客户端 | 配置文件位置 |
|---|---|
| Claude Desktop(Windows) | `%APPDATA%\Claude\claude_desktop_config.json` |
| Claude Desktop(Mac) | `~/Library/Application Support/Claude/claude_desktop_config.json` |
| Cursor | 项目中的 `.cursor/mcp.json` 或全局的 `~/.cursor/mcp.json` |
| Windsurf | `~/.codeium/windsurf/mcp_config.json` |
```json
{
"mcpServers": {
"mechanical-mcp": {
"command": "ansys-mechanical-mcp"
}
}
}
```
或如果从源代码运行:
```json
{
"mcpServers": {
"mechanical-mcp": {
"command": "python",
"args": ["C:/path/to/mechanical-mcp/mechanical_mcp_server.py"]
}
}
}
```
编辑配置文件后重启客户端。
## 查找 Mechanical gRPC 端口
Mechanical 公开一个 gRPC 服务器,其端口您传递给 `connect_to_mechanical`。
在 Workbench 中(`Tools → Scripting → Run Script`):
```python
port = GetSystem("SYS").GetContainer(ComponentName="Model").StartGrpcServer()
print(port)
```
如果您有多个 Mechanical 系统打开(例如模态 + 静力结构),请为每个系统运行脚本,将 `"SYS"` 替换为系统名称(例如 `"SYS 1"`、`"SYS 2"`)。
## 使用
1. 打开 ANSYS Mechanical(gRPC 在 2023 R1+ 中默认启用)
2. 使用上述方法之一查找端口
3. 连接到您的 Mechanical 实例:
> "连接到端口 10000 上的 Mechanical"
然后自然交互:
> "将结构钢分配给所有实体"
> "生成网格,单元大小为 50mm"
> "在名为 Base 的命名选择上添加固定支撑"
> "求解分析并获取最大 von Mises 应力"
> "将零件 Equipment1 转换为点质量"
## 多个实例
您可以通过调用 `connect_to_mechanical` 并带有相关端口来连接到多个 Mechanical 实例(例如模态在端口 51811 上,静力结构在端口 53038 上)。服务器一次维护一个活动连接。
## 许可证
Apache License 2.0 — 请参阅 [LICENSE](LICENSE)