Project GrassLobster - miro.vision

· miro.vision ·

20 min read Original article ↗

AI Agentic Generation of Parametric Geometry Workflows

Personal project · Prototype 1 · Work in progress
Experimental. Not yet validated for general use. Provided as is. More will follow.

A project by Miro Bannwart

An object becomes an adjustable workflow.Explore the furniture study →

Short Introduction

Watch on YouTube

Full introductionComing soon

Full Introduction

Detailed walkthrough to follow

An idea becomes
a workflow.

GrassLobster connects the parametric world of Rhino and Grasshopper with an external AI agent of your choice. Describe your idea, shape it together, and keep changing the result.

From intention to geometry

What GrassLobster
Does

Imagine describing what you want to make — and getting a workflow you can keep changing.

Building a parametric definition can take longer than exploring the idea itself. GrassLobster brings an AI agent into that work: from the first brief to a connected Grasshopper model.

Start with an idea, not a perfect prompt

Describe a building form, a timber structure or a pattern of elements. Your external agent asks about dimensions, rules, materials and what you want to control. It guides you through the decisions until the task is clear enough to build.

Build the rules. Keep exploring.

Once the approach is agreed, the agent builds the parametric workflow. Change the span, spacing or number of elements, and the related geometry updates. Ask for another variation or develop the project further.

The value goes beyond executing CAD commands: you keep the logic that generates the geometry. The result can work like a small design tool made for your particular task.

Start with the Rhino model you have

The agent can inspect selected objects, create or revise supported Rhino geometry, and use existing geometry as the starting point for the next step. You can work directly in Rhino, then make the parts that need ongoing control parametric through connected Geometry Stations.

Bring selected geometry into a BIM workflow

Experimental BIM/IFC tools can organise building elements and export IFC for review. Selected 3DM, DXF and DWG geometry can also enter or leave the project through dedicated tools. Inspect the geometry and exported data in the applications used for your project.

Your agent. Your design decisions.

Work through a compatible external agent of your choice. It handles the implementation while you review the geometry and guide the design. The model stays visible and adjustable in Grasshopper.

The architecture

How It Works
Behind the Scenes

The geometric process stays visible to you. The same process is mirrored as text for the agent.

Geometry Stations on the canvas

GrassLobster Session Components organise the model into connected Geometry Stations. Each Station runs the code for a meaningful task. You see the sequence and dependencies without following every individual operation.

A project might move through inputs, primary geometry, structural logic, secondary geometry and output. The structure follows the task. GrassLobster hides implementation complexity, not geometric logic.

Mirrored logic and inputs

Station definitions and executable code are mirrored in readable project files. The agent can locate the relevant logic, understand connected Stations and make targeted changes through the supported workflow.

Supported input values are mirrored too. Dimensions, counts or spacing can be changed without rewriting the Station code; Grasshopper recalculates the related geometry.

A folder with project context

Agent Instructions guide how the agent asks questions and works with you. Domain knowledge adds prepared subject guidance, your own standards or material notes. Geometric references communicate shape through screenshots, studies or example models.

References can come from chat or designated project folders. What the agent can use depends on its tools and the file format. This is project context, not an automatically indexed knowledge system.

Direct Rhino work and live references

Agent Start connects the project to the open Rhino document. The agent can read a structured inventory, act on supported geometry and inspect the result. Live Grasshopper references can connect named Rhino objects to Geometry Stations, so edits with a preserved object identity can update the downstream model. The Grasshopper document must remain loaded, even if its window is hidden.

An agent that stays external

The project is designed around interchangeable agents, with the necessary file and tool capabilities. It is not tied to one built-in model. As compatible agents improve at coding, planning and geometry reasoning, the same project structure can benefit.

A path toward agentic optimization

Where a model exposes measurable results, an agent could vary inputs, compare outcomes and refine toward a goal — for example, maintaining floor area while reducing material volume.

This is a possible direction, not a built-in general-purpose optimizer. It depends on the model, available outputs and agent tools. Structural goals also require appropriate analysis methods.

“I wanted to talk to my files.”

After around twelve years with Grasshopper, Miro Bannwart began working with AI agents and wanted to bring that conversation into his parametric projects.

Grasshopper already gave people a visual way to understand geometry. Agents needed a representation they could read and change. That led to text mirroring: keeping the geometric process on the canvas while giving the agent access to the same project through files.

How to Use

Start with
what you have
in mind.

Bring an external agent — and a strong model

