本项目为 Rhino 3D 打造了 Model Context Protocol (MCP) 服务器,借助该服务器,像 Claude 这类 AI 助手能够通过 Model Context Protocol 与 Rhino 进行交互,实现从 AI 接口直接创建和操作 3D 对象。
⚠️ 重要提示
该项目目前处于积极开发阶段,尚未正常工作。Rhino 插件在创建对象时遇到问题。我们正在积极寻求社区的支持以帮助解决这些问题。如果您有使用 Rhino API 开发、C# 插件或 MCP 集成的经验,请考虑贡献代码。如需联系,请在 GitHub 上打开问题报告。
系统由 Python 组件实现 MCP 服务器以及 C# 组件与 Rhino 集成。以下是系统组件的交互概述:
graph TD
%% 客户端应用程序
client[客户端应用程序] --> socketProxy
%% Socket 代理
subgraph "Python Socket 代理"
socketProxy[socket_proxy.py] --> daemonServer
end
%% 守护服务器
subgraph "Python 守护服务器"
daemonServer[daemon_mcp_server.py] --> combinedServer
end
%% 组合 MCP 服务器
subgraph "Python 组合 MCP 服务器"
combinedServer[combined_mcp_server.py]
mcp[FastMCP] --> tools
combinedServer --> mcp
combinedServer --> rhinoConn
subgraph "MCP 工具"
tools[MCP 工具方法]
end
rhinoConn[RhinoConnection]
end
%% Rhino 插件组件
subgraph "C# Rhino 插件"
rhinoPlugin[RhinoMcpPlugin.cs]
socketServer[RhinoSocketServer.cs]
utilities[RhinoUtilities.cs]
commands[RhinoMcpCommand.cs]
rhinoPlugin --> socketServer
rhinoPlugin --> commands
socketServer --> utilities
end
%% 组件间的连接
rhinoConn <==> socketServer
%% 日志组件
subgraph "日志系统"
logManager[log_manager.py]
nlogConfig[NLog.config]
end
combinedServer --> logManager
rhinoPlugin --> nlogConfig
%% Rhino 程序
rhino[Rhino.exe]
combined_mcp_server.py
:主要的 MCP 服务器实现文件diagnose_rhino_connection.py
:用于测试 Rhino 连接的诊断工具log_manager.py
:用于管理和分析日志的工具server_launcher.sh
:启动任何服务器实现的统一脚本logs/
:包含所有日志文件的目录