# Rhino MCP server

Agent View of the PolicyLayer registry record for Rhino: identity, probed posture, risk grade, and all 245 tools classified. HTML page: https://policylayer.com/tools/easehee-rhino-mcp

## Facts

- Server id: `easehee/rhino-mcp`
- Homepage: https://github.com/EaseHee/rhino-mcp
- Registry record: grade F, identity unverified
- Lifecycle: active
- Rate-limited: no
- Tools: 245
- Tool categories present: Destructive, Execute, Read, Write
- Tags: easehee rhino mcp, admin, automation
- Record last modified: 2026-06-29T17:39:02.120Z

## Tools (245)

| Tool | Category | Risk | Record |
| --- | --- | --- | --- |
| `gh_delete_component` | Destructive | Critical | https://policylayer.com/tools/easehee-rhino-mcp/gh-delete-component.md |
| `gh_reset` | Destructive | Critical | https://policylayer.com/tools/easehee-rhino-mcp/gh-reset.md |
| `rhino_bim_pset_delete` | Destructive | Critical | https://policylayer.com/tools/easehee-rhino-mcp/rhino-bim-pset-delete.md |
| `rhino_layer_delete` | Destructive | Critical | https://policylayer.com/tools/easehee-rhino-mcp/rhino-layer-delete.md |
| `rhino_object_delete` | Destructive | Critical | https://policylayer.com/tools/easehee-rhino-mcp/rhino-object-delete.md |
| `rhino_render_queue_cancel` | Destructive | Critical | https://policylayer.com/tools/easehee-rhino-mcp/rhino-render-queue-cancel.md |
| `gh_new_canvas` | Execute | High | https://policylayer.com/tools/easehee-rhino-mcp/gh-new-canvas.md |
| `gh_run` | Execute | High | https://policylayer.com/tools/easehee-rhino-mcp/gh-run.md |
| `gh_run_template` | Execute | High | https://policylayer.com/tools/easehee-rhino-mcp/gh-run-template.md |
| `rhino_annotation_scale_bar` | Execute | High | https://policylayer.com/tools/easehee-rhino-mcp/rhino-annotation-scale-bar.md |
| `rhino_attractor_displace_points` | Execute | High | https://policylayer.com/tools/easehee-rhino-mcp/rhino-attractor-displace-points.md |
| `rhino_axis_ribs` | Execute | High | https://policylayer.com/tools/easehee-rhino-mcp/rhino-axis-ribs.md |
| `rhino_batch_call` | Execute | High | https://policylayer.com/tools/easehee-rhino-mcp/rhino-batch-call.md |
| `rhino_boolean_intersection` | Execute | High | https://policylayer.com/tools/easehee-rhino-mcp/rhino-boolean-intersection.md |
| `rhino_boolean_union` | Execute | High | https://policylayer.com/tools/easehee-rhino-mcp/rhino-boolean-union.md |
| `rhino_bridge_select_instance` | Execute | High | https://policylayer.com/tools/easehee-rhino-mcp/rhino-bridge-select-instance.md |
| `rhino_display_mode_set` | Execute | High | https://policylayer.com/tools/easehee-rhino-mcp/rhino-display-mode-set.md |
| `rhino_drawing_section_cut` | Execute | High | https://policylayer.com/tools/easehee-rhino-mcp/rhino-drawing-section-cut.md |
| `rhino_execute_csharp` | Execute | High | https://policylayer.com/tools/easehee-rhino-mcp/rhino-execute-csharp.md |
| `rhino_execute_python` | Execute | High | https://policylayer.com/tools/easehee-rhino-mcp/rhino-execute-python.md |
| `rhino_mesh_boolean_union` | Execute | High | https://policylayer.com/tools/easehee-rhino-mcp/rhino-mesh-boolean-union.md |
| `rhino_network_surface` | Execute | High | https://policylayer.com/tools/easehee-rhino-mcp/rhino-network-surface.md |
| `rhino_object_select` | Execute | High | https://policylayer.com/tools/easehee-rhino-mcp/rhino-object-select.md |
| `rhino_render_queue_submit` | Execute | High | https://policylayer.com/tools/easehee-rhino-mcp/rhino-render-queue-submit.md |
| `rhino_render_to_file` | Execute | High | https://policylayer.com/tools/easehee-rhino-mcp/rhino-render-to-file.md |
| `rhino_section` | Execute | High | https://policylayer.com/tools/easehee-rhino-mcp/rhino-section.md |
| `rhino_section_at_axis` | Execute | High | https://policylayer.com/tools/easehee-rhino-mcp/rhino-section-at-axis.md |
| `rhino_shell` | Execute | High | https://policylayer.com/tools/easehee-rhino-mcp/rhino-shell.md |
| `rhino_skin_from_sections` | Execute | High | https://policylayer.com/tools/easehee-rhino-mcp/rhino-skin-from-sections.md |
| `rhino_taper` | Execute | High | https://policylayer.com/tools/easehee-rhino-mcp/rhino-taper.md |
| `rhino_turntable_render` | Execute | High | https://policylayer.com/tools/easehee-rhino-mcp/rhino-turntable-render.md |
| `rhino_view_set` | Execute | High | https://policylayer.com/tools/easehee-rhino-mcp/rhino-view-set.md |
| `rhino_zebra` | Execute | High | https://policylayer.com/tools/easehee-rhino-mcp/rhino-zebra.md |
| `rhino_zoom_extent` | Execute | High | https://policylayer.com/tools/easehee-rhino-mcp/rhino-zoom-extent.md |
| `rhino_zoom_layer` | Execute | High | https://policylayer.com/tools/easehee-rhino-mcp/rhino-zoom-layer.md |
| `rhino_zoom_object` | Execute | High | https://policylayer.com/tools/easehee-rhino-mcp/rhino-zoom-object.md |
| `gh_component_list` | Read | Low | https://policylayer.com/tools/easehee-rhino-mcp/gh-component-list.md |
| `gh_components_search` | Read | Low | https://policylayer.com/tools/easehee-rhino-mcp/gh-components-search.md |
| `gh_data_tree_get` | Read | Low | https://policylayer.com/tools/easehee-rhino-mcp/gh-data-tree-get.md |
| `gh_data_tree_get_batch` | Read | Low | https://policylayer.com/tools/easehee-rhino-mcp/gh-data-tree-get-batch.md |
| `gh_get_parameter` | Read | Low | https://policylayer.com/tools/easehee-rhino-mcp/gh-get-parameter.md |
| `gh_plugin_list` | Read | Low | https://policylayer.com/tools/easehee-rhino-mcp/gh-plugin-list.md |
| `gh_preview_toggle` | Read | Low | https://policylayer.com/tools/easehee-rhino-mcp/gh-preview-toggle.md |
| `gh_template_list` | Read | Low | https://policylayer.com/tools/easehee-rhino-mcp/gh-template-list.md |
| `rhino_area` | Read | Low | https://policylayer.com/tools/easehee-rhino-mcp/rhino-area.md |
| `rhino_bim_pset_get` | Read | Low | https://policylayer.com/tools/easehee-rhino-mcp/rhino-bim-pset-get.md |
| `rhino_block_list` | Read | Low | https://policylayer.com/tools/easehee-rhino-mcp/rhino-block-list.md |
| `rhino_bounding_box` | Read | Low | https://policylayer.com/tools/easehee-rhino-mcp/rhino-bounding-box.md |
| `rhino_bridge_list_instances` | Read | Low | https://policylayer.com/tools/easehee-rhino-mcp/rhino-bridge-list-instances.md |
| `rhino_check_naked_edges` | Read | Low | https://policylayer.com/tools/easehee-rhino-mcp/rhino-check-naked-edges.md |
| `rhino_curvature_analysis` | Read | Low | https://policylayer.com/tools/easehee-rhino-mcp/rhino-curvature-analysis.md |
| `rhino_curve_continuity` | Read | Low | https://policylayer.com/tools/easehee-rhino-mcp/rhino-curve-continuity.md |
| `rhino_curve_length` | Read | Low | https://policylayer.com/tools/easehee-rhino-mcp/rhino-curve-length.md |
| `rhino_curve_point_at` | Read | Low | https://policylayer.com/tools/easehee-rhino-mcp/rhino-curve-point-at.md |
| `rhino_direct_irradiance` | Read | Low | https://policylayer.com/tools/easehee-rhino-mcp/rhino-direct-irradiance.md |
| `rhino_distance` | Read | Low | https://policylayer.com/tools/easehee-rhino-mcp/rhino-distance.md |
| `rhino_document_summary` | Read | Low | https://policylayer.com/tools/easehee-rhino-mcp/rhino-document-summary.md |
| `rhino_document_units_get` | Read | Low | https://policylayer.com/tools/easehee-rhino-mcp/rhino-document-units-get.md |
| `rhino_drawing_view_place` | Read | Low | https://policylayer.com/tools/easehee-rhino-mcp/rhino-drawing-view-place.md |
| `rhino_dup_border` | Read | Low | https://policylayer.com/tools/easehee-rhino-mcp/rhino-dup-border.md |
| `rhino_evaluate_surface` | Read | Low | https://policylayer.com/tools/easehee-rhino-mcp/rhino-evaluate-surface.md |
| `rhino_get_control_points` | Read | Low | https://policylayer.com/tools/easehee-rhino-mcp/rhino-get-control-points.md |
| `rhino_get_module_functions` | Read | Low | https://policylayer.com/tools/easehee-rhino-mcp/rhino-get-module-functions.md |
| `rhino_get_rhinoscript_docs` | Read | Low | https://policylayer.com/tools/easehee-rhino-mcp/rhino-get-rhinoscript-docs.md |
| `rhino_get_selected_objects` | Read | Low | https://policylayer.com/tools/easehee-rhino-mcp/rhino-get-selected-objects.md |
| `rhino_get_user_text` | Read | Low | https://policylayer.com/tools/easehee-rhino-mcp/rhino-get-user-text.md |
| `rhino_layer_list` | Read | Low | https://policylayer.com/tools/easehee-rhino-mcp/rhino-layer-list.md |
| `rhino_list_objects` | Read | Low | https://policylayer.com/tools/easehee-rhino-mcp/rhino-list-objects.md |
| `rhino_list_rhinoscript_modules` | Read | Low | https://policylayer.com/tools/easehee-rhino-mcp/rhino-list-rhinoscript-modules.md |
| `rhino_material_preset_list` | Read | Low | https://policylayer.com/tools/easehee-rhino-mcp/rhino-material-preset-list.md |
| `rhino_object_info` | Read | Low | https://policylayer.com/tools/easehee-rhino-mcp/rhino-object-info.md |
| `rhino_object_quantity` | Read | Low | https://policylayer.com/tools/easehee-rhino-mcp/rhino-object-quantity.md |
| `rhino_panel_curvature_classify` | Read | Low | https://policylayer.com/tools/easehee-rhino-mcp/rhino-panel-curvature-classify.md |
| `rhino_render_queue_list` | Read | Low | https://policylayer.com/tools/easehee-rhino-mcp/rhino-render-queue-list.md |
| `rhino_render_queue_status` | Read | Low | https://policylayer.com/tools/easehee-rhino-mcp/rhino-render-queue-status.md |
| `rhino_report_mesh_health` | Read | Low | https://policylayer.com/tools/easehee-rhino-mcp/rhino-report-mesh-health.md |
| `rhino_schedule_by_layer` | Read | Low | https://policylayer.com/tools/easehee-rhino-mcp/rhino-schedule-by-layer.md |
| `rhino_schedule_by_material` | Read | Low | https://policylayer.com/tools/easehee-rhino-mcp/rhino-schedule-by-material.md |
| `rhino_schedule_by_user_text` | Read | Low | https://policylayer.com/tools/easehee-rhino-mcp/rhino-schedule-by-user-text.md |
| `rhino_screenshot` | Read | Low | https://policylayer.com/tools/easehee-rhino-mcp/rhino-screenshot.md |
| `rhino_search_rhinoscript_functions` | Read | Low | https://policylayer.com/tools/easehee-rhino-mcp/rhino-search-rhinoscript-functions.md |
| `rhino_selection_bbox` | Read | Low | https://policylayer.com/tools/easehee-rhino-mcp/rhino-selection-bbox.md |
| `rhino_sun_position` | Read | Low | https://policylayer.com/tools/easehee-rhino-mcp/rhino-sun-position.md |
| `rhino_surface_closest_point` | Read | Low | https://policylayer.com/tools/easehee-rhino-mcp/rhino-surface-closest-point.md |
| `rhino_surface_curvature_at` | Read | Low | https://policylayer.com/tools/easehee-rhino-mcp/rhino-surface-curvature-at.md |
| `rhino_surface_normal_at` | Read | Low | https://policylayer.com/tools/easehee-rhino-mcp/rhino-surface-normal-at.md |
| `rhino_tolerance_get` | Read | Low | https://policylayer.com/tools/easehee-rhino-mcp/rhino-tolerance-get.md |
| `rhino_validate_brep` | Read | Low | https://policylayer.com/tools/easehee-rhino-mcp/rhino-validate-brep.md |
| `rhino_volume` | Read | Low | https://policylayer.com/tools/easehee-rhino-mcp/rhino-volume.md |
| `gh_add_component` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/gh-add-component.md |
| `gh_bake_to_rhino` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/gh-bake-to-rhino.md |
| `gh_bind_template_parameter` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/gh-bind-template-parameter.md |
| `gh_cluster_create` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/gh-cluster-create.md |
| `gh_cluster_expand` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/gh-cluster-expand.md |
| `gh_connect_components` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/gh-connect-components.md |
| `gh_connect_many` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/gh-connect-many.md |
| `gh_data_tree_set` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/gh-data-tree-set.md |
| `gh_data_tree_set_batch` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/gh-data-tree-set-batch.md |
| `gh_load_template` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/gh-load-template.md |
| `gh_open_file` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/gh-open-file.md |
| `gh_place_slider` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/gh-place-slider.md |
| `gh_save_file` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/gh-save-file.md |
| `gh_set_panel` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/gh-set-panel.md |
| `gh_set_parameter` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/gh-set-parameter.md |
| `gh_set_slider` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/gh-set-slider.md |
| `gh_set_toggle` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/gh-set-toggle.md |
| `rhino_annotation_callout` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-annotation-callout.md |
| `rhino_annotation_dimension_style` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-annotation-dimension-style.md |
| `rhino_annotation_north_arrow` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-annotation-north-arrow.md |
| `rhino_annotation_revision_cloud` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-annotation-revision-cloud.md |
| `rhino_arc` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-arc.md |
| `rhino_array_linear` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-array-linear.md |
| `rhino_array_polar` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-array-polar.md |
| `rhino_array_rectangular` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-array-rectangular.md |
| `rhino_batch_modify` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-batch-modify.md |
| `rhino_bend` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-bend.md |
| `rhino_bim_metadata_set` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-bim-metadata-set.md |
| `rhino_bim_pset_set` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-bim-pset-set.md |
| `rhino_blend_surface` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-blend-surface.md |
| `rhino_blend_surface_edges` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-blend-surface-edges.md |
| `rhino_block_define` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-block-define.md |
| `rhino_block_explode` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-block-explode.md |
| `rhino_block_insert` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-block-insert.md |
| `rhino_block_redefine` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-block-redefine.md |
| `rhino_boolean_difference` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-boolean-difference.md |
| `rhino_box` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-box.md |
| `rhino_cage_edit` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-cage-edit.md |
| `rhino_camera_set` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-camera-set.md |
| `rhino_cap_holes` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-cap-holes.md |
| `rhino_circle` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-circle.md |
| `rhino_clipping_plane` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-clipping-plane.md |
| `rhino_cone` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-cone.md |
| `rhino_contour` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-contour.md |
| `rhino_create_subd` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-create-subd.md |
| `rhino_create_uv_grid` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-create-uv-grid.md |
| `rhino_curve_split` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-curve-split.md |
| `rhino_cylinder` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-cylinder.md |
| `rhino_daylight_factor` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-daylight-factor.md |
| `rhino_dimension_aligned` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-dimension-aligned.md |
| `rhino_dimension_angular` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-dimension-angular.md |
| `rhino_dimension_linear` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-dimension-linear.md |
| `rhino_document_settings` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-document-settings.md |
| `rhino_document_units_set` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-document-units-set.md |
| `rhino_draft_angle` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-draft-angle.md |
| `rhino_drawing_export_pdf` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-drawing-export-pdf.md |
| `rhino_drawing_sheet_create` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-drawing-sheet-create.md |
| `rhino_drawing_title_block_add` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-drawing-title-block-add.md |
| `rhino_dup_edge` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-dup-edge.md |
| `rhino_ellipse` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-ellipse.md |
| `rhino_environment_set` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-environment-set.md |
| `rhino_export_dxf` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-export-dxf.md |
| `rhino_export_gbxml` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-export-gbxml.md |
| `rhino_export_ifc` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-export-ifc.md |
| `rhino_export_iges` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-export-iges.md |
| `rhino_export_obj` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-export-obj.md |
| `rhino_export_step` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-export-step.md |
| `rhino_export_stl` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-export-stl.md |
| `rhino_extrude` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-extrude.md |
| `rhino_fillet_surface` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-fillet-surface.md |
| `rhino_flow` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-flow.md |
| `rhino_flow_along_curve` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-flow-along-curve.md |
| `rhino_group` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-group.md |
| `rhino_hatch` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-hatch.md |
| `rhino_helix` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-helix.md |
| `rhino_import` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-import.md |
| `rhino_import_ifc` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-import-ifc.md |
| `rhino_interpolate_curve` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-interpolate-curve.md |
| `rhino_isocurve` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-isocurve.md |
| `rhino_layer_create` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-layer-create.md |
| `rhino_layer_set_color` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-layer-set-color.md |
| `rhino_layer_set_material` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-layer-set-material.md |
| `rhino_leader` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-leader.md |
| `rhino_light_add` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-light-add.md |
| `rhino_line` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-line.md |
| `rhino_loft` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-loft.md |
| `rhino_make2d` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-make2d.md |
| `rhino_match_surface` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-match-surface.md |
| `rhino_material_assign` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-material-assign.md |
| `rhino_material_create` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-material-create.md |
| `rhino_material_preset_create` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-material-preset-create.md |
| `rhino_merge_surfaces` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-merge-surfaces.md |
| `rhino_mesh_boolean_difference` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-mesh-boolean-difference.md |
| `rhino_mesh_box` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-mesh-box.md |
| `rhino_mesh_from_brep` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-mesh-from-brep.md |
| `rhino_mesh_from_surface` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-mesh-from-surface.md |
| `rhino_mirror` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-mirror.md |
| `rhino_move` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-move.md |
| `rhino_named_view_save` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-named-view-save.md |
| `rhino_nurbs_curve` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-nurbs-curve.md |
| `rhino_object_move_to_layer` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-object-move-to-layer.md |
| `rhino_offset_surface` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-offset-surface.md |
| `rhino_open` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-open.md |
| `rhino_orient` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-orient.md |
| `rhino_origin_set` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-origin-set.md |
| `rhino_panel_frames` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-panel-frames.md |
| `rhino_panel_planarity` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-panel-planarity.md |
| `rhino_panelize_surface` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-panelize-surface.md |
| `rhino_patch` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-patch.md |
| `rhino_place_grid` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-place-grid.md |
| `rhino_plane_surface` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-plane-surface.md |
| `rhino_point` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-point.md |
| `rhino_polygon` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-polygon.md |
| `rhino_polyline` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-polyline.md |
| `rhino_probe_intersection` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-probe-intersection.md |
| `rhino_rebuild_curve` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-rebuild-curve.md |
| `rhino_rebuild_surface` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-rebuild-surface.md |
| `rhino_rectangle` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-rectangle.md |
| `rhino_redo` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-redo.md |
| `rhino_reduce_mesh` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-reduce-mesh.md |
| `rhino_render_setup` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-render-setup.md |
| `rhino_render_viewport` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-render-viewport.md |
| `rhino_replicate_along_curve` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-replicate-along-curve.md |
| `rhino_revolve` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-revolve.md |
| `rhino_rotate` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-rotate.md |
| `rhino_save` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-save.md |
| `rhino_scale` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-scale.md |
| `rhino_scatter` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-scatter.md |
| `rhino_schedule_export_csv` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-schedule-export-csv.md |
| `rhino_set_control_points` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-set-control-points.md |
| `rhino_set_user_text` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-set-user-text.md |
| `rhino_shadow_project` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-shadow-project.md |
| `rhino_smooth_polyline` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-smooth-polyline.md |
| `rhino_solar_exposure_estimate` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-solar-exposure-estimate.md |
| `rhino_sphere` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-sphere.md |
| `rhino_spiral` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-spiral.md |
| `rhino_stack_floors` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-stack-floors.md |
| `rhino_subd_to_nurbs` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-subd-to-nurbs.md |
| `rhino_sun_path` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-sun-path.md |
| `rhino_surface_developable_score` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-surface-developable-score.md |
| `rhino_surface_from_points` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-surface-from-points.md |
| `rhino_sweep1` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-sweep1.md |
| `rhino_sweep2` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-sweep2.md |
| `rhino_text` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-text.md |
| `rhino_text_dot` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-text-dot.md |
| `rhino_tolerance_set` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-tolerance-set.md |
| `rhino_torus` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-torus.md |
| `rhino_turntable` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-turntable.md |
| `rhino_twist` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-twist.md |
| `rhino_undo` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-undo.md |
| `rhino_unroll` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-unroll.md |
| `rhino_unweld_mesh` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-unweld-mesh.md |
| `rhino_uv_grid_panels` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-uv-grid-panels.md |
| `rhino_viewport_image` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-viewport-image.md |
| `rhino_viewport_preview` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-viewport-preview.md |
| `rhino_weld_mesh` | Write | Medium | https://policylayer.com/tools/easehee-rhino-mcp/rhino-weld-mesh.md |

