MCP Servers

模型上下文协议服务器、框架、SDK 和模板的综合目录。

MCP wrap for pynastran APIs

创建于 3/1/2026
更新于 about 7 hours ago
Repository documentation and setup instructions

pyNastran MCP Server

Python 3.10+ License: MIT MCP

A Model Context Protocol (MCP) Server for pyNastran, built with FastMCP. Enables AI agents to interact with Nastran FEA models.

Features

  • 🔧 BDF Tools: Read, write, and analyze Nastran input files
  • 📊 OP2 Tools: Extract results from Nastran output files
  • 🔍 Geometry Tools: Mesh quality checks and geometric analysis
  • 📝 Analysis Tools: Automated report generation
  • 🚀 FastMCP: Built with modern FastMCP framework
  • 🌐 Multiple Transports: stdio, SSE, and streamable-http

Installation

pip install pynastran-mcp

Or install from source:

git clone https://github.com/Shaoqigit/pynastran-mcp.git
cd pynastran-mcp
pip install -e .

Quick Start

Stdio Transport (Default)

For MCP clients like Cherry Studio, Claude Desktop:

pynastran-mcp

SSE Transport

# Default: host=127.0.0.1, port=8080
pynastran-mcp --transport sse

# Custom host and port
pynastran-mcp --transport sse --host 0.0.0.0 --port 8080

Streamable HTTP Transport (Production)

# Default: host=127.0.0.1, port=8080
pynastran-mcp --transport streamable-http

# Custom host and port
pynastran-mcp --transport streamable-http --host 0.0.0.0 --port 8080

MCP Client Configuration

Cherry Studio / Cursor / Claude Desktop

Add to your MCP client configuration:

{
  "mcpServers": {
    "pynastran": {
      "command": "pynastran-mcp"
    }
  }
}

See CHERRY_STUDIO_TUTORIAL.md for detailed setup instructions.

Available Tools

BDF Tools

| Tool | Description | |------|-------------| | read_bdf | Read BDF file and return model summary | | get_model_info | Get detailed model information | | write_bdf | Write model to new BDF file | | get_nodes | Get node coordinates | | get_elements | Get element connectivity | | get_materials | Get material properties | | get_properties | Get property definitions |

OP2 Tools

| Tool | Description | |------|-------------| | read_op2 | Read OP2 result file | | get_result_cases | List available result cases | | get_stress | Extract stress results | | get_displacement | Extract displacement results |

Geometry Tools

| Tool | Description | |------|-------------| | check_mesh_quality | Check mesh quality metrics | | get_model_bounds | Get model bounding box |

Analysis Tools

| Tool | Description | |------|-------------| | generate_report | Generate comprehensive analysis report |

Usage Examples

With AI Agents

Once configured, you can ask your AI assistant:

"Read the BDF file at /path/to/model.bdf and tell me about the mesh"
"Analyze the stress results from /path/to/results.op2"
"Check the mesh quality and suggest improvements"
"Generate a report for my Nastran model"

Programmatic Usage

from pynastran_mcp.tools.bdf_tools import BdfTools
from pynastran_mcp.tools.op2_tools import Op2Tools

async def analyze_model():
    # BDF Analysis
    bdf_tools = BdfTools()
    summary = await bdf_tools.read_bdf("wing.bdf")
    print(summary)
    
    # OP2 Results
    op2_tools = Op2Tools()
    stresses = await op2_tools.get_stress("results.op2", element_type="CQUAD4")
    print(stresses)

Project Structure

pynastran-mcp/
├── pynastran_mcp/
│   ├── __init__.py
│   ├── server.py          # FastMCP server with all tools
│   └── tools/
│       ├── __init__.py
│       ├── bdf_tools.py   # BDF file operations
│       ├── op2_tools.py   # OP2 result operations
│       ├── geometry_tools.py  # Mesh quality checks
│       └── analysis_tools.py  # Report generation
├── pyproject.toml
├── README.md
└── examples/
    └── example_usage.py

Requirements

  • Python 3.10+
  • pyNastran >= 1.4.0
  • mcp >= 1.0.0 (with FastMCP)

Development

# Setup
git clone https://github.com/Shaoqigit/pynastran-mcp.git
cd pynastran-mcp
pip install -e ".[dev]"

# Run tests
pytest

# Code formatting
black pynastran_mcp/

License

MIT License - see LICENSE file

Acknowledgments

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Please make sure to update tests as appropriate and follow the existing code style.

快速设置
此服务器的安装指南

安装包 (如果需要)

uvx pynastran-mcp

Cursor 配置 (mcp.json)

{ "mcpServers": { "shaoqigit-pynastran-mcp": { "command": "uvx", "args": [ "pynastran-mcp" ] } } }