README
🚀 Rhino MCP 服务器
本项目旨在借助 MCP 协议为 Rhino 3D 赋予 AI 辅助建模能力,让用户能通过 AI 助手(如 Claude)轻松创建与操作 3D 对象。不过目前项目尚在开发中,存在一些问题待解决。
⚠️ 重要提示
该项目目前处于积极开发阶段,尚未正常运行。Rhino 插件在创建对象时存在问题。我们正在积极寻求社区的帮助,尤其是熟悉 Rhino API、C# 插件或 MCP 集成的开发者。
🚀 快速开始
目前项目仍在开发阶段,暂无法正常运行。我们正在积极解决存在的问题,若你熟悉 Rhino API、C# 插件或 MCP 集成,欢迎加入我们共同开发。
✨ 主要特性
- 通过 MCP 协议实现 Rhino 3D 的 AI 辅助建模功能,用户可借助 AI 助手(如 Claude)创建和操作 3D 对象。
- 拥有统一的日志框架,能记录服务器、插件、AI 工作站及诊断日志,并可通过
log_manager.py实现日志查看、分析和报告生成。
🔧 技术细节
系统架构
项目结构如下:
- Python 脚本:
combined_mcp_server.py:主 MCP 服务器实现。diagnose_rhino_connection.py:用于测试 Rhino 连接状态的诊断工具。log_manager.py:管理日志文件并提供分析功能。
- Shell 脚本:
server_launcher.sh:统一启动脚本,支持多种服务器模式。
- 目录结构:
logs/:存储所有组件的日志文件。
功能模块
1. MCP 服务器实现
- combined_mcp_server.py:核心服务器实现,支持以下工具:
geometry_tools.create_sphere:创建指定中心和半径的球体。geometry_tools.create_box:创建指定尺寸的长方体。geometry_tools.create_cylinder:创建指定参数的圆柱体。scene_tools.get_scene_info:获取当前场景信息。scene_tools.clear_scene:清除场景中的所有对象。scene_tools.create_layer:在文档中创建新图层。
2. 插件开发
- Rhino 插件:负责与 Rhino 的交互,目前存在对象创建失败的问题,需进一步调试和修复。
日志系统
项目采用统一的日志框架,记录服务器日志、插件日志、AI 工作站日志和诊断日志。所有日志按组件分类存储于 logs/ 目录,并遵循一致的格式。通过 log_manager.py 可实现日志查看、分析和报告生成。
📚 详细文档
开发指南
项目结构
.
├── combined_mcp_server.py # 主 MCP 服务器实现。
├── diagnose_rhino_connection.py # 测试 Rhino 连接状态的诊断工具。
├── log_manager.py # 日志管理工具。
└── server_launcher.sh # 统一启动脚本。
添加新功能
- 新增工具:
- 将新功能方法添加至
combined_mcp_server.py。 - 确保遵循现有日志记录规范。
- 将新功能方法添加至
- 诊断与修复:
- 使用
diagnose_rhino_connection.py测试插件与 Rhino 的连接状态。 - 修复当前存在的对象创建问题,确保插件稳定运行。
- 使用
- 日志管理:
- 更新日志框架以支持新功能模块。
- 确保所有日志输出遵循统一格式。
故障排除
常见问题
- 连接失败:
- 检查是否有旧进程占用端口或资源。
- 使用
server_launcher.sh help重启相关服务。
- 日志分析:
- 查看
logs/目录中的详细日志以定位问题。 - 使用
log_manager.py report生成错误报告。
- 查看
- 插件调试:
- 在 Rhino 中启用开发者模式,检查插件加载状态。
- 确保所有 API 调用正确无误。
📄 许可证
本项目遵循 MIT License 协议,具体内容见 LICENSE 文件。
Scan to contact