## Tool descriptions

- `gh_delete_component` — Remove a component from the canvas.
- `gh_reset` — Reset the canvas (clear cached solution).
- `rhino_bim_pset_delete` — Remove every property under a named PropertySet from an object.
- `rhino_layer_delete` — Delete a layer by name (in standalone mode the layer is hidden + name-prefixed).
- `rhino_object_delete` — Delete the given objects from the document.
- `rhino_render_queue_cancel` — Cancel a running or queued render job.
- `gh_new_canvas` — Create a fresh empty Grasshopper canvas.
- `gh_run` — Run the current solution.
- `gh_run_template` — Force a fresh solution and (optionally) bake the declared outputs.
- `rhino_annotation_scale_bar` — Draw a divided scale bar with a label.
- `rhino_axis_ribs` — Generate two orthogonal sets of section ribs (waffle-style fabrication, bridge only).
- `rhino_boolean_intersection` — Intersect a_ids with b_ids. Bridge required.
- `rhino_boolean_union` — Boolean-union the given Brep groups. Bridge required.
- `rhino_display_mode_set` — Switch the active viewport's display mode.
- `rhino_drawing_section_cut` — Cut a section through objects with a plane and place the trace on a sheet (bridge only).
- `rhino_mesh_boolean_union` — Boolean-union meshes.
- `rhino_network_surface` — Build a surface from a network of crossing curves.
- `rhino_render_to_file` — Execute the configured render and write the result to output_path.
- `rhino_section` — Slice the listed objects with a plane (bridge required).
- `rhino_section_at_axis` — Slice a surface (or Brep / mesh in bridge) into count section curves.
- `rhino_shell` — Hollow a closed Brep, optionally leaving the listed faces open.
- `rhino_taper` — Taper objects along an axis with start/end radii.
- `rhino_turntable_render` — Render a turntable sequence (camera orbits around target) to output_dir.
- `rhino_view_set` — Activate a saved named view.
- `rhino_zebra` — Run zebra-stripe surface continuity analysis (bridge required).
- `rhino_zoom_extent` — Zoom the active view to the extent of selected (or all) objects.
- `rhino_zoom_layer` — Zoom the active viewport to fit every object on layer.
- `rhino_zoom_object` — Zoom the active viewport to fit the given object ids exactly.
- `gh_component_list` — List components currently on the active canvas (optionally filtered).
- `gh_data_tree_get` — Read a component output as a DataTree (list of branches).
- `gh_data_tree_get_batch` — Read multiple component outputs in a single bridge round-trip.
- `gh_get_parameter` — Read the current value of a component parameter.
- `gh_preview_toggle` — Toggle preview on/off for a list of components (or all).
- `gh_template_list` — List bundled Grasshopper templates with their parameter contracts.
- `rhino_area` — Compute the surface area of a mesh (Brep area requires bridge).
- `rhino_bim_pset_get` — Read PropertySet entries off an object.
- `rhino_block_list` — List every block definition with a per-definition object + instance count.
- `rhino_bounding_box` — Return the union bounding box of one or more objects.
- `rhino_bridge_list_instances` — Enumerate live Rhino bridge endpoints discovered via announcement files.
- `rhino_check_naked_edges` — Enumerate naked edges of a Brep with their lengths (bridge only).
- `rhino_curvature_analysis` — Sample Gaussian/mean curvature of a surface (bridge required).
- `rhino_curve_continuity` — Curve sanity — span count, closed flag, planarity, periodic, validity log.
- `rhino_curve_length` — Return the curve's parametric domain and approximate length.
- `rhino_curve_point_at` — Evaluate position and tangent at a parameter on the curve.
- `rhino_direct_irradiance` — Direct Normal Irradiance (W/m^2) clear-sky estimate via Bird + Kasten-Young air mass.
- `rhino_distance` — Euclidean distance between two points.
- `rhino_document_summary` — Get a high-level summary of the document (object counts, layers, etc.).
- `rhino_document_units_get` — Read the current document unit system.
- `rhino_drawing_view_place` — Project objects to a 2-D view (Make2D) and place the result on a sheet (bridge only).
- `rhino_dup_border` — Extract border curves from a surface or mesh.
- `rhino_evaluate_surface` — Evaluate a surface at UV parameters to get 3D point, normal, and tangents.
- `rhino_get_control_points` — Get all control points (and weights) of a NURBS curve or surface.
- `rhino_get_module_functions` — Get all functions in a specific RhinoScript module with signatures.
- `rhino_get_rhinoscript_docs` — Get comprehensive RhinoScript documentation for a topic.
- `rhino_get_selected_objects` — Get information about the currently selected objects in Rhino.
- `rhino_get_user_text` — Read user text (key-value metadata) attached to an object.
- `rhino_layer_list` — List all layers with their properties (color, visibility, object count).
- `rhino_list_rhinoscript_modules` — List all available RhinoScript modules with function counts.
- `rhino_material_preset_list` — List physical-material presets bundled with rhino-mcp.
- `rhino_object_info` — Get detailed info about a single object (geometry type, layer, bbox, etc.).
- `rhino_object_quantity` — Per-object measurement table — one row per object_id with the requested fields.
- `rhino_panel_curvature_classify` — Classify each UxV panel by curvature class (planar / single_* / synclastic / anticlastic).
- `rhino_render_queue_list` — List recent render jobs and their progress.
- `rhino_render_queue_status` — Inspect a queued render job's status, progress, and completed frames.
- `rhino_report_mesh_health` — Mesh health — closed, manifold, vertex/face counts, validity log.
- `rhino_schedule_by_layer` — Aggregate objects per layer with optional filter and sublayer merging.
- `rhino_schedule_by_material` — Aggregate objects grouped by assigned material name.
- `rhino_schedule_by_user_text` — Aggregate objects grouping by user_text[group_key] value.
- `rhino_screenshot` — Capture a viewport screenshot (bridge required).
- `rhino_selection_bbox` — Return the union bounding box of all objects in the document.
- `rhino_sun_position` — Compute solar azimuth + altitude for a location/time. Pure calculation, no doc edits.
- `rhino_surface_closest_point` — Find the UV parameters and 3D point closest to a test point on a surface.
- `rhino_surface_curvature_at` — Evaluate true Gaussian / mean / principal curvatures at (u, v) (bridge only).
- `rhino_surface_normal_at` — Evaluate the surface unit normal at a normalised (u, v).
- `rhino_tolerance_get` — Read absolute / angle / relative model tolerances.
- `rhino_validate_brep` — Validate a Brep — closed/solid/manifold, face/edge counts, log of issues.
- `rhino_volume` — Compute the volume of a closed mesh (Brep volume requires bridge).
- `gh_add_component` — Drop a Grasshopper component onto the active canvas.
- `gh_bake_to_rhino` — Bake the output of one or more components into the active Rhino document.
- `gh_bind_template_parameter` — Set a single named parameter on a loaded template (slider / panel / toggle).
- `gh_cluster_create` — Group components into a named cluster.
- `gh_cluster_expand` — Expand a cluster back into its constituent components.
- `gh_connect_components` — Create a wire from one component output to another component input.
- `gh_connect_many` — Add multiple wires in a single round-trip.
- `gh_data_tree_set` — Push a DataTree into a component input.
- `gh_load_template` — Open a bundled template on the canvas and return its template_id + parameter map.
- `gh_open_file` — Open a Grasshopper definition.
- `gh_place_slider` — Create a Number Slider on the canvas with bounds and initial value.
- `gh_save_file` — Save the active Grasshopper definition.
- `gh_set_panel` — Set the text contents of a Panel component.
- `gh_set_parameter` — Push a value into a component parameter.
- `gh_set_slider` — Set a Number Slider component to a numeric value.
- `gh_set_toggle` — Set a Boolean Toggle component to true or false.
- `rhino_annotation_callout` — Add a callout (leader + balloon or boxed label).
- `rhino_annotation_dimension_style` — Register a reusable dimension style (bridge only — Rhino DimStyle table).
- `rhino_annotation_north_arrow` — Draw a north arrow centred on location.
- `rhino_annotation_revision_cloud` — Draw a revision cloud (bumpy polyline) around a region of interest with a revision label.
- `rhino_arc` — Add an arc by centre, radius, and sweep angle (in degrees).
- `rhino_array_linear` — Array objects along a vector with constant spacing.
- `rhino_array_polar` — Array objects in a polar pattern.
- `rhino_array_rectangular` — Array objects in a 3D rectangular grid.
- `rhino_bend` — Bend objects along an axis through a specified point.
- `rhino_bim_metadata_set` — Tag objects with IFC entity + property-set metadata.
- `rhino_bim_pset_set` — Persist a PropertySet block on an object.
- `rhino_blend_surface` — Create a blend surface between two edges.
- `rhino_blend_surface_edges` — Create a blend surface connecting two surface edges with continuity control.
- `rhino_block_explode` — Explode a block instance into individual objects (bridge only).
- `rhino_block_redefine` — Replace a block definition's geometry, propagating to every instance (bridge only).
- `rhino_boolean_difference` — Subtract b_ids from a_ids. Bridge required.
- `rhino_box` — Add a rectangular box (axis-aligned in standalone mode).
- `rhino_cage_edit` — Deform objects with a control cage (bridge only).
- `rhino_camera_set` — Position the active viewport's camera (location + target + lens length).
- `rhino_cap_holes` — Cap all open holes of a Brep.
- `rhino_circle` — Add a circle by centre and radius (optionally on a custom plane).
- `rhino_clipping_plane` — Add a clipping plane to all viewports.
- `rhino_cone` — Add a cone primitive (bridge required for non-Z axes).
- `rhino_contour` — Generate equally spaced section curves (bridge required).
- `rhino_create_subd` — Create a SubD object from an existing mesh.
- `rhino_create_uv_grid` — Create a point grid on a surface at even UV intervals.
- `rhino_curve_split` — Split a curve at the given parameters; original is preserved.
- `rhino_cylinder` — Add a cylinder; in standalone mode the axis must be world Z.
- `rhino_daylight_factor` — BRE simplified daylight factor for a side-lit room.
- `rhino_dimension_aligned` — Add an aligned dimension between two points.
- `rhino_dimension_angular` — Add an angular dimension at a vertex.
- `rhino_dimension_linear` — Add a linear dimension between two points.
- `rhino_document_settings` — Bundled units / tolerances / base point in one call.
- `rhino_document_units_set` — Set the document unit system, optionally scaling existing geometry.
- `rhino_draft_angle` — Compute draft angles relative to the world Z axis (bridge required).
- `rhino_drawing_export_pdf` — Export a sheet to PDF (bridge only).
- `rhino_drawing_title_block_add` — Add the bottom-right title block, north arrow, and scale bar to a sheet.
- `rhino_dup_edge` — Extract edge curves from a Brep (all or specific indices).
- `rhino_ellipse` — Add an ellipse on the world XY plane (rhino3dm builds it as a NURBS approximation).
- `rhino_environment_set` — Attach an HDRI/EXR environment used for lighting + background (bridge only).
- `rhino_export_dxf` — Export to DXF (bridge required).
- `rhino_export_gbxml` — Export thermal / structural BIM payload to gbXML (bridge only).
- `rhino_export_ifc` — Export the active document (or a subset) to IFC2x3 / IFC4 / IFC4x3 (bridge only).
- `rhino_export_iges` — Export to IGES (bridge required).
- `rhino_export_obj` — Export selected (or all) objects to a Wavefront OBJ file (mesh-only).
- `rhino_export_step` — Export to STEP (bridge required).
- `rhino_export_stl` — Export meshes to an ASCII STL file.
- `rhino_extrude` — Linearly extrude a profile curve by distance along direction.
- `rhino_fillet_surface` — Create a constant-radius fillet between two surfaces.
- `rhino_flow` — Flow objects from one curve onto another (bridge only).
- `rhino_flow_along_curve` — Reposition objects from a base curve onto a target curve.
- `rhino_group` — Group objects together under a (named) group.
- `rhino_hatch` — Add a hatch over the given closed curves.
- `rhino_helix` — Add a helix sampled into a NURBS curve.
- `rhino_import` — Import an external file into the active document (bridge required for non-3DM).
- `rhino_import_ifc` — Import an IFC file, mapping each entity to a layer under target_layer_root (bridge only).
- `rhino_interpolate_curve` — Add an interpolated NURBS curve passing through the given points.
- `rhino_isocurve` — Extract an isocurve from a surface at a specific U or V parameter.
- `rhino_layer_create` — Create a layer with optional colour and visibility.
- `rhino_layer_set_color` — Change a layer's display colour.
- `rhino_layer_set_material` — Bind a render material to a layer so layer-source objects inherit it.
- `rhino_leader` — Add a multi-point leader (with optional text).
- `rhino_light_add` — Add a point / spot / directional / rectangular / linear light to the document.
- `rhino_line` — Add a line between two points.
- `rhino_loft` — Loft a sequence of profile curves into a surface.
- `rhino_make2d` — Generate a 2D drawing projection of 3D objects.
- `rhino_match_surface` — Adjust a surface edge to match the continuity of a target surface.
- `rhino_material_assign` — Assign an existing material to one or more objects.
- `rhino_material_create` — Create a material with diffuse colour, transparency, and glossiness.
- `rhino_material_preset_create` — Create a document material from a bundled physical preset.
- `rhino_merge_surfaces` — Merge multiple surfaces into a single surface.
- `rhino_mesh_boolean_difference` — Boolean-difference meshes (a - b).
- `rhino_mesh_box` — Add a quad mesh box with the given subdivisions.
- `rhino_mesh_from_brep` — Mesh a Brep (bridge only).
- `rhino_mesh_from_surface` — Mesh a surface (bridge only).
- `rhino_mirror` — Mirror objects across a plane (copies by default).
- `rhino_move` — Translate (or copy) the given objects by a vector.
- `rhino_named_view_save` — Save the current camera as a named view.
- `rhino_nurbs_curve` — Add a NURBS curve from a control polygon.
- `rhino_object_move_to_layer` — Reassign one or more objects to a different layer (creating it if absent).
- `rhino_offset_surface` — Offset a surface by distance along its normal.
- `rhino_open` — Open a .3dm file and bind it to a doc_id.
- `rhino_orient` — Orient objects from one plane to another (PlaneToPlane transform).
- `rhino_origin_set` — Set the model base point.
- `rhino_panel_frames` — Generate oriented frames (planes) at panel centres for construction.
- `rhino_panelize_surface` — Subdivide a surface into panels (quad, triangle, or diamond).
- `rhino_patch` — Patch a region defined by boundary curves.
- `rhino_place_grid` — Replicate a source object on a count_x x count_y grid with given spacing.
- `rhino_plane_surface` — Add a finite plane (rectangular trim) on the given plane.
- `rhino_point` — Add a single point to the document.
- `rhino_polygon` — Add a regular polygon (inscribed or circumscribed) on the XY plane.
- `rhino_polyline` — Add a polyline through the given points; optionally closed.
- `rhino_probe_intersection` — Cast a ray and report intersection points against Breps/Extrusions.
- `rhino_rebuild_curve` — Rebuild an existing curve with a new point count and degree.
- `rhino_rebuild_surface` — Rebuild a surface with new point counts and degrees in U/V.
- `rhino_rectangle` — Add a rectangle as a closed polyline on the XY plane.
- `rhino_redo` — Redo the last undone operation(s) in the Rhino document.
- `rhino_reduce_mesh` — Reduce a mesh to a target face count.
- `rhino_render_setup` — Set render resolution / samples / engine / transparency on the active render context.
- `rhino_render_viewport` — Render the active viewport to an image file (bridge required).
- `rhino_revolve` — Revolve a profile curve about an axis.
- `rhino_rotate` — Rotate objects about an axis through a centre point.
- `rhino_save` — Write the document to disk.
- `rhino_scale` — Scale objects non-uniformly about a centre.
- `rhino_scatter` — Scatter count copies of a source inside a 2-D AABB with optional Z-rotation jitter.
- `rhino_schedule_export_csv` — Write rows produced by any rhino_schedule_* tool to CSV.
- `rhino_set_control_points` — Replace control points of a NURBS curve or surface.
- `rhino_set_user_text` — Attach a key-value user text entry to an object.
- `rhino_shadow_project` — Project objects' bounding-box corners along sun_vector to the ground plane.
- `rhino_sphere` — Add a sphere primitive.
- `rhino_spiral` — Add a tapered spiral sampled into a NURBS curve.
- `rhino_stack_floors` — Replicate a source object N times along world +Z with constant spacing.
- `rhino_subd_to_nurbs` — Convert a SubD object to a NURBS polysurface (Brep).
- `rhino_sun_path` — Draw monthly sun-path polylines on a hemisphere of given radius around center_point.
- `rhino_surface_from_points` — Create a NURBS surface from a 2D grid of control points.
- `rhino_sweep1` — Sweep profiles along a single rail.
- `rhino_sweep2` — Sweep profiles along two rails.
- `rhino_text` — Add 3D text annotation. Bridge mode honours the active dim style; standalone uses text-dot fallback.
- `rhino_text_dot` — Add a small label that always faces the camera in Rhino.
- `rhino_tolerance_set` — Set absolute / angle / (optional) relative tolerances on the document.
- `rhino_torus` — Add a torus primitive (mesh approximation in standalone mode).
- `rhino_turntable` — Render a turntable animation to output_path (PNG sequence or GIF).
- `rhino_twist` — Twist objects around an axis by a specified angle.
- `rhino_undo` — Undo the last operation(s) in the Rhino document.
- `rhino_unroll` — Unroll a developable surface or polysurface flat.
- `rhino_unweld_mesh` — Unweld vertices to break mesh smoothing.
- `rhino_viewport_image` — Save the current viewport pixels to a PNG file.
- `rhino_weld_mesh` — Weld coincident vertices in a mesh.

## Related servers

- UnClick (1658 tools) — https://policylayer.com/tools/io-github-malamutemayhem-unclick-mcp-server.md
- Nodebench (824 tools) — https://policylayer.com/tools/io-github-homenshum-nodebench.md
- Yaver (812 tools) — https://policylayer.com/tools/io-github-kivanccakmak-yaver.md
- Binance MCP Server (734 tools) — https://policylayer.com/tools/nirholas-binance-mcp.md
- Crow (587 tools) — https://policylayer.com/tools/kh0pper-crow.md
- Fortimanager (584 tools) — https://policylayer.com/tools/jmpijll-fortimanager-mcp.md
- TinyFn (572 tools) — https://policylayer.com/tools/io-tinyfn-tinyfn.md
- Mcp (571 tools) — https://policylayer.com/tools/io-github-2s-io-mcp.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=easehee-rhino-mcp · API: https://policylayer.com/registry/api · Recommended policies for every tool: https://policylayer.com/policies/easehee-rhino-mcp
