Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

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

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
rhino_pointC

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_arcB

Add an arc by centre, radius, and sweep angle (in degrees).

rhino_circleA

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_rectangleB

Add a rectangle as a closed polyline on the XY plane.

rhino_polygonC

Add a regular polygon (inscribed or circumscribed) on the XY plane.

rhino_helixB

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_curveB

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_lengthA

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_splitA

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_torusB

Add a torus primitive (mesh approximation in standalone mode).

rhino_boolean_unionB

Boolean-union the given Brep groups. Bridge required.

rhino_boolean_differenceA

Subtract b_ids from a_ids. Bridge required.

rhino_boolean_intersectionB

Intersect a_ids with b_ids. Bridge required.

rhino_shellC

Hollow a closed Brep, optionally leaving the listed faces open.

rhino_cap_holesB

Cap all open holes of a Brep.

rhino_plane_surfaceB

Add a finite plane (rectangular trim) on the given plane.

rhino_extrudeB

Linearly extrude a profile curve by distance along direction.

rhino_revolveC

Revolve a profile curve about an axis.

rhino_loftB

Loft a sequence of profile curves into a surface.

rhino_sweep1A

Sweep profiles along a single rail.

rhino_sweep2C

Sweep profiles along two rails.

rhino_network_surfaceB

Build a surface from a network of crossing curves.

rhino_patchC

Patch a region defined by boundary curves.

rhino_blend_surfaceB

Create a blend surface between two edges.

rhino_fillet_surfaceB

Create a constant-radius fillet between two surfaces.

rhino_offset_surfaceB

Offset a surface by distance along its normal.

rhino_mesh_boxC

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_meshB

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_scaleB

Scale objects non-uniformly about a centre.

rhino_mirrorB

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_orientA

Orient objects from one plane to another (PlaneToPlane transform).

rhino_selection_bboxD

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.

    Returns the new object IDs in row-major (x outer, y inner) order. The
    source is preserved; when ``skip_origin`` is True the (0,0) cell is
    left untouched and the source itself fills it.
    
rhino_stack_floorsA

Replicate a source object N times along world +Z with constant spacing.

    Architectural shortcut for "stack this slab N floors high". The source
    sits at level 0; copies populate levels 1 .. floor_count.
    
rhino_scatterA

Scatter count copies of a source inside a 2-D AABB with optional Z-rotation jitter.

    The boundary is interpreted in world XY; Z is taken from
    ``boundary_min.z``. Use ``seed`` for deterministic output.
    
rhino_replicate_along_curveB

Distribute copies of a source object along a curve at evenly-spaced parameters.

    With ``align_to_tangent`` (default), each copy is reoriented so that
    the world-X direction maps to the curve tangent at its sample point.
    ``include_endpoints`` controls whether the first/last samples land on
    the curve's start/end points.
    
rhino_text_dotA

Add a small label that always faces the camera in Rhino.

rhino_textC

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 location.

    ``angle_deg`` rotates the arrow clockwise from world +Y so callers can
    adapt to a site whose true north differs from grid north.
    
rhino_annotation_scale_barA

Draw a divided scale bar with a label.

    Bar is drawn in document units; the label reports the represented
    real-world distance based on ``scale_denominator``.
    
rhino_annotation_revision_cloudA

Draw a revision cloud (bumpy polyline) around a region of interest with a revision label.

rhino_annotation_calloutC

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_angularC

Add an angular dimension at a vertex.

rhino_leaderB

Add a multi-point leader (with optional text).

rhino_hatchC

Add a hatch over the given closed curves.

rhino_clipping_planeB

Add a clipping plane to all viewports.

rhino_annotation_dimension_styleC

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_colorB

Change a layer's display colour.

rhino_layer_set_materialA

Bind a render material to a layer so layer-source objects inherit it.

    Bridge-only: rhino3dm exposes ``material_index`` on the layer but the
    in-document material table is read-only. Use ``rhino_material_create``
    first to define the material.
    
rhino_object_move_to_layerB

Reassign one or more objects to a different layer (creating it if absent).

rhino_object_selectB

Select objects by ID and/or attribute filters.

    Filter fields combine with AND semantics. ``object_ids`` short-circuits
    the other filters when provided. Standalone mode marks matches with the
    ``rhino_mcp_selected`` user-string (since rhino3dm has no selection
    state); bridge mode delegates to Rhino's native selection.
    
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_assignB

Assign an existing material to one or more objects.

rhino_material_preset_listA

List physical-material presets bundled with rhino-mcp.

    Returns the full catalogue (or a single category subset) so the LLM
    can pick a known-good name before calling ``rhino_material_preset_create``.
    
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_viewportB

Render the active viewport to an image file (bridge required).

rhino_environment_setA

Attach an HDRI/EXR environment used for lighting + background (bridge only).

rhino_openC

Open a .3dm file and bind it to a doc_id.

rhino_saveC

Write the document to disk.

rhino_export_objA

Export selected (or all) objects to a Wavefront OBJ file (mesh-only).

rhino_export_stlB

Export meshes to an ASCII STL file.

rhino_importC

Import an external file into the active document (bridge required for non-3DM).

rhino_export_stepA

Export to STEP (bridge required).

rhino_export_igesC

Export to IGES (bridge required).

rhino_export_dxfB

Export to DXF (bridge required).

rhino_screenshotA

Capture a viewport screenshot (bridge required).

    With ``as_base64=True`` the response includes ``image_base64`` so
    the LLM can inspect the render inline. The PNG is also written to
    ``path`` regardless, for the user to save/share.
    
rhino_viewport_previewA

Capture a viewport preview restricted to a selection or layer set.

    Spotlights ``selection_ids`` and/or objects on ``layers``; everything
    else is either ghosted (default) or hidden during the capture and
    restored afterwards. Useful for multi-step LLM verification flows
    where only the recently added objects need to be visualised. Bridge
    only.
    
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

NameDescription
general_strategyHigh-level decision tree for driving Rhino through rhino-mcp.
rhinoscript_workflowMandatory steps before invoking rhino_execute_python.
viewport_workflowVisual verification workflow (bridge mode).
parametric_workflowIterative parametric exploration workflow (sliders, sweeps, comparisons).
bim_authoring_workflowLayer / grouping / metadata conventions for architectural authoring.
design_dialogue_workflowMulti-turn, user-in-the-loop design checkpoints.
freeform_workflowFree-form architectural authoring workflow.
drawing_documentationDrawing-set authoring workflow (sheets, views, title block, PDF).
quantity_takeoffQuantity / BOM workflow (per-layer / per-material / per-user_text).

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.4/5.0

Scored across 244 tools

Disambiguation5/5

Each tool has a distinct purpose, even with 244 tools. Overlaps are minimal and descriptions clearly differentiate them. For example, multiple boolean tools are well-separated, and viewport capture tools have specific use cases.

Naming Consistency4/5

All tools start with 'rhino_' (or 'gh_' for Grasshopper), but the verb-noun ordering is inconsistent: some use verb_noun (e.g., rhino_list_objects) while others use noun_verb (e.g., rhino_object_info). This could cause minor confusion for an LLM.

Tool Count4/5

244 tools is large, but the server covers an extremely broad domain (3D modeling, analysis, BIM, rendering, Grasshopper, etc.). Each tool has a defined role, so the count is justified, though a more focused scope might be easier to navigate.

Completeness5/5

The tool set is remarkably complete, covering creation, modification, analysis, annotation, rendering, BIM, Grasshopper integration, and utilities. It supports a full modeling workflow with few obvious gaps.

Maintenance

ActivityInactive
ResponsivenessNo issues