作者注:從零部署 Rhino MCP Server,在 Codex 中配置 API易 接口,3 步跑通第一條自然語言建模指令,並對比 GPT Codex 與 Claude 系列的建模表現。
用一句話讓 Rhino 自動建模,是很多 3D 設計師和參數化建模工程師的需求。這件事的難點不在 Rhino,而在於大模型、MCP 協議和客戶端三者怎麼連起來。本文介紹 Codex + Rhino MCP + API易 接口 的完整接入方案,幫助你掌握 Codex 接入 Rhino MCP 的實操方法。
這不是一篇概念科普,而是按照“部署 MCP Server → 配置 Codex 接口 → 跑通第一條指令”的順序寫成的落地指南。我們在支持用戶的過程中發現,大家通常卡在三個地方:環境從零怎麼搭、Codex 怎麼接入第三方 API、哪個模型建模效果更好。本文會逐一給出答案。
核心價值:讀完本文,你將能在本機用自然語言驅動 Rhino 創建幾何體,並知道如何科學地對比不同模型的建模表現。

Codex 接入 Rhino MCP 核心要點
在動手之前,先弄清楚整條鏈路由哪幾部分組成,以及各部分由誰負責。很多接入失敗,其實是把“模型接口問題”和“MCP Server 問題”混在一起排查導致的。
| 組件 | 作用 | 由誰提供/部署 |
|---|---|---|
| Rhino 插件 | 在 Rhino 內部監聽指令,執行建模操作 | 用戶本機安裝 |
| Rhino MCP Server | 把 Rhino 能力封裝爲 MCP 工具,供 AI 客戶端調用 | 用戶本機部署 |
| Codex 客戶端 | 加載 MCP 工具,負責與大模型對話和任務調度 | 用戶本機安裝配置 |
| 大模型 API | 理解指令、規劃步驟、生成工具調用參數 | 通過 API易 接入 |
Rhino MCP 工作原理詳解
MCP(Model Context Protocol)是一種讓 AI 客戶端以統一方式調用外部工具的協議。Rhino MCP Server 會把“創建立方體”“獲取當前文檔對象”“執行 Python 腳本”等能力註冊成一組工具,Codex 啓動時讀取這些工具的名稱、說明和參數結構,再把它們一起發給大模型。
當你輸入“在原點畫一個 100×50×20 的立方體”,模型不會直接操作 Rhino,而是返回一個結構化的工具調用請求。Codex 把這個請求轉發給 MCP Server,Server 再通過本地連接通知 Rhino 插件執行,結果原路返回給模型。所以,建模質量本質上取決於模型的工具調用能力和多步任務規劃能力,這也是選型時最需要關注的指標。

