Skip to main content
Glama
windows.py1.43 kB
from pydantic import BaseModel from fastmcp import Context from models import MCPResponse from services.registry import mcp_for_unity_resource from services.tools import get_unity_instance_from_context from transport.unity_transport import send_with_unity_instance from transport.legacy.unity_connection import async_send_command_with_retry class WindowPosition(BaseModel): """Window position and size.""" x: float = 0.0 y: float = 0.0 width: float = 0.0 height: float = 0.0 class WindowInfo(BaseModel): """Information about an editor window.""" title: str = "" typeName: str = "" isFocused: bool = False position: WindowPosition = WindowPosition() instanceID: int = 0 class WindowsResponse(MCPResponse): """List of all open editor windows.""" data: list[WindowInfo] = [] @mcp_for_unity_resource( uri="unity://editor/windows", name="editor_windows", description="All currently open editor windows with their titles, types, positions, and focus state." ) async def get_windows(ctx: Context) -> WindowsResponse | MCPResponse: """Get all open editor windows.""" unity_instance = get_unity_instance_from_context(ctx) response = await send_with_unity_instance( async_send_command_with_retry, unity_instance, "get_windows", {} ) return WindowsResponse(**response) if isinstance(response, dict) else response

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/CoplayDev/unity-mcp'

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