getStateDetails
Retrieve detailed information about specific states within 3D scenes to access animation properties and scene configurations for design workflows.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| sceneId | Yes | Scene ID | |
| stateId | Yes | State ID |
Implementation Reference
- src/tools/state-event-tools.js:48-70 (handler)The main execution handler for the 'getStateDetails' tool. Fetches state details from the Spline API using apiClient.getState and returns formatted JSON response or error content.async ({ sceneId, stateId }) => { try { const state = await apiClient.getState(sceneId, stateId); return { content: [ { type: 'text', text: JSON.stringify(state, null, 2) } ] }; } catch (error) { return { content: [ { type: 'text', text: `Error retrieving state details: ${error.message}` } ], isError: true }; } }
- src/tools/state-event-tools.js:44-47 (schema)Zod input schema defining required sceneId and stateId parameters for the tool.{ sceneId: z.string().min(1).describe('Scene ID'), stateId: z.string().min(1).describe('State ID'), },
- src/tools/state-event-tools.js:42-71 (registration)Direct MCP server.tool registration of the 'getStateDetails' tool within the registerStateEventTools function.server.tool( 'getStateDetails', { sceneId: z.string().min(1).describe('Scene ID'), stateId: z.string().min(1).describe('State ID'), }, async ({ sceneId, stateId }) => { try { const state = await apiClient.getState(sceneId, stateId); return { content: [ { type: 'text', text: JSON.stringify(state, null, 2) } ] }; } catch (error) { return { content: [ { type: 'text', text: `Error retrieving state details: ${error.message}` } ], isError: true }; } } );
- src/index.js:90-90 (registration)Higher-level registration call that invokes registerStateEventTools(server), which registers getStateDetails among other state/event tools.registerStateEventTools(server);
- src/utils/api-client.js:144-146 (helper)API client helper method getState that performs the HTTP GET request to retrieve state details from Spline API.async getState(sceneId, stateId) { return this.request('GET', `/scenes/${sceneId}/states/${stateId}`); }