triggerEvent
Activate specific events within 3D scenes to control animations and interactions in Spline design projects using scene and event identifiers.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| sceneId | Yes | Scene ID | |
| eventId | Yes | Event ID | |
| eventData | No | Event data |
Implementation Reference
- src/tools/state-event-tools.js:280-302 (handler)Handler function that executes the 'triggerEvent' tool logic by invoking apiClient.triggerEvent and formatting the response as MCP content.async ({ sceneId, eventId, eventData }) => { try { await apiClient.triggerEvent(sceneId, eventId, eventData || {}); return { content: [ { type: 'text', text: `Event ${eventId} triggered successfully` } ] }; } catch (error) { return { content: [ { type: 'text', text: `Error triggering event: ${error.message}` } ], isError: true }; }
- Input schema using Zod for validating parameters of the 'triggerEvent' tool.{ sceneId: z.string().min(1).describe('Scene ID'), eventId: z.string().min(1).describe('Event ID'), eventData: z.record(z.any()).optional().describe('Event data'), },
- src/tools/state-event-tools.js:273-303 (registration)Registration of the 'triggerEvent' MCP tool on the server, including schema and handler.server.tool( 'triggerEvent', { sceneId: z.string().min(1).describe('Scene ID'), eventId: z.string().min(1).describe('Event ID'), eventData: z.record(z.any()).optional().describe('Event data'), }, async ({ sceneId, eventId, eventData }) => { try { await apiClient.triggerEvent(sceneId, eventId, eventData || {}); return { content: [ { type: 'text', text: `Event ${eventId} triggered successfully` } ] }; } catch (error) { return { content: [ { type: 'text', text: `Error triggering event: ${error.message}` } ], isError: true }; } }
- src/utils/api-client.js:193-195 (helper)apiClient helper method that performs the HTTP POST request to the Spline API to trigger the specified event.async triggerEvent(sceneId, eventId, eventData = {}) { return this.request('POST', `/scenes/${sceneId}/events/${eventId}/trigger`, eventData); }