All MCPsRhino MCP
3D Modeling

Rhino MCP

This Rhino MCP server, a community project, covers both Rhino 8 and Grasshopper. On the Rhino side: geometry creation and editing, loft, extrude, sweep, booleans, layers, measurement, and viewport capture. On the Grasshopper side: component search, wiring, slider control, and solving the definition.

When to use it

Useful for modeling in Rhino from natural-language descriptions, or having a Grasshopper definition built without wiring it by hand.

Third-party projects · manually verified · not maintained by Educasium

RhinoMCP connects Rhino 8 and Grasshopper to AI agents through the Model Context Protocol. The jingcheng-chen/rhinomcp repository presents it as an integration for creating geometry, reading the Rhino document, capturing the viewport, and building Grasshopper definitions through conversation. During the GitHub check on August 26, 2026, the repository was MIT licensed, had 1,005 stars and 94 forks, and the server package declared version 0.3.2.

For Educasium, this connector deserves a separate page because it covers two strong teaching uses: classic Rhino modeling and Grasshopper automation. It should not be confused with Rhino MCP (McNeel), which is Rhino's publisher-led official initiative. RhinoMCP is a rich and documented community project, but it also exposes sensitive execution surfaces such as native Rhino commands, RhinoScript-Python, and RhinoCommon C#.

Contents

  1. What RhinoMCP does
  2. Installation and architecture
  3. Exposed Rhino tools
  4. Exposed Grasshopper tools
  5. Comparison with McNeel Rhino MCP, Blender, and Houdini
  6. Security and limits
  7. Educasium position

What RhinoMCP does

Key point: RhinoMCP turns Rhino 8 into an environment controllable by an MCP client, with scene reading, geometry creation, and Grasshopper automation. Its strength is covering both Rhino and Grasshopper in one integration.

Rhino and Grasshopper through one bridge

The README says the assistant can build in Rhino from a natural-language description, read the open document, and capture the viewport for visual feedback. On the Rhino side, the capability table covers points, lines, polylines, circles, arcs, ellipses, curves, boxes, spheres, cones, cylinders, surfaces, transformations, colors, renaming, deletion, loft, extrusion, sweep, offset, pipe, booleans, layers, measurements, and filtered selection.

On the Grasshopper side, the same README says the assistant can search installed components, inspect inputs and outputs, add and position components, connect or disconnect parameters, drive sliders, toggles, panels, and value lists, run the solution, and surface warnings or errors. That coverage matters for architecture and parametric design schools because it makes the graph visible instead of producing only a final object.

A community project, not McNeel's official tool

The repository disclaimer says this is a third-party integration and is not made by McNeel. That distinction should stay clear. RhinoMCP being well documented does not change its status: it is a community project maintained on GitHub, not a publisher support guarantee.

That nuance helps the Educasium reader. A school can study it as a concrete example of an MCP bridge into Rhino. A studio can test it for internal prototyping. But a deployment decision should compare this option with McNeel's official integration, IT policies, Rhino versions, and tolerance for code executed on the creative workstation.

Installation and architecture

Key point: installation goes through Rhino Package Manager for the plugin, then a Python server launched with uvx rhinomcp on the AI client side. The Rhino bridge is then started with the mcpstart command inside Rhino.

Verified install flow

The README targets Rhino 8 on Windows and macOS. To install the plugin, it says to open Tools, Package Manager, search for rhinomcp, install, then restart Rhino. On the MCP client side, the documentation gives examples for Codex, Claude Code, and manual configuration. The Codex example adds a server named rhino with RHINO_MCP_HOST=127.0.0.1 and the uvx rhinomcp command.

Startup inside Rhino then uses mcpstart in the Rhino command line. The same README says mcpstop ends the bridge. This step is easy to miss: if the Python server is running but mcpstart has not been launched in Rhino, the MCP client cannot control the software.

Local architecture

The README diagram describes a local chain: AI client to Python rhinomcp over MCP stdio, then TCP to the Rhino plugin on 127.0.0.1:1999, then Rhino and Grasshopper. The repository folders confirm that separation: server contains the Python FastMCP server, plugin contains the RhinoCommon C# plugin, and contracts contains JSON Schemas that keep the protocol in sync between the two layers.

