Files
Atomizer/mcp_server/tools/__init__.py

33 lines
987 B
Python
Raw Normal View History

"""
MCP Tools for Atomizer
Available tools:
- discover_fea_model: Analyze .sim files to extract configurable elements
- build_optimization_config: Generate optimization config from LLM instructions
- start_optimization: Launch optimization run
- query_optimization_status: Get current iteration status
- extract_results: Parse FEA result files
- run_nx_journal: Execute NXOpen scripts
- search_nxopen_docs: Search NXOpen API documentation
"""
from typing import Dict, Any
feat: Implement Option A - MCP Model Discovery tool 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
2025-11-15 13:23:05 +00:00
from .model_discovery import discover_fea_model, format_discovery_result_for_llm
from .optimization_config import (
build_optimization_config,
list_optimization_options,
format_optimization_options_for_llm
)
__all__ = [
"discover_fea_model",
feat: Implement Option A - MCP Model Discovery tool 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
2025-11-15 13:23:05 +00:00
"format_discovery_result_for_llm",
"build_optimization_config",
"list_optimization_options",
"format_optimization_options_for_llm",
"start_optimization",
"query_optimization_status",
"extract_results",
"run_nx_journal",
]