admindev-buildwellai/MCP-Pynite
If you are the rightful owner of MCP-Pynite and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The Pynite MCP Server is a Model Context Protocol server designed to expose the capabilities of the Pynite finite element analysis library for use by AI assistants like Claude.
Pynite MCP Server
Model Context Protocol (MCP) server for Pynite finite element analysis library. This server exposes Pynite's structural engineering capabilities as tools and resources that can be used by AI assistants like Claude.
Features
- Model Management: Create, manage, and switch between multiple FE models
- Element Creation: Add nodes, materials, sections, and structural elements
- Analysis Tools: Execute structural analysis and extract results
- Visualization: Generate plots and diagrams with base64 image responses
- State Management: Proper isolation between requests with metadata tracking
Installation
From Source
git clone https://github.com/buildwellai/MCP-Pynite.git
cd MCP-Pynite
pip install -e .
Prerequisites
- Python 3.10 or higher
- PyniteFEA library
- PyVista for visualization (with VTK backend)
Quick Start
1. Start the MCP Server
# Using SSE transport (HTTP)
python -m pynite_mcp.main
# Using stdio transport (pipe)
TRANSPORT=stdio python -m pynite_mcp.main
2. Connect from Claude Desktop
Add to your MCP configuration:
{
"mcpServers": {
"pynite": {
"command": "python",
"args": ["-m", "pynite_mcp.main"],
"transport": "sse",
"url": "http://localhost:8053"
}
}
}
3. Basic Usage Example
Through Claude or another MCP client:
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
Available Tools
Model Management
create_model(name, force=False)
- Create new FE modellist_models()
- List all models with metadataset_current_model(name)
- Switch active modelget_model_info(model_name=None)
- Get detailed model infodelete_model(name)
- Remove model and free resources
Element Creation
add_node_tool(name, X, Y, Z)
- Add structural nodeadd_material_tool(name, E, G, nu, rho, fy=None)
- Add materialadd_section_tool(name, material, type, ...)
- Add cross-section
Information Retrieval
list_nodes_tool(model_name=None)
- List all nodeslist_materials_tool(model_name=None)
- List all materials
Configuration
Environment variables:
HOST=0.0.0.0 # Server host
PORT=8053 # Server port
TRANSPORT=sse # Transport type (sse or stdio)
DEBUG=true # Enable debug logging
Architecture
- Context Management: Enhanced PyniteContext handles model isolation and metadata
- Tool Registration: FastMCP decorators expose async functions as MCP tools
- Error Handling: Comprehensive validation and error reporting
- Resource Cleanup: Automatic cleanup on session end
Development
Running Tests
pip install -e .[dev]
pytest tests/
Code Quality
black pynite_mcp/
flake8 pynite_mcp/
mypy pynite_mcp/
Examples
See the examples/
directory for complete structural analysis workflows using the MCP server.
Contributing
- Fork the repository
- Create a feature branch
- Add tests for new functionality
- Submit a pull request
License
MIT License - see LICENSE file for details.