The server pyproject declares Python 3.10 or newer, the name rhinomcp, version 0.3.2, MIT license, and a dependency on mcp[cli] >=1.16.0. Development dependencies include jsonschema, pytest, pytest-cov, pytest-asyncio, and ruff. The README also says the Python tests use a mock server and do not require Rhino, which helps verify part of the behavior without launching the application.

Exposed Rhino tools

Key point: RhinoMCP exposes concrete tools for creating, modifying, analyzing, and organizing Rhino geometry. Coverage goes beyond primitives, but advanced operations still need visual checks.

Geometry and editing

The README reference lists create_object and create_objects for creating one or many objects, modify_object and modify_objects for transforming or editing, delete_object for deletion, and boolean_union, boolean_difference, and boolean_intersection. It also includes loft, extrude_curve, sweep1, offset_curve, and pipe for advanced modeling, then project_curve, intersect_curves, and split_curve for curve operations.

The verified server modules confirm that organization: create_object.py, create_objects.py, modify_object.py, modify_objects.py, advanced_geometry.py, boolean_operations.py, curve_operations.py, measure_objects.py, analyze_objects.py, and section_profile.py exist under server/src/rhinomcp/tools. For Educasium, those tools support graduated exercises: simple primitive, transformation, boolean operation, measurement, then comparison between expected and actual output.

Document, layers, and visual feedback

RhinoMCP also exposes create_layer, delete_layer, get_or_set_current_layer, get_document_summary, get_objects, get_object_info, get_selected_objects_info, get_object_attributes, update_object_attributes, and select_objects. The README says select_objects can filter by name, color, or category, with AND or OR logic. capture_viewport gives the model visual feedback about what is actually displayed.

That last point matters. Many AI integrations fail because they act without seeing the result. Viewport capture does not replace human review, but it enables a more reliable loop: create, read, capture, correct. For a course, it is a good basis for explaining how an agent can work with graphical software without being omniscient.

Exposed Grasshopper tools

Key point: RhinoMCP is not limited to Rhino; it exposes a full Grasshopper layer for searching, placing, wiring, solving, and mutating graphs. This is the most distinctive part for parametric workflows.

Building and inspecting a canvas

The Grasshopper reference includes gh_create_document, gh_get_document_info, gh_get_canvas_state, gh_search_components, gh_batch_search_components, gh_list_component_categories, gh_get_available_components, gh_get_component_type_info, gh_get_component_info, gh_list_components, gh_add_component, gh_update_component, gh_delete_component, and gh_layout_components. It therefore covers document creation, component search, adding, updating, deleting, and canvas organization.

In training, that granularity is useful. The assistant can explain why it chooses a component, inspect its inputs, place it, and organize the graph. The learner sees not just the result, but the parametric logic. That fits Grasshopper education better than opaque object generation.

Wiring, parameters, and solving

RhinoMCP exposes gh_connect_components, gh_disconnect_components, gh_set_parameter_value, gh_get_parameter_value, gh_run_solution, gh_expire_solution, gh_build_graph, gh_mutate_graph, gh_get_graph, and gh_clear_graph. The README says the assistant can also drive sliders, toggles, panels, and value lists, then read structured output data.

That coverage enables ambitious demos: build a point attractor, vary cylinder heights, modify a slider, rerun the solution, and read warnings. It does not remove the need to understand Grasshopper. A graph can technically work and still be wrong for the architectural goal, performance, or maintainability.

Comparison with McNeel Rhino MCP, Blender, and Houdini

Key point: RhinoMCP is the rich, scriptable community option; McNeel Rhino MCP is the official option to evaluate separately. The right choice depends on acceptable risk, environment, and training type.

OptionNatural useMain strengthLimit to watch
Community RhinoMCPRhino 8, Grasshopper, scripts, parametric prototypingDetailed Rhino + Grasshopper coverageThird-party project not made by McNeel
McNeel Rhino MCPOfficial publisher integrationMcNeel legitimacy and documentationTechnical details live in the official docs
Blender MCP3D introduction and free prototypingAccessibility and open-source ecosystemLess focused on NURBS and Grasshopper
Houdini MCPProcedural graphs, wrangles, VFXAdvanced node-based logicCode execution and local server need controls