GrassLobster needs a coding agent that can work with your project files and the required tools. Examples include OpenAI Codex and Claude Code; the project connection must be configured for the agent you use.

For complex geometry, start with a strong reasoning and coding model. Model quality has made a substantial difference in Miro’s development trials.

Development experience with models

Miro has had his strongest geometric results with GPT-6 Astra. GPT-6 Sol and GPT-6 Luna also ran GrassLobster workflows in his trials, but the geometry was weaker. His local-model attempts have not worked successfully so far.

These are project-specific development observations, not a controlled benchmark or a claim about every model. The prototype has not yet been validated for general use.

Agent subscriptions and running costs

Budget separately for Rhino, the external agent and any image tools. A paid agent plan can be a practical starting point; longer sessions may need a higher usage allowance. Check current provider prices, model access and limits. An entry plan does not guarantee access to the recommended model or rendering tools.

  1. Start your project

    With GrassLobster installed, open Rhino and Grasshopper. Save a Rhino document and a Grasshopper document in a dedicated project folder, then place Agent Start. Keep the Grasshopper document loaded while the agent works, even if you hide its window.

  2. Prepare your external agent

    Recommended starting point: local Codex on desktop with GPT-6 Astra and High reasoning effort, if available in your account. This was Miro’s easiest setup in recent tests. A newer capable coding model may also work well, but should be checked with a small first project.

    Create a local project in your desktop agent and select the folder containing your saved GH document and its generated GrassLobster folder. Start a new conversation in that actual folder. Give the agent read/write access to this project folder; access to your entire drive is unnecessary. A regular chat without local file tools cannot update your project.

    In Grasshopper, use Generate Agent Start Prompt and copy the complete prompt into that conversation. Ask the agent to confirm the project path and read the entry file named in the prompt. Keep Rhino and Grasshopper open. Resolve folder or permission errors before asking it to build geometry. The project’s Agent Instructions guide how the agent works with you.

  3. Let the agent develop the brief with you

    You do not need a perfect technical prompt. Describe the idea; the agent asks about geometric rules, dependencies and adjustable parameters until there is enough information to proceed. Agree on a useful Station structure.

  4. Add relevant references

    Share shape references in chat or the designated project folder. Keep technical rules and your own domain knowledge in their separate reference area, so the agent can distinguish the intended form from the constraints that guide it.

  5. Follow the workflow as it grows

    For a parametric workflow, the agent builds connected Stations progressively. Follow their roles and relationships on the canvas, then review the result. You can also ask it to work with supported Rhino geometry directly and later connect suitable objects to Stations. A manually placed Geometry Station gains its title, parameter order, State controls and Guide/Code panels when you save the GH document.

  6. Adjust, compare and continue

    Use the main controls or their linked views beside each Station, or ask the agent to change supported mirrored inputs. Review geometry, measurements and exports before refining them further. When ready, deliberately run the prepared Bake workflow. Save both your Rhino and Grasshopper documents yourself and keep project backups; an agent action does not automatically save them.

Check your local project connection

In Miro’s recent Codex desktop test, no additional manual MCP setup was needed. This is a reported experience, not a guarantee for every installation. Work in the actual folder used by Rhino, not a separate worktree or cloud copy.

Before modeling, explicitly allow the agent to create one uniquely named temporary text file in your project and read it back without overwriting existing files. Check the folder and permissions if this fails. Then request a small model, inspect the geometry and change a main parameter to confirm that it updates.

The plugin installation folder contains the GHA and runtime files. Your project folder contains your saved GH document and generated GrassLobster data. Give the modeling agent access to the project folder; do not put your project into the plugin installation folder.

Claude Code and the included MCP Bridge

Claude Code worked in Miro’s test after manual MCP setup, which took more effort than the tested Codex route. For the easiest starting point, use the desktop Codex setup above. The exact configuration change in that Claude test was not recorded.

The plugin includes its file-service Bridge and dependencies. It is not automatically registered in every agent. Agents with suitable direct file tools may not require MCP. No separate Bridge download or second plugin installation is needed.

  1. Locate GrassLobster.AcpBridge.dll beside the GHA in the plugin folder actually loaded by Grasshopper. For Package Manager, use its installed package location. If several copies exist, resolve which one is loaded before proceeding.
  2. Use a separately callable x64 dotnet host with the .NET 8 runtime. An SDK is not required. Rhino’s embedded runtime alone does not establish that this separate host is available.
  3. Follow the official Claude Code MCP instructions to add a local stdio server named grasslobster in local scope for your project. Use the dotnet host as its program, the full installed Bridge path as its first argument, and the --approved-folder option followed by your actual project folder. Use absolute paths.
  4. Inspect any existing registration before changing it and preserve unrelated configuration. A CLAUDE.md file does not register MCP. No Windows service or HTTP port is needed.
  5. Start Claude in the same project and check its MCP connection status. Paste the generated Agent Start prompt, read the entry file named there and perform the permitted text-file check above. A saved registration alone does not prove the connection works.

