Rhino integration through the Model Context Protocol
Project description
RhinoClaw Server
Python MCP server that connects AI agents to Rhino 3D via the Model Context Protocol.
Overview
This server bridges AI agents (Claude, Cursor, etc.) to Rhino through:
- FastMCP: Python MCP implementation
- TCP Socket: Communication with Rhino plugin on
localhost:1999
Installation
# Install uv (if not already installed)
# macOS: brew install uv
# Windows: powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
# Install dependencies
cd rhinoclaw_server
uv pip install -e .
Usage
# Development mode
uv run python -m rhinoclaw
# Or via uvx (installed)
uvx rhinoclaw
Note: Start the Rhino plugin first (mcpstart in Rhino command line).
Project Structure
rhinoclaw_server/
├── src/rhinoclaw/
│ ├── server.py # Main server, FastMCP setup
│ ├── tools/ # MCP tool implementations
│ │ ├── create_object.py
│ │ ├── modify_object.py
│ │ ├── get_document_info.py
│ │ └── ...
│ ├── utils/ # Helper utilities
│ └── prompts/ # AI prompts
├── dev/ # Development scripts
│ ├── dev_test.py # Basic testing
│ └── dev_castle.py # Example: castle generation
└── pyproject.toml # Package configuration
Available Tools
For the complete and up-to-date tool list, see USAGE.md.
Categories:
- System: ping, get_document_info, get_logs, set_debug_mode
- Object Creation: create_object, create_objects, create_text, create_text_dot
- Object Manipulation: modify_object, delete_object, select_objects, get_object_properties, set_object_properties
- Boolean Operations: boolean_operation (union, difference, intersection)
- Transform: copy_object, mirror_object, array_linear, array_polar
- Curves: offset_curve, fillet_curves, chamfer_curves
- Surfaces: loft_curves, extrude_curve, revolve_curve
- Dimensions: create_linear_dimension, create_angular_dimension, create_radial_dimension
- Layers & Materials: create_layer, create_material, assign_material_to_layer
- Scripts: execute_rhinoscript_python_code
Development
# Run tests
uv run python dev/dev_test.py
# Build package
uv build
# Publish to PyPI
uv publish
Documentation
- Main README - Installation and usage
- AGENTS.md - Agent-focused guide
- USAGE.md - Tool reference and usage examples
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file rhinoclaw-0.7.0.tar.gz.
File metadata
- Download URL: rhinoclaw-0.7.0.tar.gz
- Upload date:
- Size: 570.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
737cc41c0c710056d2e4eb80a37f78f27db1fbe55b462c65c9f44164fa800b5f
|
|
| MD5 |
23af401631d2965633f50cd854459f1a
|
|
| BLAKE2b-256 |
cfa6eac3b4183ae4f58ea1cea5c403563c9180d9c286b4a1a2d792c5afff4b46
|
File details
Details for the file rhinoclaw-0.7.0-py3-none-any.whl.
File metadata
- Download URL: rhinoclaw-0.7.0-py3-none-any.whl
- Upload date:
- Size: 579.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7fdf9f48d6aa1b36a31dbc3c558396bed6ba7bb9f526c9583d407e199c4497e1
|
|
| MD5 |
adc51960f1e7e83f6e83b413096e36fa
|
|
| BLAKE2b-256 |
a397bac0ef3e931db50ba655393153fe143ccda9627a4131c9fcc17923f266fc
|