Choosing by context

For a school teaching Rhino and Grasshopper, community RhinoMCP offers strong teaching material because the tool reference is explicit. For a firm or studio with strict IT constraints, McNeel's official option may be more reassuring, though it still needs to be evaluated on its own capabilities and limits.

For a creative AI discovery workshop, Blender is often easier to deploy because the software is free. For a Houdini audience, the topic is not design geometry but procedural graphs, wrangles, and cooking. RhinoMCP sits in the middle: highly relevant for design, architecture, product, and parametric work.

Security and limits

Key point: RhinoMCP talks to Rhino over an unauthenticated TCP loopback link and exposes tools that can execute commands and code. The README explicitly recommends not exposing it beyond loopback without authentication.

Execution surface

The README security section names run_command, execute_rhinoscript_python_code, and execute_rhinocommon_csharp_code as open execution surfaces inside Rhino. That is useful for advanced operations, but it is also the main risk point. An assistant that can launch a Rhino command, execute Python, or execute C# acts inside a local application context.

The README documents environment variables to reduce that surface. RHINO_MCP_ENABLE_RUN_COMMAND can disable run_command, RHINO_MCP_ENABLE_RHINOSCRIPT can disable RhinoScript-Python, RHINO_MCP_ENABLE_CSHARP can disable C#, RHINO_MCP_VALIDATE can set schema validation to off, warn, or strict, and RHINO_MCP_TIMEOUT controls the socket timeout. That documentation is a positive signal: the project gives operator switches, not only capabilities.

Practical limits

The bridge is local and depends on only one RhinoMCP server running at a time. The README says not to run several servers at once, whether from Codex, Claude, Cursor, or another client. Rhino also needs to be open and mcpstart must have been executed in the session.

Viewport capture helps the model see the result, but it does not guarantee model conformity. A shape can look right and still be technically imprecise; a Grasshopper definition can produce the expected output and still be hard to maintain. Professional deliverables should therefore keep domain review, measurement, and manual validation steps.

Educasium position

Key point: Educasium can present RhinoMCP as an excellent case study for teaching AI applied to Rhino and Grasshopper, without selling it as risk-free automation. Its teaching value comes from combining geometry, parametrics, inspection, and security.

For training

An Educasium workshop could start with the minimum loop: open Rhino 8, install the plugin, run mcpstart, request get_document_summary, create a few objects, capture the viewport, and measure volumes or surfaces. Then it can move to Grasshopper: search components, build a small graph, adjust a slider, run the solution, and inspect errors.

That progression teaches method as much as tooling. Learners see how to formulate a request, verify what was created, limit code execution, and take control back. For architecture, product design, and digital fabrication, this is more useful than a demo that hides the graph.

Logical next step

The logical next step is a practical comparison between community RhinoMCP and Rhino MCP McNeel: same task, same scene, same security criteria, and same result checks. Educasium can then recommend a path by context: exploratory training, advanced studio, firm with strict IT policy, or intensive Grasshopper use.

Frequently asked questions

Does RhinoMCP work with Rhino 7?

The verified README targets Rhino 8 on Windows and macOS. It does not present Rhino 7 as a supported target. Before training or deployment, check the installed Rhino version, install the plugin through Package Manager, and test mcpstart on a simple scene.

Does RhinoMCP cover Grasshopper?

Yes. The README lists tools for creating a Grasshopper document, reading the canvas, searching components, adding and updating them, wiring them, setting parameters, running the solution, and reading results. That coverage makes it a strong training topic for parametric design.

Is RhinoMCP official?

No. The repository says it is a third-party integration and is not made by McNeel. That does not make it useless; it means it should be compared separately with Rhino MCP (McNeel), especially in a professional environment with IT constraints.

What are the main risks?

The README security section flags an unauthenticated TCP loopback link and tools able to execute Rhino commands, RhinoScript-Python, and RhinoCommon C#. The main risk therefore comes from local execution inside Rhino. Environment variables can disable some surfaces, but work on copies and keep human validation.