Skip to main content
Glama

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

Related MCP server: pyNastran MCP Server

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 model

  • list_models() - List all models with metadata

  • set_current_model(name) - Switch active model

  • get_model_info(model_name=None) - Get detailed model info

  • delete_model(name) - Remove model and free resources

Element Creation

  • add_node_tool(name, X, Y, Z) - Add structural node

  • add_material_tool(name, E, G, nu, rho, fy=None) - Add material

  • add_section_tool(name, material, type, ...) - Add cross-section

Information Retrieval

  • list_nodes_tool(model_name=None) - List all nodes

  • list_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

  1. Fork the repository

  2. Create a feature branch

  3. Add tests for new functionality

  4. Submit a pull request

License

MIT License - see LICENSE file for details.

F
license - not found
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/admindev-buildwellai/MCP-Pynite'

If you have feedback or need assistance with the MCP directory API, please join our Discord server