Pynite MCP服务器
Pynite有限元分析库的模型上下文协议(MCP)服务器。该服务器将Pynite的结构工程功能作为工具和资源公开,可供Claude等AI助手使用。
特性
- 模型管理:创建、管理和在多个FE模型之间切换
- 元素创建:添加节点、材质、截面和结构图元
- 分析工具:执行结构分析并提取结果
- 可视化:使用base64图像响应生成图表
- 状态管理:使用元数据跟踪在请求之间进行适当隔离
安装
来源
git clone https://github.com/buildwellai/MCP-Pynite.git
cd MCP-Pynite
pip install -e .先决条件
- Python 3.10或更高版本
- PyniteFEA库
- 用于可视化的PyVista(带VTK后端)
快速开始
1.启动MCP服务器
# Using SSE transport (HTTP)
python -m pynite_mcp.main
# Using stdio transport (pipe)
TRANSPORT=stdio python -m pynite_mcp.main2.从克劳德桌面连接
添加到MCP配置中:
{
"mcpServers": {
"pynite": {
"command": "python",
"args": ["-m", "pynite_mcp.main"],
"transport": "sse",
"url": "http://localhost:8053"
}
}
}3.基本使用示例
通过Claude或其他MCP客户:
1. Create a new model: create_model("simple_beam")
2. Add material: add_material_tool("steel", E=200e9, G=80e9, nu=0.3, rho=7850)
3. Add nodes: add_node_tool("N1", 0, 0, 0)
4. Add sections and members...
5. Analyze and visualize results可用工具
模型管理
create_model(name, force=False)-创建新的有限元模型list_models()-列出所有带有元数据的模型set_current_model(name)-切换活动模型get_model_info(model_name=None)-获取详细的模型信息delete_model(name)-删除模型并释放资源
元素创建
add_node_tool(name, X, Y, Z)-添加结构节点add_material_tool(name, E, G, nu, rho, fy=None)-添加材料add_section_tool(name, material, type, ...)-添加横截面
信息检索
list_nodes_tool(model_name=None)-列出所有节点list_materials_tool(model_name=None)-列出所有材料
配置
环境变量:
HOST=0.0.0.0 # Server host
PORT=8053 # Server port
TRANSPORT=sse # Transport type (sse or stdio)
DEBUG=true # Enable debug logging建筑
- 上下文管理:增强的PyniteContext处理模型隔离和元数据
- 工具注册:FastMCP装饰器将异步函数作为MCP工具公开
- 错误处理:全面的验证和错误报告
- 资源清理:会话结束时自动清理
发展
运行测试
pip install -e .[dev]
pytest tests/代码质量
black pynite_mcp/
flake8 pynite_mcp/
mypy pynite_mcp/例子
请参阅 examples/ 使用MCP服务器的完整结构分析工作流目录。
贡献
- 分叉存储库
- 创建要素分支
- 添加新功能的测试
- 提交拉取请求
许可证
MIT许可证-有关详细信息,请参阅许可证文件。
