Serpentine3D MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| serp_scene_infoA | Get the current scene: objects (name/kind/layer/bbox), layers, selection, bounds, and display mode. |
| serp_screenshotA | Capture the current 3D viewport so you can see the model. Returns a PNG image. Use after making changes to check the result. |
| serp_create_curveB | Create a NURBS curve from 3D points [[x,y,z], ...]. kind: 'interp' (curve passes through the points), 'control' (points are control vertices), 'polyline' (straight segments), 'line' (two points). |
| serp_create_surfaceA | Create a surface/solid from existing curves (referenced by name). operation: 'extrude' params: direction [x,y,z] (default [0,0,1]), distance (default 10), cap (bool, default true - closed profiles become solids) 'revolve' params: axis_point, axis_dir, angle (degrees, default 360) 'loft' curves: 2+ profiles in order; params: ruled (bool) 'planar' flat surface from one closed planar curve 'sweep' curves: [profile, rail] |
| serp_booleanA | Boolean operation between solids: 'union', 'difference' (targets minus tools), or 'intersection'. Tools are consumed. |
| serp_transformA | Transform objects (by name). operation/params: 'move' offset [dx,dy,dz] 'copy' offset [dx,dy,dz] 'rotate' center [x,y,z], axis [x,y,z] (default Z), angle degrees 'scale' center, factor (uniform) or factors [sx,sy,sz] 'mirror' plane_point, plane_normal, keep_original (bool) |
| serp_selectA | Select objects by names, kind (curve/surface/solid), or layer name. mode: 'replace', 'add', or 'clear' (clear ignores other args). |
| serp_commandA | Run any Serpentine3D command exactly as if typed in the command line, supplying its interactive inputs in order. Examples: command='circle', inputs=['0,0,0', '5'] command='extrude', inputs=['Curve 01', '', '20', 'Yes'] (object name(s), then '' to end selection, then distance, then cap) command='zoomextents' Selection prompts accept object names, 'all', or '' to finish. |
| serp_layersC | Manage layers. action: 'list', 'create', 'rename', 'visible', 'current', 'color' (color as [r,g,b] 0-1), 'assign' (move objects to layer), 'delete'. |
| serp_importB | Import a file into the scene (.serp, .step/.stp, .obj). |
| serp_exportA | Export the scene (or current selection) to .serp, .step/.stp or .obj — format chosen by extension. |
| serp_measureA | Measure geometry. what: 'distance' (needs points=[[..],[..]]), 'length', 'area', 'volume', 'bbox', 'centroid' (need targets). |
| serp_undoA | Undo the last operation (or redo with redo=true). |
| serp_viewportA | Adjust the viewport. view: top/front/right/left/back/bottom/ isometric/perspective. display_mode: wireframe/shaded/ghosted. zoom_extents fits all objects in view. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/chisomobanzi/Serpentine3D'
If you have feedback or need assistance with the MCP directory API, please join our Discord server