Codex 接入 Rhino MCP 環境準備
正式開始之前,請確認本機滿足以下條件。Rhino MCP 是社區開源項目,不同版本的安裝方式可能有細微差別,具體請以項目 README 爲準。
| 環境項 | 要求 | 檢查方式 |
|---|---|---|
| Rhino | Rhino 7 或 Rhino 8(以項目說明爲準) | 打開 Rhino 查看版本號 |
| Python 環境 | 推薦安裝 uv,用於運行 MCP Server | 終端執行 uv --version |
| Node.js | Codex CLI 通過 npm 安裝 | 終端執行 node -v |
| Codex 客戶端 | 命令行版、IDE 插件或桌面端均可 | 終端執行 codex --version |
| API Key | 一個可調用 Codex/Claude 系列模型的 Key | 在 API易 控制檯創建 |
如果你所在的網絡環境無法穩定訪問海外官方接口,建議優先解決模型接口這一環。MCP Server 和 Rhino 都運行在本機,真正需要聯網的只有模型推理請求。
Codex 接入 Rhino MCP 快速上手:3 步實現 AI 自動建模
第 1 步:部署 Rhino MCP Server
以社區開源的 rhinomcp 項目爲例,部署分爲“Rhino 端插件”和“MCP Server 端”兩部分:
- 在 Rhino 中打開 Package Manager,搜索
rhinomcp並安裝插件,安裝後重啓 Rhino。 - 在 Rhino 命令行輸入插件提供的啓動命令(項目中爲
mcpstart),讓插件開始監聽本地連接。 - 在終端執行
uvx rhinomcp,確認 MCP Server 能夠正常啓動、沒有報錯。
第 2 步之後,Codex 會自動拉起 MCP Server,所以這裏的手動啓動只用於驗證環境。如果 uvx 提示找不到命令,通常是 uv 沒有加入系統 PATH,重新打開終端或按 uv 官方說明配置即可。
第 2 步:在 Codex 中配置 API易 接口
Codex 的配置文件位於用戶目錄下的 ~/.codex/config.toml。我們需要在這裏同時完成兩件事:聲明自定義模型提供方,以及註冊 Rhino MCP Server。
# ~/.codex/config.toml
model = "gpt-5-codex" # 以 API易 控制檯中實際可用的模型名爲準
model_provider = "apiyi"
[model_providers.apiyi]
name = "APIYI"
base_url = "https://api.apiyi.com/v1" # API易 OpenAI 兼容接口
env_key = "APIYI_API_KEY" # 從環境變量讀取 Key
wire_api = "responses" # 若使用 Chat Completions 協議則改爲 "chat"
[mcp_servers.rhino]
command = "uvx"
args = ["rhinomcp"]
然後在終端設置環境變量,Windows 用戶可在系統環境變量中添加:
export APIYI_API_KEY="sk-你的密鑰"
wire_api 的取值需要與所選模型支持的協議一致。如果配置後出現協議相關報錯,可以切換爲另一種取值再試,具體以 API易 文檔中 Codex 使用場景的說明爲準。
第 3 步:跑通第一條自然語言建模指令
保持 Rhino 打開且插件處於監聽狀態,在終端輸入 codex 啓動客戶端。可以先問一句“你現在有哪些 Rhino 工具可用”,如果模型能列出建模相關的工具,說明 MCP 已經加載成功。
建議從簡單指令開始,逐步增加任務複雜度,這樣出問題時更容易定位:
| 難度 | 示例指令 | 考察的模型能力 |
|---|---|---|
| 入門 | 在原點創建一個 100×50×20 的立方體 | 單次工具調用、參數準確性 |
| 進階 | 畫一張 1200×600 的桌面,四角各加一條直徑 40、高 720 的桌腿 | 多步規劃、座標計算 |
| 複雜 | 生成一個 5 層螺旋樓梯,每級臺階旋轉 15 度並逐級升高 | 循環邏輯、生成 Python 腳本 |
| 修改 | 把場景中所有立方體改成紅色並放到新圖層 | 讀取文檔狀態後再操作 |
複雜任務中,模型通常會選擇調用“執行 Python 腳本”這類工具,一次性生成 RhinoScript 代碼完成建模。此時模型的代碼生成能力會直接決定成功率。
極簡示例:用 Python 驗證模型的工具調用能力
在接入 Codex 之前,也可以先用一段腳本,確認模型能否針對建模工具返回正確的調用參數。這一步能快速排除“模型接口不可用”的問題:
import openai, json
client = openai.OpenAI(api_key="YOUR_API_KEY", base_url="https://api.apiyi.com/v1")
tools = [{"type": "function", "function": {
"name": "create_box",
"description": "在 Rhino 中創建立方體",
"parameters": {"type": "object", "properties": {
"origin": {"type": "array", "items": {"type": "number"}},
"size": {"type": "array", "items": {"type": "number"}}},
"required": ["origin", "size"]}}}]
resp = client.chat.completions.create(
model="gpt-5-codex", # 以控制檯實際模型名爲準
messages=[{"role": "user", "content": "在原點畫一個 100x50x20 的立方體"}],
tools=tools)
call = resp.choices[0].message.tool_calls[0]
print(call.function.name, json.loads(call.function.arguments))
查看完整實現代碼:多模型建模指令對比測試
import openai
import json
from typing import List, Dict
client = openai.OpenAI(
api_key="YOUR_API_KEY",
base_url="https://api.apiyi.com/v1" # 同一個 Key 可調用 GPT 與 Claude 系列
)
# 待測試的模型,請替換爲控制檯中實際可用的模型名
MODELS = ["gpt-5-codex", "claude-sonnet-4-5"]
TOOLS = [
{"type": "function", "function": {
"name": "create_box",
"description": "創建立方體,origin 爲角點座標,size 爲長寬高",
"parameters": {"type": "object", "properties": {
"origin": {"type": "array", "items": {"type": "number"}},
"size": {"type": "array", "items": {"type": "number"}}},
"required": ["origin", "size"]}}},
{"type": "function", "function": {
"name": "create_cylinder",
"description": "創建圓柱,base 爲底面圓心,radius 爲半徑,height 爲高度",
"parameters": {"type": "object", "properties": {
"base": {"type": "array", "items": {"type": "number"}},
"radius": {"type": "number"},
"height": {"type": "number"}},
"required": ["base", "radius", "height"]}}},
]
PROMPT = "畫一張 1200x600x30 的桌面,桌面底部在 z=720,四角各加一條直徑 40、高 720 的桌腿"
def run_test(model: str) -> List[Dict]:
"""返回模型規劃出的全部工具調用"""
try:
resp = client.chat.completions.create(
model=model,
messages=[
{"role": "system", "content": "你是 Rhino 建模助手,請一次性規劃所有工具調用。"},
{"role": "user", "content": PROMPT},
],
tools=TOOLS,
)
calls = resp.choices[0].message.tool_calls or []
return [{"name": c.function.name,
"args": json.loads(c.function.arguments)} for c in calls]
except Exception as e:
return [{"error": str(e)}]
if __name__ == "__main__":
for m in MODELS:
result = run_test(m)
print(f"\n===== {m}:共 {len(result)} 個調用 =====")
for item in result:
print(item)
# 期望:1 個 create_box + 4 個 create_cylinder,且桌腿位於四個角
🚀 快速開始:推薦先通過 API易 apiyi.com 領取新用戶免費測試額度,用上面的腳本驗證模型的工具調用是否正常,再接入 Codex 與 Rhino。這樣遇到問題時,能清楚區分是模型接口的問題還是本地 MCP 環境的問題。
Codex 接入 Rhino MCP 如何選擇模型
AI 自動建模對模型的要求集中在三點:代碼生成、工具調用和複雜任務規劃。根據我們的支持經驗,建議優先測試 GPT Codex 系列和 Claude Sonnet/Opus 系列。下表給出的是定性對比,實際效果請以你自己的建模任務實測爲準。

