Skip to main content
Glama

createWebhook

Create webhooks for Spline 3D scenes to map external parameters to scene variables, enabling dynamic content updates and interactive experiences.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sceneIdYesScene ID
nameYesWebhook name
parameterMappingsNoParameter mappings

Implementation Reference

  • Registers the createWebhook MCP tool, including inline Zod schema for inputs (sceneId, name, parameterMappings) and the handler function that constructs webhook data and calls apiClient.createWebhook
    server.tool( 'createWebhook', { sceneId: z.string().min(1).describe('Scene ID'), name: z.string().min(1).describe('Webhook name'), parameterMappings: z.array(z.object({ paramName: z.string().describe('Parameter name in webhook'), variableName: z.string().describe('Spline variable name'), variableType: z.enum(['string', 'number', 'boolean']).describe('Variable type'), })).optional().describe('Parameter mappings'), }, async ({ sceneId, name, parameterMappings }) => { try { const webhookData = { name, ...(parameterMappings && { parameterMappings }), }; const result = await apiClient.createWebhook(sceneId, webhookData); return { content: [ { type: 'text', text: `Webhook created successfully with ID: ${result.id} and URL: ${result.url}` } ] }; } catch (error) { return { content: [ { type: 'text', text: `Error creating webhook: ${error.message}` } ], isError: true }; } } );
  • Handler function for the createWebhook tool. Prepares the webhookData object from the input parameters and invokes apiClient.createWebhook to interact with the Spline API.
    async ({ sceneId, name, parameterMappings }) => { try { const webhookData = { name, ...(parameterMappings && { parameterMappings }), }; const result = await apiClient.createWebhook(sceneId, webhookData); return { content: [ { type: 'text', text: `Webhook created successfully with ID: ${result.id} and URL: ${result.url}` } ] }; } catch (error) { return { content: [ { type: 'text', text: `Error creating webhook: ${error.message}` } ], isError: true }; }
  • Zod input schema for the createWebhook tool defining required sceneId and name, optional parameterMappings array.
    { sceneId: z.string().min(1).describe('Scene ID'), name: z.string().min(1).describe('Webhook name'), parameterMappings: z.array(z.object({ paramName: z.string().describe('Parameter name in webhook'), variableName: z.string().describe('Spline variable name'), variableType: z.enum(['string', 'number', 'boolean']).describe('Variable type'), })).optional().describe('Parameter mappings'), },
  • Helper method in SplineApiClient that performs the actual API call to create a webhook by POSTing to /scenes/{sceneId}/webhooks
    async createWebhook(sceneId, webhookData) { return this.request('POST', `/scenes/${sceneId}/webhooks`, webhookData); }
  • src/index.js:91-91 (registration)
    Top-level registration call to registerApiWebhookTools on the MCP server instance, which includes the createWebhook tool.
    registerApiWebhookTools(server);

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/aydinfer/spline-mcp-server'

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