This commit implements the first phase of the MCP server as outlined in PROJECT_SUMMARY.md Option A: Model Discovery. New Features: - Complete .sim file parser (XML-based) - Expression extraction from .sim and .prt files - Solution, FEM, materials, loads, constraints extraction - Structured JSON output for LLM consumption - Markdown formatting for human-readable output Implementation Details: - mcp_server/tools/model_discovery.py: Core parser and discovery logic - SimFileParser class: Handles XML parsing of .sim files - discover_fea_model(): Main MCP tool function - format_discovery_result_for_llm(): Markdown formatter - mcp_server/tools/__init__.py: Updated to export new functions - mcp_server/tools/README.md: Complete documentation for MCP tools Testing & Examples: - examples/test_bracket.sim: Sample .sim file for testing - tests/mcp_server/tools/test_model_discovery.py: Comprehensive unit tests - Manual testing verified: Successfully extracts 4 expressions, solution info, mesh data, materials, loads, and constraints Validation: - Command-line tool works: python mcp_server/tools/model_discovery.py examples/test_bracket.sim - Output includes both Markdown and JSON formats - Error handling for missing files and invalid formats Next Steps (Phase 2): - Port optimization engine from P04 Atomizer - Implement build_optimization_config tool - Create pluggable result extractor system References: - PROJECT_SUMMARY.md: Option A (lines 339-350) - mcp_server/prompts/system_prompt.md: Model Discovery workflow
2.8 KiB
2.8 KiB