| 模型系列 | 核心優勢 | 適用建模場景 | 可用平臺 |
|---|---|---|---|
| GPT Codex 系列 | 爲 Codex 客戶端深度優化,代碼生成穩定 | 腳本化建模、參數化批量生成 | API易、官方 API |
| Claude Sonnet 系列 | 工具調用準確,速度與質量平衡 | 日常建模指令、多步操作 | API易、官方 API |
| Claude Opus 系列 | 複雜推理與長任務規劃能力強 | 複雜結構、需要反覆讀取場景狀態的任務 | API易、官方 API |
GPT Codex 對標分析:GPT Codex 系列與 Codex 客戶端的配合最爲原生,配置簡單,生成 RhinoScript Python 腳本時風格穩定。但面對需要多輪讀取場景、再做判斷的修改類任務,表現會因提示詞寫法而有波動。對於以腳本生成爲主的參數化建模,它是很穩妥的起點。
Claude 系列對標分析:Claude Sonnet/Opus 在工具調用的參數準確性和長鏈路規劃上口碑較好。如果你更習慣 Claude,也可以使用 Claude Code 加載同一個 Rhino MCP Server 作爲替代客戶端。相比之下,在 Codex 內通過 OpenAI 兼容接口調用 Claude,更方便在同一套環境中橫向對比。
💡 選擇建議:模型表現與你的建模類型高度相關,沒有絕對的最優解。建議通過 API易 apiyi.com 用同一個 Key 分別測試 GPT Codex 與 Claude 系列,用前文的對比腳本跑相同的指令,根據成功率和成本做決定。
Codex 接入 Rhino MCP 常見報錯排查
接入過程中的報錯,大多可以按“模型接口 → Codex 配置 → MCP Server → Rhino 插件”的順序逐層排查。
| 現象 | 可能原因 | 處理方法 |
|---|---|---|
| Codex 啓動後提示 401 | 環境變量未生效或 Key 填寫錯誤 | 重開終端,檢查 APIYI_API_KEY 是否設置 |
| 提示模型不存在 | 模型名與平臺實際名稱不一致 | 在控制檯複製準確的模型名 |
| 模型說沒有 Rhino 工具 | MCP Server 未被加載 | 檢查 config.toml 中 mcp_servers 段落拼寫 |
| 工具調用超時 | Rhino 插件未處於監聽狀態 | 在 Rhino 中重新執行啓動命令 |
| 模型調錯工具或參數缺失 | 指令描述模糊或模型規劃能力不足 | 明確尺寸、座標、單位,或換模型測試 |
常見問題 FAQ
Q1:什麼是 Rhino MCP?
Rhino MCP 是基於 MCP 協議的 Rhino 工具服務,它把 Rhino 的建模能力封裝成 AI 可調用的工具。配合 Codex、Claude Code 等支持 MCP 的客戶端,大模型就能根據自然語言指令直接在 Rhino 中創建和修改幾何體。
Q2:Codex 接入 Rhino MCP 和直接讓 AI 寫 Grasshopper 有什麼區別?
讓 AI 寫代碼再手動粘貼,仍需要人來執行和檢查。Codex 接入 Rhino MCP 後,模型可以自己調用工具、讀取執行結果並繼續下一步,形成閉環。它更適合多步建模和反覆修改的場景,而 Grasshopper 更適合需要長期維護的參數化邏輯。
Q3:API易 會幫我部署 Rhino MCP Server 嗎?
不會。API易 提供的是模型 API 接口,Rhino MCP Server 和 Codex 客戶端需要在你的本機自行部署和配置。好在兩者都是本地組件,按本文第 1、2 步操作即可完成。
Q4:Codex 接入 Rhino MCP 最適合哪些場景?
– **方案草模**:快速生成建築體塊、傢俱框架等初步模型
– **參數化批量生成**:按規則生成陣列、螺旋、漸變尺寸的構件
– **場景批量修改**:統一修改圖層、顏色、命名等重複性操作
Q5:如何通過 API 快速爲 Codex 接入可用的模型?
1. 訪問 API易 apiyi.com 註冊賬號並創建 API Key
2. 領取新用戶免費測試額度
3. 在 `config.toml` 中把 `base_url` 設爲 `https://api.apiyi.com/v1`,填寫模型名即可
同一個 Key 可以調用 GPT 與 Claude 等主流模型,切換模型只需修改配置中的模型名。
Q6:爲什麼模型經常調錯工具或參數不對?
工具調用的準確性取決於兩點:工具描述是否清晰,以及模型本身的規劃能力。建議在指令中寫明單位、座標原點和具體尺寸,複雜任務拆成多輪執行。如果同一條指令反覆失敗,可以換用 Claude Opus 等規劃能力更強的模型對比測試。
Q7:Codex 接入 Rhino MCP 有哪些已知限制?
– **成本**:複雜任務會產生多輪工具調用,token 消耗明顯高於普通對話
– **精度**:模型偶爾會算錯座標,關鍵尺寸仍需人工複覈
– **兼容性**:社區插件隨 Rhino 版本更新,可能出現短期不兼容,需關注項目更新
Codex 接入 Rhino MCP 核心要點 Key Takeaways
- 鏈路組成:Rhino 插件、MCP Server、Codex 客戶端、大模型 API 四部分缺一不可
- 本地部署:Rhino MCP Server 和 Codex 均在本機運行,只有模型推理需要聯網
- 關鍵配置:在
config.toml中同時聲明模型提供方和mcp_servers - 循序漸進:從單個立方體開始,逐步增加到多步規劃和腳本生成任務
- 模型選型:優先測試 GPT Codex 系列和 Claude Sonnet/Opus 系列
- 上手方式:用 API易 的一個 Key 即可在同一套環境中橫向對比多個模型
總結
Codex 接入 Rhino MCP 的核心要點:
- 第 1 步部署 MCP Server:安裝 Rhino 插件並啓動監聽,用
uvx rhinomcp驗證服務 - 第 2 步配置模型接口:在 Codex 配置文件中設置自定義提供方並註冊 Rhino MCP
- 第 3 步跑通建模指令:從簡單指令開始,逐步驗證模型的工具調用與規劃能力
整條鏈路跑通之後,真正決定建模效果的是模型選擇和指令寫法。建議用本文的對比腳本,拿自己常見的建模任務做實測。
推薦通過 API易 apiyi.com 快速驗證效果,平臺提供 OpenAI 兼容接口、免費測試額度和多模型統一接入,便於在 Codex 中靈活切換 GPT 與 Claude 系列。
📚 參考資料
- rhinomcp 開源項目:Rhino MCP 插件與 Server 實現
- 鏈接:
github.com/jingcheng-chen/rhinomcp -
說明:包含安裝步驟、可用工具列表和版本兼容說明
-
OpenAI Codex 項目倉庫:Codex CLI 安裝與配置說明
- 鏈接:
github.com/openai/codex -
說明:
config.toml中模型提供方與 MCP Server 配置項的權威說明 -
Model Context Protocol 官方文檔:MCP 協議規範
- 鏈接:
modelcontextprotocol.io - 說明:理解工具註冊、調用與返回機制的基礎資料
作者:APIYI 技術團隊
技術交流:歡迎在 API易 官網首頁聯繫我們,Codex、Claude Code 等使用場景的配置說明可訪問 docs.apiyi.com 文檔中心
