UNPKG

@akiojin/unity-editor-mcp

Version:

MCP server for Unity Editor integration - enables AI assistants to control Unity Editor

82 lines (78 loc) 2.28 kB
/** * Tool definition for list_scenes */ export const listScenesToolDefinition = { name: 'list_scenes', description: 'List all scenes in the Unity project', inputSchema: { type: 'object', properties: { includeLoadedOnly: { type: 'boolean', description: 'Only include currently loaded scenes (default: false)' }, includeBuildScenesOnly: { type: 'boolean', description: 'Only include scenes in build settings (default: false)' }, includePath: { type: 'string', description: 'Filter scenes by path pattern (e.g., "Levels" to find scenes in Levels folder)' } }, required: [] } }; /** * Handler for list_scenes tool */ export async function listScenesHandler(unityConnection, args) { try { // Check connection if (!unityConnection.isConnected()) { return { content: [ { type: 'text', text: 'Failed to list scenes: Unity connection not available' } ], isError: true }; } // Send command to Unity const result = await unityConnection.sendCommand('list_scenes', args); // Handle Unity response if (result.status === 'error') { return { content: [ { type: 'text', text: `Failed to list scenes: ${result.error}` } ], isError: true }; } // Success response return { content: [ { type: 'text', text: result.result.summary || `Found ${result.result.totalCount} scenes` } ], isError: false }; } catch (error) { return { content: [ { type: 'text', text: `Failed to list scenes: ${error.message}` } ], isError: true }; } }