Files
Atomizer/mcp_server/tools/__init__.py
Anto01 0a71435dcc feat: Add MCP build_optimization_config tool
Integrate OP2 data extraction with optimization config builder:
- Add build_optimization_config() MCP tool
- Add list_optimization_options() helper
- Add format_optimization_options_for_llm() formatter
- Update MCP tools documentation with full API details
- Test with bracket example, generates valid config

Features:
- Discovers design variables from FEA model
- Lists 4 available objectives (mass, stress, displacement, volume)
- Lists 4 available constraints (stress/displacement/mass limits)
- Validates user selections against model
- Generates complete optimization_config.json

Tested with examples/bracket/Bracket_sim1.sim:
- Found 4 design variables (support_angle, tip_thickness, p3, support_blend_radius)
- Created config with 2 objectives, 2 constraints, 150 trials

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-15 10:23:02 -05:00

33 lines
987 B
Python

"""
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
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",
"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",
]