This guidance targets native Windows Claude Code. WSL and other clients require their own path checks. After package updates, check whether the installed Bridge path has changed. Its approved folder limits the Bridge, not every other tool the agent may have.

Earlier Hermes tests used additional developer adapters that are not included in the plugin. Ollama is required only for the optional Ollama components.

Reference images, PDFs and renderings

Reading references, modeling geometry and generating images are separate capabilities. Your agent must be able to access the contents of an image or PDF to use it. Rendering requires an available image-generation tool; successful geometry or a model subscription does not automatically provide one.

Miro reports successful PDF-based modeling and rendering in his tested desktop setup. Image generation was unavailable or unsuccessful in his tested Claude configuration; this is not a statement about every Claude setup. A rendering illustrates an idea and does not verify the underlying geometry or engineering.

For corrections, mark unwanted geometry in red and the intended change in green, then ask the agent to revise the model. See the staircase correction example and review the resulting CAD geometry.

Direct Rhino and BIM/IFC checks

The new direct Rhino tools cover supported typed geometry operations, not every Rhino command. The Grasshopper document with Agent Start must remain loaded for the connection. Existing object references depend on Rhino objects remaining identifiable; if an object is deleted and recreated, review the connection.

A newly placed IFC Export component provides an editable .ifc filename, an Export IFC button, and IFC File / IFC Report output panels. Placing it does not export a file. Existing definitions are not automatically rearranged or given new controls; add missing controls deliberately when updating an older workflow.

The bundled IFC runtime needs no separate Python installation. BIM/IFC features remain experimental. Open important IFC exports in an independent viewer or your downstream application. A schema check or successful reread is not a structural, construction or universal interoperability approval.

Permissions, backups and agent safety

An AI agent can edit files and run tools with the permissions you grant. Mistakes can affect your files or computer. Use a dedicated project folder, keep backups and review requests for wider access, commands or installations. Do not put credentials in the project.

Prompt injection means instructions hidden in a reference file or website try to redirect an agent. External material should be treated as reference data, not as permission for unrelated actions or sharing files. Stop and review unexpected behavior. Limited permissions reduce risk but cannot remove it.

Cloud-based agents may send selected project content to their provider. Check confidentiality and data settings before sharing files. Review generated geometry before fabrication or construction.

When something does not work

Package not found: check the installed Rhino version, Windows platform, the spelling grasslobster and Include pre-releases. Finish any Rhino update and restart; downloading an update does not install it.

Plugin or SDK error: for 0.1.2-alpha check Rhino 8.30 or later, .NET 8, ZIP Unblock, the complete GrassLobster folder including IFC-Runtime, and duplicate installations. A .NET update does not replace a Rhino update. Do not mix files from different releases.

Wrong folder or MCP error: compare the generated prompt path, agent working folder and permissions. Also check the installed Bridge path, x64 .NET 8 host, approved folder and connection status when using MCP.

Image problems: check reference reading, image generation and file return separately. One user test reported a temporary Rhino pause after rendering. The cause and normal waiting time are unknown; no fix is claimed. Avoid repeated clicks and record the action and versions.

When requesting help, include the exact error, installed Rhino and plugin versions, runtime, installation method and agent/model. Remove private paths and credentials before sharing diagnostics.

Supported references and readback depend on the agent and project setup. A successful calculation still needs your design review; it is not structural verification.

Experimental alpha

Download
GrassLobster.

Version
0.1.2-alpha · Build 2.45.2

Platform
Windows x64 · Rhino / Grasshopper 8.30 or later · .NET 8

Publisher
Miro Bannwart

Package date

Alpha · Experimental · Work in Progress. Provided as is. Breaking changes are possible. Save your projects, keep backups and check all generated geometry and exports.

This release adds supported direct Rhino geometry work, live references to Geometry Stations, geometry import/export controls and experimental BIM/IFC tools. The IFC runtime is included in the plugin ZIP. These newer functions have limited practical testing; they do not cover every Rhino command or certify engineering results.

