Blender MCP Go(npm封装)
适用于任何MCP客户端: 克劳德桌面版, 安培 (ampcode.com)、光标、VS代码复制、临床、继续等。stdio上的相同二进制、相同JSON-RPC(protocolVersion: 2024-11-05). ](https://www.npmjs.com/package/@j4flmao/go_blender_mcp)
用Go编写的Blender轻量级模型上下文协议服务器,打包用于npm分发。一个二进制、最小上下文、可选集成(Poly Haven、Hyper3D、Sketchfab、Hunyuan),通过UI或env标志控制。
概述
- 转到MCP服务器:
blender-mcp-go - Blender桥插件:在Blender中执行命令的简单TCP服务器
- npm包装器:跨平台二进制文件
dist/,发射器在npm/bin/blender-mcp-go.js
受BlenderMCP(Python)项目的启发并引用该项目——请参阅“参考文献”。
先决条件
- 搅拌机≥3.6(按5.0.1测试)
- Go≥1.22(用于构建二进制文件)
- Node.js≥18(用于npm包装和发布)
快速设置
- 构建二进制文件(或使用CI工件):
- 窗户: npm run build:win-x64 - Linux: npm run build:linux-x64 - macOS ARM: npm run build:darwin-arm64 - 全部: npm run build:all
- 安装Blender桥接插件:
- 文件: 搅拌机_桥/搅拌机_桥.py 或从以下网址获取:https://github.com/j4flmao/go_blender_mcp.git - 搅拌机→ Edit → 偏好→ 附加组件→ 安装→ 选择文件→ 启用 - N面板→ MCP → 启动网桥(端口9876)
- 将MCP服务器添加到Claude Desktop(
claude_desktop_config.json)--推荐(npx):
{
"mcpServers": {
"blender": {
"command": "npx",
"args": ["@j4flmao/go_blender_mcp"],
"env": { }
}
}
}编辑后重新启动Claude Desktop。
添加到OpenCode
OpenCode使用不同的配置格式 mcp 作为根密钥 command 作为一个数组。
全局配置位置:
- 窗户:
%APPDATA%\opencode\opencode.json - macOS/Linux:
~/.config/opencode/opencode.json
推荐(npx):
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"blender": {
"type": "local",
"command": ["npx", "-y", "@j4flmao/go_blender_mcp"],
"enabled": true
}
}
}或者通过项目配置--create opencode.json 在项目根目录中:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"blender": {
"type": "local",
"command": ["npx", "-y", "@j4flmao/go_blender_mcp"],
"enabled": true
}
}
}OpenCode的注意事项:
- 配置密钥为
mcp(不是mcpServers) command必须是数组:["npx", "-y", "@j4flmao/go_blender_mcp"]- 必须包括
"type": "local"用于stdio服务器 - 编辑配置后重新启动OpenCode
添加到Amp(ampcode.com)
Amp使用与Claude相同的MCP模式,就在 amp.mcpServers 输入 settings.json.
设置文件位置:
- 窗户:
%APPDATA%\amp\settings.json - macOS/Linux:
~/.config/amp/settings.json - VS代码:设置→ 扩展→ Amp → MCP服务器(或编辑
settings.json直接)
推荐(npx):
{
"amp.mcpServers": {
"blender": {
"command": "npx",
"args": ["-y", "@j4flmao/go_blender_mcp"],
"env": {}
}
}
}或者通过CLI(无需手动编辑文件):
amp mcp add blender -- npx -y @j4flmao/go_blender_mcp无需持久配置的一次性测试:
amp --mcp-config "{\"blender\":{\"command\":\"npx\",\"args\":[\"-y\",\"@j4flmao/go_blender_mcp\"]}}" -x "List all objects in the current Blender scene"Amp注意事项:
- 中的工作空间级别配置
.amp/settings.json需要amp mcp approve blender在第一次跑步之前。 - 要限制公开哪些工具(建议保持上下文简洁),请使用
includeTools:
"blender": {
"command": "npx",
"args": ["-y", "@j4flmao/go_blender_mcp"],
"includeTools": ["get_scene_info", "list_objects", "create_object", "exec_python", "render_scene"]
}- 验证Amp是否已拾取:
amp mcp doctor→ 应列出blender工具计数。
- 可选集成(UI驱动):
- 在Blender N面板中,打开“集成” - Tick Sketchfab/Hyper3D/浑源/保利天堂 - 输入API密钥(如适用) - 工具将在调用时尊重当前的切换
- npm用法(作为CLI):
- 推荐: npx @j4flmao/go_blender_mcp - 可选: npm start (从以下位置启动特定于平台的二进制文件 npm/dist/)
CI/CD
- GitHub Actions工作流构建Windows/Linux/macOS,并在以下情况下发布npm
NPM_TOKEN已设置 - 看
工具(高级)
- 核心:场景信息、列表/获取/移动/创建/删除对象、材质、渲染、设置引擎、exec Python
- 可选:
- Poly Haven:HDRI/纹理/模型导入 - Sketchfab:模型搜索(可下载/动画/装配过滤器) - Hyper3D:提交作业(罗丹) - 浑源:图像占位符→3D
结果预览
参考文献
- BlenderMCP(Python,官方仓库):https://github.com/ahujasid/blender-mcp
备注
- Bridge现在通过一个小定时器/队列在Blender主线程上执行操作,以避免崩溃。
- 工具总是列出选项;调用时间检查确保禁用的集成返回明确的消息。
故障排除
- 桥接器未运行:打开Blender N面板→ MCP → 启动桥;确保端口9876空闲。
- Sketchfab返回非字符结果:使用过滤器(
animated=true,rigged=true)或细化查询。 - 渲染速度慢:降低采样率或使用EEVEE进行预览。
- 安装后缺少二进制文件:运行
npm run build:all或确保CI工件可用。 - Claude没有看到工具:验证配置路径是否使用绝对路径;更改后重新启动Claude。
贡献
- 分叉并创建特征分支。
- 保持Go代码格式(
gofmt -w .)并避免添加严重的依赖关系。 - 更喜欢简洁的单行工具输出,以尽量减少MCP上下文。
- Pull Requests应包括简短的描述,并在相关的情况下提供Blender结果的截图。
许可证
MIT许可证。看 许可证 了解详情。
致谢
- 感谢BlenderMCP社区和Poly Haven、Hyper3D(罗丹)、Sketchfab和浑源等集成。
- Blender商标归Blender基金会所有。
