Rhino MCP Server
RhinoMCP connects Rhino to Claude AI through the Model Context Protocol (MCP), enabling AI-assisted 3D modeling and architectural design.
always-tinkering
README
Rhino MCP Server
⚠️ UNDER CONSTRUCTION ⚠️
This project is currently under active development and is not yet in working order. The Rhino plugin is experiencing issues with creating objects. We are actively seeking support from the community to help resolve these issues. If you have experience with Rhino API development, C# plugins, or MCP integration, please consider contributing. Contact us by opening an issue on GitHub.
A Model Context Protocol (MCP) server implementation for Rhino 3D, allowing Claude to create and manipulate 3D objects.
Overview
This project implements an MCP server for Rhino 3D that enables AI assistants like Claude to interact with Rhino through the Model Context Protocol. The server allows for the creation and manipulation of 3D objects directly from the AI interface.
System Architecture
The system consists of Python components that implement the MCP server and C# components that integrate with Rhino. Here's an overview of how the system components interact:
graph TD
%% Client Applications
client[Client Applications] --> socketProxy
%% Socket Proxy
subgraph "Python Socket Proxy"
socketProxy[socket_proxy.py] --> daemonServer
end
%% Daemon Server
subgraph "Python Daemon Server"
daemonServer[daemon_mcp_server.py] --> combinedServer
end
%% Combined MCP Server
subgraph "Python Combined MCP Server"
combinedServer[combined_mcp_server.py]
mcp[FastMCP] --> tools
combinedServer --> mcp
combinedServer --> rhinoConn
subgraph "MCP Tools"
tools[MCP Tool Methods]
end
rhinoConn[RhinoConnection]
end
%% Rhino Plugin Components
subgraph "C# Rhino Plugin"
rhinoPlugin[RhinoMcpPlugin.cs]
socketServer[RhinoSocketServer.cs]
utilities[RhinoUtilities.cs]
commands[RhinoMcpCommand.cs]
rhinoPlugin --> socketServer
rhinoPlugin --> commands
socketServer --> utilities
end
%% Connections between components
rhinoConn <==> socketServer
%% Logger Components
subgraph "Logging System"
logManager[log_manager.py]
nlogConfig[NLog.config]
end
combinedServer --> logManager
rhinoPlugin --> nlogConfig
%% Connection to Rhino
rhino[Rhino 3D Software]
rhinoPlugin --> rhino
classDef pythonClass fill:#3572A5,color:white;
classDef csharpClass fill:#178600,color:white;
classDef rhinoClass fill:#555555,color:white;
class socketProxy,daemonServer,combinedServer,mcp,tools,rhinoConn,logManager pythonClass;
class rhinoPlugin,socketServer,utilities,commands csharpClass;
class rhino rhinoClass;
For more detailed information about the system architecture, including component descriptions and data flow, see code_architecture.md.
Components
There are several implementations available:
-
Combined MCP Server (Recommended):
combined_mcp_server.py
- Direct implementation that uses stdin/stdout for communication
-
Socket-based Servers:
daemon_mcp_server.py
- Background server that receives commands via socket connectionsocket_proxy.py
- Proxy that forwards commands from stdin to the daemon server and back
-
Standalone Server:
standalone-mcp-server.py
- Original standalone implementation
Setup Instructions
1. Set up Claude Desktop
- Install Claude Desktop if you haven't already
- Configure the MCP server connection in Claude Desktop settings
2. Run the Server
We now have a unified server launcher that allows you to run any of the server implementations:
./server_launcher.sh [mode]
Available modes:
combined
(default) - Run the combined MCP serverstandalone
- Run the standalone MCP serverdaemon
- Run the daemon MCP serversocket-proxy
- Run the socket proxydirect
- Run both daemon and socket proxylogs
- View recent logsmonitor
- Monitor logs in real-timeerrors
- View recent errorshelp
- Show help message
Examples:
# Run the combined server (recommended)
./server_launcher.sh combined
# Or simply
./server_launcher.sh
# Run the socket-based approach (daemon + proxy)
./server_launcher.sh direct
# Monitor logs in real-time
./server_launcher.sh monitor
Available Tools
The server provides several tools for 3D modeling:
- geometry_tools.create_sphere - Create a sphere with specified center and radius
- geometry_tools.create_box - Create a box with specified dimensions
- geometry_tools.create_cylinder - Create a cylinder with specified parameters
- scene_tools.get_scene_info - Get information about the current scene
- scene_tools.clear_scene - Clear objects from the scene
- scene_tools.create_layer - Create a new layer in the document
Troubleshooting
If you encounter connection issues:
-
Make sure no old servers are running:
./server_launcher.sh help # This will clean up existing processes
-
Check the log files:
./server_launcher.sh logs # View logs ./server_launcher.sh errors # View errors
-
Restart Claude Desktop completely
License
This project is released under the MIT License. See the LICENSE file for details.
Improved Logging System
The system features a unified logging framework that centralizes logs from all components:
- Server logs
- Plugin logs
- Claude AI logs
- Diagnostic logs
All logs follow a consistent format and are stored in the logs/
directory with separate subdirectories for each component.
Log Management
A log management tool is provided that offers powerful capabilities for viewing, monitoring, and analyzing logs:
# View logs
./server_launcher.sh logs
# Monitor logs in real-time
./server_launcher.sh monitor
# View errors with context
./server_launcher.sh errors
# Generate error reports (using the log manager directly)
./log_manager.py report
For detailed information on using the logging system, see LOGGING.md.
Development
Project Structure
combined_mcp_server.py
: Main MCP server implementationdiagnose_rhino_connection.py
: Diagnostic tool for testing Rhino connectionlog_manager.py
: Tool for managing and analyzing logsserver_launcher.sh
: Unified script to start any server implementationlogs/
: Directory containing all logs
Adding New Features
- Add new tools as methods in the
combined_mcp_server.py
file - Use the existing logging framework for consistent error handling
- Update diagnostic tools if needed
Recommended Servers
Crypto Price & Market Analysis MCP Server
A Model Context Protocol (MCP) server that provides comprehensive cryptocurrency analysis using the CoinCap API. This server offers real-time price data, market analysis, and historical trends through an easy-to-use interface.
MCP PubMed Search
Server to search PubMed (PubMed is a free, online database that allows users to search for biomedical and life sciences literature). I have created on a day MCP came out but was on vacation, I saw someone post similar server in your DB, but figured to post mine.
dbt Semantic Layer MCP Server
A server that enables querying the dbt Semantic Layer through natural language conversations with Claude Desktop and other AI assistants, allowing users to discover metrics, create queries, analyze data, and visualize results.
mixpanel
Connect to your Mixpanel data. Query events, retention, and funnel data from Mixpanel analytics.

Sequential Thinking MCP Server
This server facilitates structured problem-solving by breaking down complex issues into sequential steps, supporting revisions, and enabling multiple solution paths through full MCP integration.

Nefino MCP Server
Provides large language models with access to news and information about renewable energy projects in Germany, allowing filtering by location, topic (solar, wind, hydrogen), and date range.
Vectorize
Vectorize MCP server for advanced retrieval, Private Deep Research, Anything-to-Markdown file extraction and text chunking.
Mathematica Documentation MCP server
A server that provides access to Mathematica documentation through FastMCP, enabling users to retrieve function documentation and list package symbols from Wolfram Mathematica.
kb-mcp-server
An MCP server aimed to be portable, local, easy and convenient to support semantic/graph based retrieval of txtai "all in one" embeddings database. Any txtai embeddings db in tar.gz form can be loaded
Research MCP Server
The server functions as an MCP server to interact with Notion for retrieving and creating survey data, integrating with the Claude Desktop Client for conducting and reviewing surveys.