Skip to main content
Glama
create_scout_model.py3.3 kB
"""Script to create Scout 3D model using robotics-mcp tools. Creates a Scout model with accurate dimensions from hardware specs: - Length: 11.5 cm (0.115 m) - Width: 10 cm (0.10 m) - Height: 8 cm (0.08 m) - 4 mecanum wheels - Camera on front """ import asyncio import sys from pathlib import Path # Add src to path sys.path.insert(0, str(Path(__file__).parent.parent / "src")) from robotics_mcp.server import RoboticsMCP, RoboticsConfig from robotics_mcp.tools.robot_model_tools import RobotModelTools from robotics_mcp.utils.state_manager import RobotStateManager async def create_scout_model(): """Create Scout 3D model.""" print("=" * 60) print("Creating Scout 3D Model") print("=" * 60) print("Dimensions: 11.5cm × 10cm × 8cm (0.115m × 0.10m × 0.08m)") print("Features: 4 mecanum wheels, front camera") print("-" * 60) # Initialize server config = RoboticsConfig() state_manager = RobotStateManager() server = RoboticsMCP(config) # Create output directory output_dir = Path("D:/Models") output_dir.mkdir(parents=True, exist_ok=True) output_path = output_dir / "scout_model.fbx" print(f"Output path: {output_path}") print("-" * 60) print("Initializing model creation...") try: from fastmcp import Client async with Client(server.mcp) as client: print("Calling robot_model tool with operation='create'...") result = await client.call_tool( "robot_model", # Call the portmanteau tool { "operation": "create", # Specify the operation "robot_type": "scout", "output_path": str(output_path), "format": "fbx", "dimensions": { "length": 0.115, # 11.5 cm "width": 0.10, # 10 cm "height": 0.08, # 8 cm }, "create_textures": True, "texture_style": "realistic", }, ) print("\n" + "=" * 60) print("Result:") print("=" * 60) # Extract result data if hasattr(result, 'data'): result_data = result.data elif hasattr(result, 'structured_content'): result_data = result.structured_content else: result_data = result print(result_data) status = result_data.get("status") if isinstance(result_data, dict) else "unknown" if status == "success": print("\nSUCCESS: Scout model created!") print(f"Location: {output_path}") else: print("\nWARNING: Model creation completed with issues") message = result_data.get("message", "Unknown") if isinstance(result_data, dict) else str(result_data) print(f"Message: {message}") except Exception as e: print(f"\nERROR: Failed to create model: {e}") import traceback traceback.print_exc() if __name__ == "__main__": asyncio.run(create_scout_model())

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/sandraschi/robotics-mcp'

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