
犀牛
HTTP-SSE通过模型上下文协议实现AI控制犀牛3D建模
通过模型上下文协议实现AI控制犀牛3D建模
RhinoMCP connects Rhino3D to Claude AI via the Model Context Protocol (MCP), enabling Claude to directly interact with and control Rhino3D for AI-assisted 3D modeling, analysis, and design workflows.
This integration consists of two main components:
# Create and activate a virtual environment mkdir -p .venv uv venv .venv source .venv/Scripts/activate # On Windows with Git Bash # Install the package uv pip install -e .
# Create and activate a virtual environment python -m venv .venv .venv\Scripts\activate # On Windows # Install the package pip install -e .
EditPythonScript
in the command line to open Rhino's Python editorsrc/rhino_plugin/rhino_server.py
# Activate your virtual environment source .venv/Scripts/activate # On Windows with Git Bash # Start the MCP server rhinomcp
Or run with custom settings:
rhinomcp --host 127.0.0.1 --port 5000 --rhino-host 127.0.0.1 --rhino-port 8888 --debug
Configure Claude Desktop or Windsurf to connect to the MCP server at:
ws://127.0.0.1:5000
When connected to Claude, you can ask it to create a NURBS curve in Rhino with a prompt like:
Create a NURBS curve in Rhino using points at (0,0,0), (5,10,0), (10,0,0), and (15,10,0).
# Clone the repository git clone https://github.com/FernandoMaytorena/RhinoMCP.git cd RhinoMCP # Create and activate virtual environment uv venv .venv source .venv/Scripts/activate # On Windows with Git Bash # Install development dependencies uv pip install -e ".[dev]"
pytest
This project uses Ruff for linting and formatting:
ruff check . ruff format .
RhinoMCP/
├── src/
│ ├── rhino_plugin/ # Code that runs inside Rhino
│ │ └── rhino_server.py
│ └── rhino_mcp/ # MCP server implementation
│ ├── rhino_client.py
│ └── mcp_server.py
├── tests/ # Test modules
├── docs/ # Documentation
├── config/ # Configuration files
├── ai/ # AI documentation and prompts
├── setup.py # Package installation
├── requirements.txt # Package dependencies
└── README.md # Project documentation
Contributions are welcome! Please feel free to submit a Pull Request.