rhino-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| 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 |
|---|---|
| rhino_pointB | Add a single point to the document. |
| rhino_lineB | Add a line between two points. |
| rhino_polylineB | Add a polyline through the given points; optionally closed. |
| rhino_arcA | Add an arc by centre, radius, and sweep angle (in degrees). |
| rhino_circleB | Add a circle by centre and radius (optionally on a custom plane). |
| rhino_ellipseB | Add an ellipse on the world XY plane (rhino3dm builds it as a NURBS approximation). |
| rhino_rectangleA | Add a rectangle as a closed polyline on the XY plane. |
| rhino_polygonB | Add a regular polygon (inscribed or circumscribed) on the XY plane. |
| rhino_helixC | Add a helix sampled into a NURBS curve. |
| rhino_spiralC | Add a tapered spiral sampled into a NURBS curve. |
| rhino_nurbs_curveB | Add a NURBS curve from a control polygon. |
| rhino_interpolate_curveC | Add an interpolated NURBS curve passing through the given points. |
| rhino_rebuild_curveB | Rebuild an existing curve with a new point count and degree. |
| rhino_curve_lengthB | Return the curve's parametric domain and approximate length. |
| rhino_curve_point_atA | Evaluate position and tangent at a parameter on the curve. |
| rhino_curve_splitB | Split a curve at the given parameters; original is preserved. |
| rhino_boxC | Add a rectangular box (axis-aligned in standalone mode). |
| rhino_sphereC | Add a sphere primitive. |
| rhino_cylinderC | Add a cylinder; in standalone mode the axis must be world Z. |
| rhino_coneB | Add a cone primitive (bridge required for non-Z axes). |
| rhino_torusC | Add a torus primitive (mesh approximation in standalone mode). |
| rhino_boolean_unionC | Boolean-union the given Brep groups. Bridge required. |
| rhino_boolean_differenceB | Subtract |
| rhino_boolean_intersectionB | Intersect |
| rhino_shellA | Hollow a closed Brep, optionally leaving the listed faces open. |
| rhino_cap_holesC | Cap all open holes of a Brep. |
| rhino_plane_surfaceC | Add a finite plane (rectangular trim) on the given plane. |
| rhino_extrudeA | Linearly extrude a profile curve by |
| rhino_revolveC | Revolve a profile curve about an axis. |
| rhino_loftC | Loft a sequence of profile curves into a surface. |
| rhino_sweep1C | Sweep profiles along a single rail. |
| rhino_sweep2C | Sweep profiles along two rails. |
| rhino_network_surfaceC | Build a surface from a network of crossing curves. |
| rhino_patchC | Patch a region defined by boundary curves. |
| rhino_blend_surfaceC | Create a blend surface between two edges. |
| rhino_fillet_surfaceC | Create a constant-radius fillet between two surfaces. |
| rhino_offset_surfaceA | Offset a surface by |
| rhino_mesh_boxB | Add a quad mesh box with the given subdivisions. |
| rhino_mesh_from_surfaceC | Mesh a surface (bridge only). |
| rhino_mesh_from_brepC | Mesh a Brep (bridge only). |
| rhino_weld_meshC | Weld coincident vertices in a mesh. |
| rhino_unweld_meshC | Unweld vertices to break mesh smoothing. |
| rhino_reduce_meshB | Reduce a mesh to a target face count. |
| rhino_mesh_boolean_unionC | Boolean-union meshes. |
| rhino_mesh_boolean_differenceB | Boolean-difference meshes (a - b). |
| rhino_moveC | Translate (or copy) the given objects by a vector. |
| rhino_rotateC | Rotate objects about an axis through a centre point. |
| rhino_scaleC | Scale objects non-uniformly about a centre. |
| rhino_mirrorC | Mirror objects across a plane (copies by default). |
| rhino_array_linearC | Array objects along a vector with constant spacing. |
| rhino_array_polarC | Array objects in a polar pattern. |
| rhino_array_rectangularC | Array objects in a 3D rectangular grid. |
| rhino_orientC | Orient objects from one plane to another (PlaneToPlane transform). |
| rhino_selection_bboxC | Return the union bounding box of all objects in the document. |
| rhino_flowC | Flow objects from one curve onto another (bridge only). |
| rhino_cage_editC | Deform objects with a control cage (bridge only). |
| rhino_place_gridA | Replicate a source object on a count_x x count_y grid with given spacing. |
| rhino_stack_floorsA | Replicate a source object N times along world +Z with constant spacing. |
| rhino_scatterB | Scatter |
| rhino_replicate_along_curveB | Distribute copies of a source object along a curve at evenly-spaced parameters. |
| rhino_text_dotA | Add a small label that always faces the camera in Rhino. |
| rhino_textA | Add 3D text annotation. Bridge mode honours the active dim style; standalone uses text-dot fallback. |
| rhino_annotation_north_arrowA | Draw a north arrow centred on |
| rhino_annotation_scale_barA | Draw a divided scale bar with a label. |
| rhino_annotation_revision_cloudC | Draw a revision cloud (bumpy polyline) around a region of interest with a revision label. |
| rhino_annotation_calloutB | Add a callout (leader + balloon or boxed label). |
| rhino_dimension_linearC | Add a linear dimension between two points. |
| rhino_dimension_alignedB | Add an aligned dimension between two points. |
| rhino_dimension_angularB | Add an angular dimension at a vertex. |
| rhino_leaderB | Add a multi-point leader (with optional text). |
| rhino_hatchB | Add a hatch over the given closed curves. |
| rhino_clipping_planeC | Add a clipping plane to all viewports. |
| rhino_annotation_dimension_styleB | Register a reusable dimension style (bridge only — Rhino DimStyle table). |
| rhino_layer_createB | Create a layer with optional colour and visibility. |
| rhino_layer_deleteA | Delete a layer by name (in standalone mode the layer is hidden + name-prefixed). |
| rhino_layer_set_colorC | Change a layer's display colour. |
| rhino_layer_set_materialA | Bind a render material to a layer so layer-source objects inherit it. |
| rhino_object_move_to_layerB | Reassign one or more objects to a different layer (creating it if absent). |
| rhino_object_selectA | Select objects by ID and/or attribute filters. |
| rhino_object_deleteC | Delete the given objects from the document. |
| rhino_groupC | Group objects together under a (named) group. |
| rhino_material_createB | Create a material with diffuse colour, transparency, and glossiness. |
| rhino_material_assignC | Assign an existing material to one or more objects. |
| rhino_material_preset_listA | List physical-material presets bundled with rhino-mcp. |
| rhino_material_preset_createA | Create a document material from a bundled physical preset. Standalone uses rhino3dm's basic Material (diffuse / transparency / shine). Bridge mode also pushes the matching Rhino PBR render content + IOR for photoreal output. |
| rhino_render_viewportC | Render the active viewport to an image file (bridge required). |
| rhino_environment_setC | Attach an HDRI/EXR environment used for lighting + background (bridge only). |
| rhino_openB | Open a .3dm file and bind it to a doc_id. |
| rhino_saveC | Write the document to disk. |
| rhino_export_objC | Export selected (or all) objects to a Wavefront OBJ file (mesh-only). |
| rhino_export_stlC | Export meshes to an ASCII STL file. |
| rhino_importA | Import an external file into the active document (bridge required for non-3DM). |
| rhino_export_stepC | Export to STEP (bridge required). |
| rhino_export_igesC | Export to IGES (bridge required). |
| rhino_export_dxfC | Export to DXF (bridge required). |
| rhino_screenshotA | Capture a viewport screenshot (bridge required). |
| rhino_viewport_previewA | Capture a viewport preview restricted to a selection or layer set. |
| rhino_areaA | Compute the surface area of a mesh (Brep area requires bridge). |
| rhino_volumeA | Compute the volume of a closed mesh (Brep volume requires bridge). |
| rhino_bounding_boxB | Return the union bounding box of one or more objects. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| general_strategy | High-level decision tree for driving Rhino through rhino-mcp. |
| rhinoscript_workflow | Mandatory steps before invoking rhino_execute_python. |
| viewport_workflow | Visual verification workflow (bridge mode). |
| parametric_workflow | Iterative parametric exploration workflow (sliders, sweeps, comparisons). |
| bim_authoring_workflow | Layer / grouping / metadata conventions for architectural authoring. |
| design_dialogue_workflow | Multi-turn, user-in-the-loop design checkpoints. |
| freeform_workflow | Free-form architectural authoring workflow. |
| drawing_documentation | Drawing-set authoring workflow (sheets, views, title block, PDF). |
| quantity_takeoff | Quantity / BOM workflow (per-layer / per-material / per-user_text). |
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/EaseHee/rhino-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server