GH_mcp_server

GH_mcp_server

By veoery GitHub

This is a MCP Server that allows LLM to interact with Rhino and Grasshopper directly.

Overview

what is GH_mcp_server?

GH_mcp_server is a server that enables designers to interact with Rhino and Grasshopper directly using Large Language Models (LLMs). It allows for the analysis of .3dm files, 3D modeling, and automatic generation of GHPython scripts in Grasshopper based on user input.

how to use GH_mcp_server?

To use GH_mcp_server, start Rhino, type the command CodeListener, and then use the Claude Desktop to send prompts to interact with the server tools. Refer to the provided examples for guidance.

key features of GH_mcp_server?

  • Direct interaction with Rhino and Grasshopper via LLMs
  • Automatic generation of GHPython scripts
  • Ability to analyze 3D models from .3dm files

use cases of GH_mcp_server?

  1. Analyzing complex 3D models in Rhino.
  2. Automating the creation of Grasshopper scripts based on user commands.
  3. Enhancing design workflows with AI assistance.

FAQ from GH_mcp_server?

  • What are the system requirements for GH_mcp_server?

You need Rhino 7 or 8, RhinoPython, and Claude Desktop to use this server.

  • Is GH_mcp_server free to use?

Yes! GH_mcp_server is open-source and free to use.

  • How can I contribute to GH_mcp_server?

You can open issues for bugs or suggestions, and pull requests are welcome for collaboration.

Content

GH_mcp_server

GH_mcp_server provides an approach that allows designer to interact with Rhino and Grasshopper directly via LLMs, including to analyse .3dm file, do 3D modeling and generate GHPython automatically in Grasshopper based on user’s guidance.

This project is still under construction — and we’d love your help!

  • Feel free to open an issue if you encounter bugs or have ideas.
  • Pull requests are always welcome.
  • If you're interested in collaborating long-term, feel free to reach out to yizhuod@andrew.cmu.edu — we’d love to have you on the team!

Alt text

Requirements

Installation

1. Clone the repository

git clone git@github.com:veoery/GH_mcp_server.git
cd GH_mcp_server

2. Set up the environment

We recommend using uv:

macOS/Linux

uv venv
source .venv/bin/activate
uv pip install -e .

Windows

uv venv
.venv\Scripts\activate
uv pip install -e .

Make sure the virtual environment is activated before running or developing the project.

3. Configuration

  1. In the Claude Desktop, Navigate to Settings->Developer. You will see Edit Config.

  2. Click the Edit Config and open the file claude_desktop_config.json

  3. Place the following code to the json file:

    {
      "mcpServers": {
        "grasshopper": {
          "command": "path_to_GH_mcp_server/.venv/bin/python",
          "args": [
            "path_to_GH_mcp_server/run_server.py"
          ]
        }
      }
    }
    
  4. Restart the Claude Desktop. If you are able to see a hammer icon, the configuration is successful. Click the hammer icon to check all the attached MCP tools.

Usage

  1. Start Rhino

  2. Type command CodeListener. You should see VS Code Listener Started....

  3. Open the Claude Desktop and type the prompts to interact with GH_mcp_server tools. Please also check the file examples\zaha01.gh as a reference for interacting with Grasshopper. Here are some examples:

    Read the file "D:\test01.3dm" first and analyse the objects in this file.
    
    write GHpython to create a tower referring to zaha and write the ghpython code to "D:\zaha01.py"
    

No tools information available.
No content found.