Skip to content

Tools - Murmurate

Murmurate wraps an existing Grasshopper definition, publishes it as a named tool, and makes it callable by an AI assistant. The agent is not handed a blank canvas. It is handed a deterministic tool which will perform the desired logic every time.

Murmurate is in pre-release. Sign up to find out when it will be public and get early access for testing. Rhino 8 or Rhino 9. Windows installer. Works with Claude Desktop, Claude Code, or any other client that speaks the Model Context Protocol.

How It Works - Definitions Become Tools Inside Grasshopper

No configuration file, terminal, API key or code. Murmurate takes the definitions that already hold your logic and adds a name, a description, typed inputs and a place to publish.

Step 1 - Build

Wrap the logic in an AI tool component and describe its inputs and outputs. The inner canvas works exactly like a native cluster.

Step 2 - Publish

One click writes the tool to the library as a single self-contained file. The definition travels inside it, ready to version or send.

Step 3 - Connect

Point an AI assistant at Rhino once. Every tool published from then on appears in the assistant automatically, with no restart.

An existing Grasshopper definition on the left, driven by number sliders through a cluster; on the right the same logic published as a callable tool, beside the generated JSON schema listing its typed inputs and outputs

Grasshopper Workflow - Authoring Never Leaves the Canvas

Double-clicking the tool component opens an inner canvas, where the definition is built as anywhere else in Grasshopper. The reasoning is in our article on self-describing clusters.

The same cluster shown twice: on the left its inputs carry generic names, on the right each one has been given an explicit name, type and default such as Number_Of_Blocks, Integer, default 100

Tool Interface - The Inputs and Outputs Are Declared, Not Inferred

Input and output parameters placed inside the definition give each value a name, a description and a type. This is what the LLM reads to understand how it can run the tool.

Rhino open beside an AI assistant in a terminal, with a typed instruction asking it to populate the selected geometry with blocks of people and return the output as editable Grasshopper nodesThe same Rhino viewport after the run, its terrain surface populated with person blocks, beside the assistant transcript and a Grasshopper canvas holding the resulting cluster wired to live sliders

In Practice - The Results

A prompt goes in; geometry comes back, baked into the Rhino model, placed on the canvas or passed into the next tool. The assistant can also read the current Rhino or canvas selection.

Have a library of definitions worth automating?

Book a discovery call

Tell us what your team runs by hand and see what an assistant could run instead. We'll start with a short, no-obligation discovery call.