Integrates with Rhino/Grasshopper 3D modeling software to enable parametric design and geometric analysis through natura...
Created byApr 23, 2025
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**!
`uv`
- ```
# For MacOS and Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
```
- ``````
# For Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
``````
Claude Desktop
Installation
1. Clone the repository
2. Set up the environment
We recommend using `uv`:
macOS/Linux
Windows
Make sure the virtual environment is activated before running or developing the project.
3. Configuration
In the Claude Desktop, Navigate to Settings->Developer. You will see ```Edit Config```.
Click the ```Edit Config``` and open the file ```claude_desktop_config.json```
Place the following code to the json file:
```python
{
"mcpServers": {
"grasshopper": {
"command": "path_to_GH_mcp_server/.venv/bin/python",
"args": [
"path_to_GH_mcp_server/run_server.py"
]
}
}
}
```
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
Start Rhino
Type command `CodeListener`. You should see `VS Code Listener Started...`.
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"
```