GH_mcp_server
This is a MCP Server that allows LLM to interact with Rhino and Grasshopper directly.
claude mcp add --transport stdio veoery-gh_mcp_server path_to_GH_mcp_server/.venv/bin/python path_to_GH_mcp_server/run_server.py
How to use
GH_mcp_server provides a workflow that lets designers interact with Rhino and Grasshopper directly through large language models. It enables analyzing .3dm files, performing 3D modeling tasks, and generating GHPython code automatically within Grasshopper based on user prompts. The server exposes a set of MCP tools that Claude Desktop can connect to, allowing you to issue natural language prompts that are translated into Grasshopper actions, script generation, and Rhino data analysis. To use it, start Rhino, run the MCP server via the configured Python environment, and then use Claude Desktop to prompt the MCP tools for tasks like reading a .3dm file, extracting objects, creating Grasshopper definitions, or generating Python code for GH components. The examples show how you can request analysis of a 3D model and generation of a GHPython script that corresponds to a design intent, with the system guiding the creation of code and GH components automatically.
How to install
Prerequisites:
- Rhino 7 or 8 installed
- RhinoPython (as described in the project guidance)
- uv installed (for environment management)
- Claude Desktop installed for MCP integration
Step-by-step installation:
- Clone the repository:
git clone git@github.com:veoery/GH_mcp_server.git
cd GH_mcp_server
- Set up the environment with uv (recommended):
macOS/Linux
uv venv
source .venv/bin/activate
uv pip install -e .
Windows
uv venv
.venv\Scripts\activate
uv pip install -e .
Ensure the virtual environment is activated before running or developing the project.
- Configuration for Claude Desktop:
- Open Claude Desktop, go to Settings -> Developer -> Edit Config, and add the MCP server entry as shown below:
{
"mcpServers": {
"grasshopper": {
"command": "path_to_GH_mcp_server/.venv/bin/python",
"args": [
"path_to_GH_mcp_server/run_server.py"
]
}
}
}
- Run and verify:
- Start the MCP server using the configured Python path to run_server.py
- Restart Claude Desktop and verify the hammer icon appears, indicating the MCP tools are attached
- Usage preparation:
- Start Rhino first, then use Claude Desktop prompts to interact with the GH_mcp_server tools. Check the provided example files (e.g., examples\zaha01.gh) for reference on interacting with Grasshopper.
Additional notes
Tips and considerations:
- Ensure the Python virtual environment path in the configuration matches your local setup (venv paths differ per system).
- The MCP server interacts with Grasshopper through GH components and generated GHPython scripts; be explicit about file paths and target objects when giving prompts.
- If Claude Desktop cannot detect the MCP tools, re-check the config JSON and restart Claude Desktop; confirm that the run_server.py process is active.
- The examples directory contains reference GH files to guide prompt construction and expected outcomes.
- Maintain Rhino and Grasshopper versions compatible with the server wiring (Rhino 7/8 as per requirements).
Related MCP Servers
mcp-vegalite
MCP server from isaacwasserman/mcp-vegalite-server
github-chat
A Model Context Protocol (MCP) for analyzing and querying GitHub repositories using the GitHub Chat API.
nautex
MCP server for guiding Coding Agents via end-to-end requirements to implementation plan pipeline
pagerduty
PagerDuty's official local MCP (Model Context Protocol) server which provides tools to interact with your PagerDuty account directly from your MCP-enabled client.
futu-stock
mcp server for futuniuniu stock
mcp -boilerplate
Boilerplate using one of the 'better' ways to build MCP Servers. Written using FastMCP