Navigation
Rhino MCP Server: AI-Driven 3D & Smarter Architectural Workflows - MCP Implementation

Rhino MCP Server: AI-Driven 3D & Smarter Architectural Workflows

Rhino MCP Server bridges Rhino & Claude AI via MCP, unleashing AI-driven 3D creativity and smarter architectural workflows.

Research And Data
4.3(89 reviews)
133 saves
62 comments

49% of users reported increased productivity after just one week

About Rhino MCP Server

What is Rhino MCP Server: AI-Driven 3D & Smarter Architectural Workflows?

Rhino MCP Server is an advanced middleware solution that enables seamless integration between AI systems and the Rhino 3D modeling environment. It acts as a bridge, allowing AI applications like Claude to interact with Rhino's 3D workflows programmatically. The server leverages the MCP protocol to execute geometry creation, scene management, and diagnostic tasks directly within Rhino, streamlining automation and collaboration in architectural design.

How to Use Rhino MCP Server: AI-Driven 3D & Smarter Architectural Workflows?

  1. Install the server components and ensure Rhino is configured for external API access
  2. Select a startup method using the unified server_launcher.sh tool
  3. Invoke built-in tools via API calls to create geometry, query scene data, or manage layers
  4. Use diagnostic tools and centralized logging for troubleshooting

Example workflow: ./server_launcher.sh combined starts the recommended server instance for tool execution

Rhino MCP Server Features

Key Features of Rhino MCP Server: AI-Driven 3D & Smarter Architectural Workflows?

  • Unified logging framework aggregating server, plugin, and AI system logs
  • Extensible toolset including sphere/cylinder creation, scene clearing, and layer management
  • Multi-process architecture with daemonized server options for stable AI workflows
  • Diagnostic tools for verifying Rhino API connectivity and server health
  • Support for both direct and proxy-based server configurations

Use Cases of Rhino MCP Server: AI-Driven 3D & Smarter Architectural Workflows?

Common applications include:

  • Automated parametric modeling driven by generative AI
  • Scene setup automation for collaborative design sessions
  • Real-time geometry updates based on AI analysis
  • Batch processing of design variations using scene manipulation tools
  • Integration with computational design workflows requiring programmatic control

Rhino MCP Server FAQ

FAQ from Rhino MCP Server: AI-Driven 3D & Smarter Architectural Workflows?

How do I resolve connection issues between AI and Rhino?
Use ./server_launcher.sh help to terminate conflicting processes, then check logs via centralized logging
Can I extend the available geometry tools?
Yes - implement new methods in combined_mcp_server.py following the tool registration pattern
What Rhino versions are supported?
Compatible with Rhino 7+ on Windows/macOS, with API validation for 7.12 and later
How is licensing handled?
Server core is MIT-licensed, but requires valid Rhino API licenses for runtime operation - see license terms

Content

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:

  1. Combined MCP Server (Recommended) :
* `combined_mcp_server.py` \- Direct implementation that uses stdin/stdout for communication
  1. Socket-based Servers :
* `daemon_mcp_server.py` \- Background server that receives commands via socket connection
* `socket_proxy.py` \- Proxy that forwards commands from stdin to the daemon server and back
  1. Standalone Server :
* `standalone-mcp-server.py` \- Original standalone implementation

Setup Instructions

1. Set up Claude Desktop

  1. Install Claude Desktop if you haven't already
  2. 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 server
  • standalone - Run the standalone MCP server
  • daemon - Run the daemon MCP server
  • socket-proxy - Run the socket proxy
  • direct - Run both daemon and socket proxy
  • logs - View recent logs
  • monitor - Monitor logs in real-time
  • errors - View recent errors
  • help - 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:

  1. geometry_tools.create_sphere - Create a sphere with specified center and radius
  2. geometry_tools.create_box - Create a box with specified dimensions
  3. geometry_tools.create_cylinder - Create a cylinder with specified parameters
  4. scene_tools.get_scene_info - Get information about the current scene
  5. scene_tools.clear_scene - Clear objects from the scene
  6. scene_tools.create_layer - Create a new layer in the document

Troubleshooting

If you encounter connection issues:

  1. Make sure no old servers are running:

    ./server_launcher.sh help # This will clean up existing processes

  2. Check the log files:

    ./server_launcher.sh logs # View logs

./server_launcher.sh errors # View errors
  1. 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 implementation
  • diagnose_rhino_connection.py: Diagnostic tool for testing Rhino connection
  • log_manager.py: Tool for managing and analyzing logs
  • server_launcher.sh: Unified script to start any server implementation
  • logs/: Directory containing all logs

Adding New Features

  1. Add new tools as methods in the combined_mcp_server.py file
  2. Use the existing logging framework for consistent error handling
  3. Update diagnostic tools if needed

Related MCP Servers & Clients