1. 为什么要在 Warp 里搭 MCP 服务器指挥 Blender如果你已经用过 Claude 写代码大概率想过一个问题能不能让 Claude 直接操作 Blender用一句话生成 3D 场景而不是自己一行行写 bpy 脚本答案是可以的关键就在于 MCPModel Context Protocol。它相当于给 Claude 装了一双能伸进 Blender 的手Claude 负责理解你的自然语言MCP 服务器负责把指令翻译成 Blender 能执行的 Python 调用Blender 负责真正建模。这套链路里Warp 扮演的是“终端 Agent 运行环境”的角色。Warp 本身是一个带 AI 能力的终端它内置了 MCP 服务器的管理面板你可以在里面注册一个 blender-mcp 服务然后让 Claude 通过这个服务去指挥 Blender。相比自己手写一个 socket 桥接脚本Warp 的 MCP 面板把进程管理、环境变量、工作目录这些琐事都收敛到一份 JSON 配置里改起来直观很多。这篇面向的是想快速复现“文字→3D 场景”闭环的开发者尤其是刚接触 MCP、不想在环境配置上耗太久的人。我会把重点放在三件事上Warp 里 MCP 服务端的可复制配置骨架、TaoToken 统一 Key 接入 settings.json 的完整片段、以及从 Claude 下发指令到 Blender 执行建模的验证动作。环境准备部分只讲必要的避免变成安装教程注水。需要提前说明的是Blender 侧要装 BlenderMCP 插件并开启 socket 服务Python 环境建议用 conda 隔离出 3.10这些是前置条件下面会给出关键命令但不展开每一步截图。2. TaoToken 前置统一 Key 与 settings.json 接入在让 Claude 指挥 Blender 之前得先解决“Claude 从哪来”的问题。Warp 的 Agent Mode 支持接入兼容 Anthropic 协议的服务TaoToken 提供的就是这样一个统一入口一个 Key 可以调用 Claude 系列模型省去在多个平台之间切换账号和额度的麻烦。对这套建模链路来说模型稳定性直接影响 Claude 生成 bpy 脚本的成功率所以把 Key 配好是第一步。TaoToken 的官网入口是 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 基址是 https://taotoken.net/api 这个地址不加 UTM 参数。你需要在控制台创建一个 API Key然后把它写进 Warp 的模型配置里。Warp 的模型配置通常放在用户目录下的 settings.json 中路径类似~/.warp/settings.jsonWindows 是C:\Users\你的用户名\.warp\settings.json。下面是一份可直接参考的片段把 Anthropic 兼容端指向 TaoToken{ ai: { providers: { taotoken: { type: anthropic, baseURL: https://taotoken.net/api, apiKey: sk-你的TaoToken密钥, models: [ claude-sonnet-4-20250514, claude-3-5-sonnet-20241022 ] } }, defaultProvider: taotoken } }几个容易踩的点baseURL 结尾不要多加/v1TaoToken 的兼容层已经处理了路径apiKey 建议用环境变量引用而不是硬编码Warp 支持${TAOTOKEN_API_KEY}这种写法models 数组里填你实际要用的模型名写错会导致 Agent Mode 里选不到模型。配好之后重启 Warp在 Agent Mode 的模型下拉里应该能看到 claude-sonnet-4 之类的选项。如果看不到先检查 JSON 是否合法可以用python -m json.tool settings.json验证再确认 Key 有没有多余空格。3. 可复制配置Warp 里的 MCP 服务端骨架这一节是全文的核心。Warp 的 MCP 面板在左侧边栏点「MCP」→「Add MCP Server」会弹出一个模板把内容替换成下面这份配置。它的作用是让 Warp 启动一个 blender-mcp 进程这个进程会去连接 Blender 已经监听的 socket 端口。{ blender: { command: E:\\Anaconda3\\envs\\blender-mcp\\Scripts\\uvx.exe, args: [blender-mcp], env: { BLENDER_HOST: localhost, BLENDER_PORT: 9876, PATH: E:\\Anaconda3\\envs\\blender-mcp\\Scripts;E:\\Anaconda3\\envs\\blender-mcp;%PATH% }, working_directory: D:\\Blender_Projects\\Demo } }这份配置里有三处必须按你的机器改第一处是command指向 conda 环境里的uvx.exe。如果你用的是 macOS 或 Linux路径会变成/Users/你的用户名/anaconda3/envs/blender-mcp/bin/uvx没有.exe后缀。Windows 下 JSON 里的反斜杠必须写成双反斜杠\\写成单斜杠会解析失败这是最常见的报错来源。第二处是env.PATH要和 command 所在目录保持一致确保 Warp 启动子进程时能找到 Python 依赖。如果你在 conda 环境里装过 blender-mcp这个目录下应该有对应的可执行文件。第三处是working_directory随便建一个空文件夹即可用来存放 Blender 生成的模型和日志。建议路径里不要有中文和空格避免某些库读取路径时出问题。Blender 侧的前置动作也要确认装好 BlenderMCP 插件后在 3D 视图按 N 调出侧边栏找到 BlenderMCP 标签点「Connect to MCP server」此时 Blender 会监听localhost:9876。这个端口要和配置里的BLENDER_PORT一致改了一个另一个也要改。配置保存后在 Warp 的 MCP 列表里找到 blender点「Start」。启动成功的标志是服务器左上角显示 Running。如果显示 Failed先看 Warp 的日志面板通常是路径写错或端口被占用。4. 验证请求从 Claude 指令到 Blender 执行建模服务跑起来之后新建一个终端窗口把模式切到 Agent Mode模型选 Claude。然后直接输入自然语言指令比如生成一个低多边形风格的地牢场景潮湿的石墙地面散落生锈的剑和骷髅头中央有一个石台石台上放着装满金币的陶罐一只黑色鳞片的龙蜷缩在石台旁守护墙上挂着 2 个燃烧的火把光线昏暗但重点照亮陶罐和龙。发送后Claude 会先分析你的描述然后通过 MCP 调用 Blender 的工具接口生成对应的 bpy 脚本并执行。你会在 Blender 里看到对象一个个出现先是地面和墙体然后是石台、陶罐、龙最后是灯光和材质。整个过程不需要你手动点任何按钮。验证是否真的打通可以看两个信号一是 Warp 的 MCP 日志里出现tools/call记录说明 Claude 确实在调用 Blender 工具二是 Blender 的 Python 控制台Window → Toggle System Console里能看到执行的脚本输出。如果 Claude 只是回复了一段文字而没有触发建模说明 MCP 连接没生效回到上一节检查服务状态。实测下来指令越具体生成结果越接近预期。比如“低多边形风格”“黑色鳞片”“2 个火把”这些限定词会直接影响脚本里的参数。如果第一次生成不理想可以直接在对话里说“把龙放大一点”“火把亮度调高”Claude 会基于当前场景继续修改而不是从头重建。对于需要反复调整的场景建议在 Warp 里开一个长期会话把 MCP 服务保持 Running 状态这样每次指令都能直接作用到同一个 Blender 工程上。5. 本篇常见错排查报错一MCP 服务启动后立刻退出日志显示command not found。这是 command 路径写错。Windows 下确认uvx.exe是否真的在Anaconda3\envs\blender-mcp\Scripts下可以用where uvx查。macOS/Linux 用which uvx。如果 conda 环境里没装 uv先pip install uv再uv pip install blender-mcp。报错二Blender 侧显示已连接但 Claude 调用时报Connection refused。检查BLENDER_PORT是否和 Blender 插件里显示的一致默认是 9876。另外确认 Blender 的 socket 服务是在 Claude 发指令之前就已经点过 Connect顺序反了会连不上。报错三Claude 生成了脚本但 Blender 没反应。看 Blender 的 System Console 有没有 Python 报错。常见原因是 Blender 版本低于 3.0或者插件没启用。在偏好设置的插件列表里确认「Interface: Blender MCP」左侧复选框是勾选状态。报错四Agent Mode 里选不到 Claude 模型。回到 settings.json 检查 TaoToken 的 provider 配置确认defaultProvider指向 taotoken且 models 数组里的模型名拼写正确。改完必须重启 Warp热加载不生效。报错五路径里有中文导致读取失败。working_directory 和 conda 环境路径都尽量用纯英文。如果用户名是中文建议把 conda 环境建在D:\envs\这类纯英文目录下。6. 继续往下走把 Key 和 MCP 用顺到这里Warp MCP Blender 的链路应该已经跑通了。如果你还想把这套流程用在更长期的编码或 Agent 任务上可以去看看 Coding Plan它适合需要持续调用模型的场景https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。如果只是想先验证模型对话效果模型对话入口在这里https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。Key 的管理和新建在控制台https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API Keys 页面https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。接入文档在 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content Claude Code 相关的 Anthropic 配置参考 https://taotoken.net/claudecode-anthropic?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。最后分享一个实用技巧把常用的建模指令存成 Warp 的 workflow下次直接调用省去重复输入。另外MCP 服务不用的时候记得在 Warp 里 Stop避免它一直占着 9876 端口导致下次 Blender 连不上。