home / mcp / grasshopper mcp workflow server

Grasshopper MCP Workflow Server

Bridges Grasshopper and Cursor via MCP to manage components and automate Grasshopper workflows from JSON and MMD files.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "amemiyalai-grasshopper-mcp-workflow": {
      "command": "python",
      "args": [
        "-m",
        "grasshopper_mcp.bridge"
      ]
    }
  }
}

Grasshopper MCP Workflow is a bridging server that connects Grasshopper and Cursor using the Model Context Protocol (MCP) standard. It enables you to manage Grasshopper components, run complex workflows from JSON or MMD files, and automate tasks through a Python-based bridge server and a Grasshopper component.

How to use

You will run a local MCP bridge that talks to Grasshopper through a small Python server and a Grasshopper component. Start the bridge first, then connect Cursor to it so you can control Grasshopper with natural language or scripted workflows. You can execute placement, grouping, and parameter changes, and you can drive Grasshopper workflows from JSON or MMD files.

How to install

Prerequisites before you begin are: Rhino 7 or higher, Grasshopper, Python 3.8 or higher, and Cursor.

Install the Grasshopper MCP Component into Grasshopper. You will place the GH_MCP.gha file in your Grasshopper Libraries folder.

Install the Python MCP Bridge Server so you can connect Grasshopper with Cursor.

Install the Python MCP Bridge Server from PyPI to keep things simple.

Install the Python MCP Bridge Server from GitHub if you prefer the latest version.

Install the Python MCP Bridge Server from source code if you want to modify it.

Start the Rhino/Grasshopper environment, add the GH_MCP component to your Grasshopper canvas, and then start the Python MCP Bridge Server. The recommended run command is:

Example configuration to connect Cursor to Grasshopper MCP Bridge

{
  "mcpServers": {
    "grasshopper": {
      "command": "python",
      "args": ["-m", "grasshopper_mcp.bridge"]
    }
  }
}

Additional setup steps to enable Cursor connection

Configure Cursor to connect to the MCP bridge you started. This involves editing Cursor’s mcp.json file to add a server entry that launches the bridge when Cursor starts.

Start using Grasshopper with Cursor

With the bridge running and Cursor connected, you can issue natural language or scripted commands to create and arrange components, pass parameters, form groups, and push complete Grasshopper workflows from JSON or MMD files.

Troubleshooting

If you encounter issues, verify that the bridge server is running, the MCP configuration in Cursor is correct, and the GH_MCP component is present on your Grasshopper canvas. Check console logs for error messages and ensure the correct Python path is used if you are running in a virtual environment.

Development

The project includes a Python bridge server and a Python toolbox for programmatic Grasshopper control. It exposes a set of tools for creating, managing, and connecting Grasshopper components, as well as utilities for parsing workflows and executing placement tasks.

Available tools

GrasshopperClient

Client connection to a Grasshopper host and port to control Grasshopper from Python.

ComponentManager

Create, manage, and connect Grasshopper components programmatically.

ConnectionManager

Manage connections between Grasshopper components and wires.

ParameterSetter

Set and manage component parameters and properties.

GroupManager

Organize components into named groups with color customization.

PlacementExecutor

Execute placement workflows and operational tasks from JSON or MMD files.

ParserUtils

Parse MMD and JSON workflow files to drive Grasshopper actions.

Cli

Command-line interface for batch operations and automation.

docs

Documentation and API references for the grasshopper_tools library.