Rhino MCP 的失败就三件事:插件没加载、桥接没启动、AI 客户端起不了服务。中间那件 Rhino 让你能明确地查,而它也是最常见的原因。
走社区 rhinomcp 时,TCP 监听不随 Rhino 自动启动。要你敲命令才起。不敲的话插件装着但彻底没反应,任何地方都不冒错误。
Rhino 命令行里:
mcpstart
起来了会看到监听跑在 127.0.0.1:1999 上。先回去试 AI 客户端,别急着改别的。卡在这一步的人,比这页其它所有原因加起来还多。
Unknown command: mcpstart
怎么回事。插件没加载,它的命令不存在。光从 Package Manager 装完不够。
怎么修。按顺序两件事。先重启 Rhino,不重启插件不注册命令,大部分情况到这就好了。还不行就去工具 → 选项 → 插件看:应该在列表里而且启用。列出来了但没启用,启用后再重启。压根不在列表里,说明安装没完成,回 Package Manager 重装。
Error: spawn uvx ENOENT
怎么回事。AI 客户端找不到 uvx 来启动服务。跟 Rhino 没关系。
为什么。桌面程序不继承你终端的 PATH。uvx 在终端里跑得好好的,说明它存在。图形界面程序就是看不见。
怎么修。配置里写绝对路径。跑 which uvx(macOS)或 where uvx(Windows),用输出:
{
"mcpServers": {
"rhino": {
"command": "/Users/you/.local/bin/uvx",
"args": ["rhinomcp@latest"],
"env": { "RHINO_MCP_HOST": "127.0.0.1" }
}
}
}
改完把客户端完全退出再打开。
Error executing MCP tool: Not connected
怎么回事。客户端知道有这个服务,但调用那一刻连接不在。
怎么修。两半都得起着:Rhino 开着且 mcpstart 跑过,服务进程活着。服务一启动就退出的话,把命令在终端里手动跑一遍。启动时那句错很有信息量,客户端在后台启动时会被整个吞掉。
Connection refused. Is the MCP server running?
怎么回事。有东西去连 1999,没人应答。
怎么修。要么监听没跑,敲 mcpstart。要么配置里的主机端口和插件实际绑定的对不上,确认 RHINO_MCP_HOST 是 127.0.0.1。
怎么回事。mcpstart 绑不上,别的进程占着。其它地方看着都正常。
怎么修。先查是谁:
lsof -nP -iTCP:1999 -sTCP:LISTEN # macOS / Linux netstat -ano | findstr :1999 # Windows
停掉它,或者换端口。插件和客户端配置两边都要改。只改一边,出来的失败和上面「连接被拒」一模一样。
怎么回事。客户端没读到配置,通常是 JSON 不合法。很多客户端不会告诉你。
怎么修。过一遍 JSON 校验工具。三个常见坑:最后一项后多了逗号、从网页复制带了中文弯引号、Windows 路径反斜杠没转义:
"command": "C:\\Users\\you\\.local\\bin\\uvx.exe"
然后把客户端完全退出再打开。
怎么回事。服务和插件分开版本管理。服务比插件新时,需要新功能的工具会直接报「请更新」,而不是含糊地做点别的。这行为是对的,只是干到一半撞上有点意外。
怎么修。Package Manager 里更新插件并重启 Rhino。你把服务写成 rhinomcp@latest 的话它会自己往前走,这事还会再发生。要稳定就两边都钉死版本。
怎么回事。插件针对特定 Rhino 版本编译。社区那个包针对 Rhino 8,McNeel 的 RhinoAI 在 Rhino 9 分支上。大版本升级可能把你甩到分界线另一边。
怎么修。装和你 Rhino 版本匹配的构建,并且预期每个大版本都要重来一次。这是开源路线的经常性成本。
怎么回事。这次请求要的来回超出客户端允许范围。跨几百个对象的操作是常见诱因。
怎么修。拆开。「先把幕墙板重新分图层,再改名」能跑完,「把整个模型整理一遍」会超时。这是当前工具的边界,不是配置错了。