Skip to main content
Glama

configureGlassLayer

Configure glass material properties in 3D scenes by setting tint color, index of refraction, roughness, and thickness parameters for realistic glass rendering.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sceneIdYesScene ID
materialIdYesMaterial ID
layerIdYesLayer ID
tintNoGlass tint color (hex, rgb, or rgba)
iorNoIndex of refraction
roughnessNoGlass roughness
thicknessNoGlass thickness

Implementation Reference

  • The main handler function for the 'configureGlassLayer' tool. It constructs layer parameters from inputs and sends a PUT request to the Spline API to update the glass layer on the specified material.
    async ({ sceneId, materialId, layerId, tint, ior, roughness, thickness }) => { try { const layerParams = { ...(tint && { tint }), ...(ior !== undefined && { ior }), ...(roughness !== undefined && { roughness }), ...(thickness !== undefined && { thickness }), }; await apiClient.request('PUT', `/scenes/${sceneId}/materials/${materialId}/layers/${layerId}`, { params: layerParams }); return { content: [ { type: 'text', text: `Glass layer ${layerId} configured successfully` } ] }; } catch (error) { return { content: [ { type: 'text', text: `Error configuring glass layer: ${error.message}` } ], isError: true }; } }
  • Zod input schema validating parameters for configuring a glass layer: sceneId, materialId, layerId, tint, ior, roughness, thickness.
    sceneId: z.string().min(1).describe('Scene ID'), materialId: z.string().min(1).describe('Material ID'), layerId: z.string().min(1).describe('Layer ID'), tint: z.string().optional().describe('Glass tint color (hex, rgb, or rgba)'), ior: z.number().min(1).optional().default(1.5).describe('Index of refraction'), roughness: z.number().min(0).max(1).optional().default(0).describe('Glass roughness'), thickness: z.number().min(0).optional().default(0.1).describe('Glass thickness'), },
  • Direct registration of the 'configureGlassLayer' tool on the MCP server using server.tool(), including inline schema and handler.
    server.tool( 'configureGlassLayer', { sceneId: z.string().min(1).describe('Scene ID'), materialId: z.string().min(1).describe('Material ID'), layerId: z.string().min(1).describe('Layer ID'), tint: z.string().optional().describe('Glass tint color (hex, rgb, or rgba)'), ior: z.number().min(1).optional().default(1.5).describe('Index of refraction'), roughness: z.number().min(0).max(1).optional().default(0).describe('Glass roughness'), thickness: z.number().min(0).optional().default(0.1).describe('Glass thickness'), }, async ({ sceneId, materialId, layerId, tint, ior, roughness, thickness }) => { try { const layerParams = { ...(tint && { tint }), ...(ior !== undefined && { ior }), ...(roughness !== undefined && { roughness }), ...(thickness !== undefined && { thickness }), }; await apiClient.request('PUT', `/scenes/${sceneId}/materials/${materialId}/layers/${layerId}`, { params: layerParams }); return { content: [ { type: 'text', text: `Glass layer ${layerId} configured successfully` } ] }; } catch (error) { return { content: [ { type: 'text', text: `Error configuring glass layer: ${error.message}` } ], isError: true }; } } );
  • src/index.js:97-97 (registration)
    Top-level registration call that invokes the advanced material tools module (containing configureGlassLayer) on the main MCP server instance.
    registerAdvancedMaterialTools(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