Get GrassLobster 0.1.2-alpha on Food4Rhino

Download the Windows x64 package for 0.1.2-alpha. Check the version on Food4Rhino before downloading; earlier releases may also be listed there. The 139.6 MB ZIP contains the installable GrassLobster folder and a separate Library-Sources folder for developers. Only GrassLobster is installed in Grasshopper.

Package SHA-256: 1d365ef117a1b7beddc8afb548b18bc0ba627369dd9d635db1a3171fb9f41f8f

Download the Agent Start document (ZIP)

Free private and commercial use, including commercial work created with GrassLobster, under the license included with the release. The plugin itself remains proprietary; bundled open-source libraries keep their separate rights. Read the complete license, third-party notices and corresponding-source links.

1. Download and install the ZIP from Food4Rhino

Requirements: Windows x64, Rhino / Grasshopper 8.30 or later in .NET 8 mode. Use a current Rhino 8 service release. The native IFC extension needs a supported Microsoft Visual C++ x64 runtime. Rhino 7 and macOS are not supported by this package.

  1. On Food4Rhino, select GrassLobster 0.1.2-alpha — Windows x64. Download its plugin ZIP. Close Rhino and back up your previous dedicated plugin folder and project files before replacing an installation.
  2. In Windows Explorer, open Properties on the trusted ZIP. If Unblock (Zulassen) is shown, select it and Apply. Then extract the ZIP into a new folder.
  3. Copy the complete extracted GrassLobster folder to %APPDATA%\Grasshopper\Libraries\. Keep the GHA, its six companion files, the entire IFC-Runtime subfolder, license and documentation together. Do not merge them with old runtime files or keep another active GrassLobster copy.
  4. Restart Rhino, open Grasshopper, save a GH document in a dedicated project folder and place Agent Start. Generate its prompt and give your compatible local agent access to that project folder.
  5. Try a small model first. Review the result, then save the Rhino and GH documents deliberately. Read INSTALL.md inside the release for details and the limits of IFC support.
Earlier installations, IFC runtime and optional MCP Bridge

If you previously used Rhino Package Manager, uninstall that copy before activating a manual Libraries copy. If moving from manual installation to Package Manager later, move the old dedicated folder out of Grasshopper loading locations. Preserve your GH/3DM models and generated project folders.

The IFC runtime is bundled; no separate Python download or pip setup is needed. Avoid deeply nested custom installation paths. The optional file-service MCP Bridge is included but may require client-specific registration and a callable .NET 8 x64 dotnet host. Codex with suitable local file tools may not need a manual MCP setup. Do not grant access to your whole drive.

2. Rhino Package Manager — check the listed version

In Rhino, open Package Manager, enable Include pre-releases and search for grasslobster. Install 0.1.2-alpha only if that exact version is listed. The Package Manager may still offer an earlier release while the website ZIP is being tested. Do not combine a Package Manager installation with a manual Libraries copy.

3. Start with the prepared Grasshopper document

The Agent Start document ZIP linked above contains a GH document with Agent Start, not the plugin itself. Automatic installation through a missing-plugin prompt has not been confirmed. Install the plugin first, extract the starter ZIP, copy Grasslobster_start.gh to your own project folder, then open it and generate a fresh Agent Start prompt.

Previous releases

GrassLobster 0.1.1-alpha (Build 2.40.2) · GrassLobster 0.1.0-alpha (Build 2.39.0). Keep a project backup before switching versions. Their original license files remain available through the license overview.

Rhino, .NET, external agents, models and accounts are separate. Ollama is required only for the optional Ollama components. Review geometry and IFC data before fabrication or construction.

Workflows in practice

Examples.

Geometry studies by Miro Bannwart

From architecture to objects: a few studies made with GrassLobster. Open each workflow to see how the geometry is organised on the Grasshopper canvas.
Follow GrassLobster on Instagram · GrassLobster on LinkedIn

Featured study

A chest of drawers, made parametric

From an existing piece of furniture to a structured geometry workflow: model the cabinet and its details, then open the drawers by changing parameters.

Product visualization of a three-drawer wooden chest with brass handles and decorative inlay on a neutral studio background.
Product visualization of the parametric furniture model. Rendering is illustrative, not a fabrication specification.
Drawer movement from adjustable geometry. Press play to inspect the motion.
Reference, CAD, drawings & Grasshopper workflow
Technical views and dimensions of the chest of drawers.
Views and dimensions for inspecting the model.
Grasshopper canvas with connected Geometry Stations for the furniture workflow.
Connected Geometry Stations on the Grasshopper canvas. Open the image to inspect the full workflow.

