关于 Blockbench MCP
Blockbench MCP 为 Blockbench 三维建模编辑器增加 MCP 服务功能,使 AI 助手能够操作桌面版中的模型。项目还提供无需运行 Blockbench 的 .bbmodel 无头 stdio 服务,适合希望借助 AI 编辑、校验、转换和渲染模型文件的用户。
主要功能
- 01桌面插件通过本地 HTTP 端点暴露工具
- 02无头服务可直接编辑 .bbmodel 文件
- 03支持校验、转换和渲染模型
- 04可通过 Agent Skills 编排工具调用
- 05提供插件扩展机制供其他插件注册工具
适用场景
- 01让 AI 助手在 Blockbench 中辅助建模与贴图制作
- 02在无 Blockbench 环境下批量校验或渲染 .bbmodel 文件
- 03多个 Agent 并行处理同一目录下的模型文件
MCP 相关
该项目既是桌面插件形式的 MCP 服务,通过 HTTP 向客户端暴露 Blockbench 工具,也提供基于 stdio 的无头 MCP 服务。默认仅监听本机回环地址,并可通过设置关闭 risky_eval 工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Blockbench MCP
演示集锦
https://github.com/user-attachments/assets/c67d0dd8-ee50-40ba-b308-a84a21772901
所有场景、模型和纹理均通过 Blockbench MCP 插件使用 Agent 技能创建。(在 Blender 中渲染)
插件安装
打开 Blockbench 桌面版,前往 File > Plugins,点击“Load Plugin from URL”,然后粘贴此 URL:
https://jasonjgardner.github.io/blockbench-mcp-plugin/mcp.js
Model Context Protocol 服务
此仓库提供两种 MCP 服务选项。
无头 .bbmodel(stdio)
独立的 stdio MCP 服务可直接编辑、验证、转换和渲染 .bbmodel 文件,无需运行 Blockbench。每个 Agent 都可以启动自己的进程,因此多个 Agent 可以并行工作,同时你仍可使用编辑器。可直接从 GitHub 运行:
npx -y github:jasonjgardner/blockbench-mcp-plugin --root ./models
有关客户端配置、工具列表和限制,请参阅 headless/README.md。
Blockbench 桌面插件(HTTP)
在 Blockbench 设置中配置 MCP 服务:Settings > General > MCP Server Port 和 MCP Server Endpoint。
以下安装设置示例使用默认值
:3000/bb-mcp
安装
以下示例将桌面插件配置为使用 HTTP,将无头服务配置为使用 stdio。你可以使用其中一种或同时使用两种服务。HTTP 需要运行已安装插件的 Blockbench;stdio 需要安装 Node.js 和 npm,并会启动自己的服务进程。
对于无头示例,请将 /path/to/models 替换为模型目录的绝对路径(例如,Windows 上的 C:/Users/you/models)。必须指定 --root,并且文件访问范围仅限于该目录。
在 Windows 上,无法直接启动
npx的客户端应使用"command": "cmd",并在args前添加"/c", "npx",如 Claude Desktop 示例所示。
通用
# Desktop plugin (HTTP)
npx mcp-add --type http --url "http://localhost:3000/bb-mcp" --scope project
# Headless (stdio)
npx mcp-add --name bbmodel --type stdio --command "npx -y github:jasonjgardner/blockbench-mcp-plugin --root /path/to/models" --scope project
VS Code
.vscode/mcp.json
{
"servers": {
"blockbench": {
"url": "http://localhost:3000/bb-mcp",
"type": "http"
},
"bbmodel": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"github:jasonjgardner/blockbench-mcp-plugin",
"--root",
"${input:rootDir}"
]
}
},
"inputs": [
{
"id": "rootDir",
"type": "promptString",
"description": "Root directory for headless Blockbench models",
"default": "${workspaceFolder}/models"
}
]
}
Claude Desktop
claude_desktop_config.json(macOS/Linux)
{
"mcpServers": {
"blockbench": {
"command": "npx",
"args": ["-y", "mcp-remote", "http://localhost:3000/bb-mcp"]
},
"bbmodel": {
"command": "npx",
"args": ["-y", "github:jasonjgardner/blockbench-mcp-plugin", "--root", "/path/to/models"]
}
}
}
claude_desktop_config.json(Windows)
{
"mcpServers": {
"blockbench": {
"command": "cmd",
"args": ["/c", "npx", "-y", "mcp-remote", "http://localhost:3000/bb-mcp"]
},
"bbmodel": {
"command": "cmd",
"args": ["/c", "npx", "-y", "github:jasonjgardner/blockbench-mcp-plugin", "--root", "C:/Users/you/models"]
}
}
}
Claude Code
# Desktop plugin (HTTP)
claude mcp add blockbench --transport http http://localhost:3000/bb-mcp
# Headless (stdio)
claude mcp add bbmodel --transport stdio -- npx -y github:jasonjgardner/blockbench-mcp-plugin --root /path/to/models
Codex
codex plugin marketplace add jasonjgardner/blockbench-mcp-project --ref codex
codex plugin add blockbench-mcp@blockbench-mcp-project
也可以直接注册服务:
# Desktop plugin (HTTP)
codex mcp add blockbench --url http://localhost:3000/bb-mcp
# Headless (stdio)
codex mcp add bbmodel -- npx -y github:jasonjgardner/blockbench-mcp-plugin --root /path/to/models
Antigravity
{
"mcpServers": {
"blockbench": {
"serverUrl": "http://localhost:3000/bb-mcp"
},
"bbmodel": {
"command": "npx",
"args": ["-y", "github:jasonjgardner/blockbench-mcp-plugin", "--root", "/path/to/models"]
}
}
}
Cline
cline_mcp_settings.json
{
"mcpServers": {
"blockbench": {
"url": "http://localhost:3000/bb-mcp",
"type": "streamableHttp",
"disabled": false,
"autoApprove": []
},
"bbmodel": {
"type": "stdio",
"command": "npx",
"args": ["-y", "github:jasonjgardner/blockbench-mcp-plugin", "--root", "/path/to/models"],
"disabled": false,
"autoApprove": []
}
}
}
Ollama
# Desktop plugin (HTTP)
uvx ollmcp -u http://localhost:3000/bb-mcp
# Headless (stdio): register, then start the client
uvx ollmcp mcp add bbmodel -- npx -y github:jasonjgardner/blockbench-mcp-plugin --root /path/to/models
uvx ollmcp
OpenCode
opencode mcp add
桌面 HTTP URL 可选择远程服务,本地服务则用于无头命令。你也可以在 opencode.json 中同时配置两者:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"blockbench": {
"type": "remote",
"url": "http://localhost:3000/bb-mcp",
"enabled": true
},
"bbmodel": {
"type": "local",
"command": ["npx", "-y", "github:jasonjgardner/blockbench-mcp-plugin", "--root", "/path/to/models"],
"enabled": true
}
}
}
本地和远程服务选项请参阅 OpenCode MCP 配置参考。
用法
提示词示例请参阅示例项目。
技能
使用 Agent 技能来编排工具调用。
从其他插件扩展
其他 Blockbench 插件可以通过全局 MCP_QUEUE 注册自己的 MCP 工具,而无需打包或导入此插件。API 和示例请参阅 docs/plugin.md。
说明
官方 Blockbench 插件仓库中的插件不允许使用 AI 功能,因此注册 MCP 工具的插件必须通过其他方式分发。
插件开发
有关设置开发环境以及如何添加新工具、资源和提示词的详细说明,请参阅 CONTRIBUTING.md。
安全
桌面插件的 HTTP 服务默认仅在本机上侦听(127.0.0.1 和 ::1),因此无论客户端将 localhost 解析为 IPv4 还是 IPv6,http://localhost:3000/bb-mcp 都可以正常使用。带有非回环 Origin 或 Host 标头的请求会收到 403 Forbidden,从而防止网页(包括 DNS 重绑定攻击)通过浏览器控制 Blockbench。
若要接受来自其他计算机的连接(例如,来自未使用镜像网络的 WSL2、虚拟机或其他计算机中的客户端),请将 Settings > General > MCP Server Host 设为 0.0.0.0 或 ::,然后重新加载插件。在此模式下,服务器不再检查 Host 标头,因为其他计算机通过服务器地址连接;但仍会拒绝带有非回环 Origin 标头的请求。服务器没有身份验证:任何能访问该端口的人都可以调用所有工具,包括 risky_eval。请仅在可信网络上这样做,并保持防火墙规则严格。
risky_eval 会运行客户端发送的任意 JavaScript。若要将其关闭,请取消选中 Settings > General > Enable risky_eval:已连接的客户端将不再看到此工具,且对它的调用也会被拒绝。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。