generateEmbedCode
Generate embed code for Spline 3D scenes to integrate interactive designs into websites using customizable iframe parameters.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| sceneId | Yes | Scene ID | |
| width | No | Iframe width | 100% |
| height | No | Iframe height | 100% |
| frameBorder | No | Iframe border | 0 |
Implementation Reference
- src/tools/scene-tools.js:125-149 (handler)The async handler function that implements the generateEmbedCode tool logic. It creates an iframe embed code for the Spline scene using the provided sceneId and optional dimensions.async ({ sceneId, width, height, frameBorder }) => { try { const embedUrl = `https://my.spline.design/${sceneId}/`; const embedCode = `<iframe src='${embedUrl}' frameborder='${frameBorder}' width='${width}' height='${height}'></iframe>`; return { content: [ { type: 'text', text: embedCode } ] }; } catch (error) { return { content: [ { type: 'text', text: `Error generating embed code: ${error.message}` } ], isError: true }; } }
- src/tools/scene-tools.js:119-124 (schema)Zod input schema for the generateEmbedCode tool, validating sceneId and optional iframe attributes.{ sceneId: z.string().min(1).describe('Scene ID'), width: z.string().default('100%').describe('Iframe width'), height: z.string().default('100%').describe('Iframe height'), frameBorder: z.string().default('0').describe('Iframe border'), },
- src/tools/scene-tools.js:118-150 (registration)The server.tool call that registers the generateEmbedCode tool with MCP server, including name, schema, and handler.'generateEmbedCode', { sceneId: z.string().min(1).describe('Scene ID'), width: z.string().default('100%').describe('Iframe width'), height: z.string().default('100%').describe('Iframe height'), frameBorder: z.string().default('0').describe('Iframe border'), }, async ({ sceneId, width, height, frameBorder }) => { try { const embedUrl = `https://my.spline.design/${sceneId}/`; const embedCode = `<iframe src='${embedUrl}' frameborder='${frameBorder}' width='${width}' height='${height}'></iframe>`; return { content: [ { type: 'text', text: embedCode } ] }; } catch (error) { return { content: [ { type: 'text', text: `Error generating embed code: ${error.message}` } ], isError: true }; } } );
- src/index.js:92-92 (registration)Top-level call to registerSceneTools function, which registers the generateEmbedCode tool among scene tools.registerSceneTools(server);