Study 01

A curved staircase

A connected workflow for the stair path, body and railing — shown as geometry, adjustable inputs and a photorealistic visualization.

Photorealistic visualization of the curved staircase in an interior.
Photorealistic visualization. The underlying Rhino geometry and Grasshopper workflow are shown below.

Show the change. Refine the model.

Mark what is wrong in red and sketch the intended change in green. In this test, Miro gave the agent an annotated screenshot, and the agent revised the handrail transition and landing edge. Review the corrected CAD geometry before continuing.

Geometry, parameters & Grasshopper workflow
Three connected Grasshopper stations for the stair path, stair body and railing.
Stair path · Stair body · Railing. Open the image to inspect the full canvas.

Watch the short introduction on YouTube →

Study 02

Brutalist courtyard villa

A parametric courtyard villa developed through three connected Geometry Stations, with adjustable building dimensions, facade openings and living-space parameters.

Visualization of a concrete courtyard villa with large glazed openings, terraces and an upper storey, surrounded by trees.
An illustrative visualization of the courtyard villa in a woodland setting.
Geometry, parameters & Grasshopper workflow
Grasshopper canvas with three connected Geometry Stations for building volumes, the envelope, and living spaces with the courtyard.
Building volumes, envelope, and living spaces with the courtyard form the three stages of the workflow.

Study 03

Parametric timber bookshelf

An adjustable bookshelf developed through two connected Geometry Stations, with controls for overall dimensions and compartment layout.

Visualization of a freestanding wooden bookshelf with five rows and four columns of open compartments on a white background.
An illustrative visualization of the bookshelf with a natural wood finish.
Geometry, parameters & Grasshopper workflow
Grasshopper canvas with two connected Geometry Stations for compartment layout and timber bookshelf geometry, with parameters, guidance and code panels.
A compartment-layout station feeds the station that creates the timber bookshelf geometry.

A residential study connecting the building, facade, balconies, roof and outdoor space in one workflow.

Timber-clad residential building with balconies and landscaped surroundings.
More views & Grasshopper workflow
Six connected Grasshopper stations: building, facade, balconies, roof PV, outdoor space and sun study.
Building · Facade · Balconies · Roof PV · Outdoor space · Sun study. Open the image to inspect the full canvas.

Study 05

A stepped timber frame

A stepped structure organised through a building grid, primary frame and secondary beams.

Stepped timber frame with columns, primary beams and repeated secondary beams.
More views & Grasshopper workflow
Line representation of the stepped frame geometry.
Line model — geometry view, not a verified structural analysis
Three Grasshopper stations for the building grid, primary structure and beam layers.
Building grid · Primary structure · Beam layers. Open the image to inspect the full canvas.

Study 06

A Gothic church study

Towers, windows, structure and architectural detail developed as connected geometric steps.

Perspective view of a Gothic church model with twin spires and coloured windows.
More views & Grasshopper workflow
Interior viewport of the church model with columns and coloured windows.
Interior view
Five connected Grasshopper stations for church space, structure, towers, windows and stonework.
Space · Structure · Towers · Windows · Stonework. Open the image to inspect the full canvas.

Study 07

Space shuttle study

An orbiter, payload bay, robotic arm and satellite brought together in a modular geometry study.

Space shuttle model with an open payload bay, robotic arm and satellite above a runway base.
More views & Grasshopper workflow
Transparent Rhino viewport revealing the shuttle geometry and internal elements.
Rhino viewport
Four Grasshopper stations for the orbiter, payload bay, robotic arm and satellite.
Orbiter · Payload bay · Robotic arm · Satellite. Open the image to inspect the full canvas.

Miro Bannwart.
Carpenter and experimental architect exploring design through digital tools.

My background combines carpentry, architecture and the ITECH programme at the University of Stuttgart. I work with computational design, complex timber geometry and digital fabrication, connecting material knowledge with new ways of designing.

At Makiol Wiederkehr and Winkler Holzbiegewerk, I develop geometry and digital processes for timber projects. GrassLobster grows out of my long-standing work with Rhino and Grasshopper and my interest in working with AI agents.

Developed through AI-assisted coding workflows with GPT and OpenAI Codex, GrassLobster remains a personal, experimental project.