Skip to main content
Glama

configureConditionalAction

Set up conditional logic in 3D scenes to trigger specific actions based on variable comparisons, enabling dynamic behavior in Spline designs.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sceneIdYesScene ID
actionIdYesAction ID
variableNameYesVariable name to check
conditionYesCondition to check
valueNoValue to compare against
trueActionIdsYesActions to trigger if condition is true
falseActionIdsNoActions to trigger if condition is false

Implementation Reference

  • Handler function that implements the configureConditionalAction tool logic: updates the action parameters for a conditional action type via API PUT request.
    async ({ sceneId, actionId, variableName, condition, value, trueActionIds, falseActionIds }) => { try { const parameters = { variableName, condition, value, trueActions: trueActionIds, ...(falseActionIds && { falseActions: falseActionIds }), }; await apiClient.request('PUT', `/scenes/${sceneId}/actions/${actionId}`, { type: 'conditional', parameters }); return { content: [ { type: 'text', text: `Conditional action ${actionId} configured successfully` } ] }; } catch (error) { return { content: [ { type: 'text', text: `Error configuring conditional action: ${error.message}` } ], isError: true }; }
  • Zod input schema defining parameters for the configureConditionalAction tool.
    { sceneId: z.string().min(1).describe('Scene ID'), actionId: z.string().min(1).describe('Action ID'), variableName: z.string().min(1).describe('Variable name to check'), condition: z.enum(['equals', 'notEquals', 'greaterThan', 'lessThan', 'contains']) .describe('Condition to check'), value: z.any().describe('Value to compare against'), trueActionIds: z.array(z.string()).describe('Actions to trigger if condition is true'), falseActionIds: z.array(z.string()).optional().describe('Actions to trigger if condition is false'), },
  • Registration of the configureConditionalAction MCP tool within the registerActionTools function using server.tool().
    server.tool( 'configureConditionalAction', { sceneId: z.string().min(1).describe('Scene ID'), actionId: z.string().min(1).describe('Action ID'), variableName: z.string().min(1).describe('Variable name to check'), condition: z.enum(['equals', 'notEquals', 'greaterThan', 'lessThan', 'contains']) .describe('Condition to check'), value: z.any().describe('Value to compare against'), trueActionIds: z.array(z.string()).describe('Actions to trigger if condition is true'), falseActionIds: z.array(z.string()).optional().describe('Actions to trigger if condition is false'), }, async ({ sceneId, actionId, variableName, condition, value, trueActionIds, falseActionIds }) => { try { const parameters = { variableName, condition, value, trueActions: trueActionIds, ...(falseActionIds && { falseActions: falseActionIds }), }; await apiClient.request('PUT', `/scenes/${sceneId}/actions/${actionId}`, { type: 'conditional', parameters }); return { content: [ { type: 'text', text: `Conditional action ${actionId} configured successfully` } ] }; } catch (error) { return { content: [ { type: 'text', text: `Error configuring conditional action: ${error.message}` } ], isError: true }; } } );

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