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 server first (ClawStart in the Rhino command line, or enable ClawAutoStart).
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
Metadata
Release files for rhinoclaw 0.8.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| rhinoclaw-0.8.2.tar.gz | 1.1 MB | Without provenance | Details for rhinoclaw-0.8.2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| rhinoclaw-0.8.2-py3-none-any.whl | Python 3 | none | any | Details for rhinoclaw-0.8.2-py3-none-any.whl |
Total release size: 2.1 MB
Release files / rhinoclaw-0.8.2.tar.gz
| Download URL | rhinoclaw-0.8.2.tar.gz |
|---|---|
| Size | 1.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
487c477392b942e5479ab9db4a2ce1fa6b6d617e23a38d00d78679ed3c47d365
|
|
BLAKE2b-256 checksum How to use checksums |
95be9937b52bdb06e372e5aa818e0a9d6e80e5913920236adf781ba318df2e51
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / rhinoclaw-0.8.2-py3-none-any.whl
| Download URL | rhinoclaw-0.8.2-py3-none-any.whl |
|---|---|
| Size | 1.0 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7345fa2454de89c4107cd73c58e2b8e5b2af87fc1272ae7c8c6c1ec4042ee2cf
|
|
BLAKE2b-256 checksum How to use checksums |
61d91ab680eb346782654799e89f7057b1159de695008babeaa663478efd3c98
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Security for rhinoclaw 0.8.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.