Token导航 LogoToken导航TokenDH.com
Blen MCP Backend logo
设计创作未说明官方级别未说明来源级核验

Blen MCP Backend

MCP Server

Blender MCP HTTP API Server是一个独立的HTTP API服务器,提供REST端点通过模型上下文协议(MCP)与Blender交互。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
3D建模JavaScriptAPI集成

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

kingof64sqrs

提供方

kingof64sqrs

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

搅拌机MCP HTTP API服务器

一个独立的HTTP API服务器,通过模型上下文协议(MCP)为与Blender交互提供REST端点。

快速开始

1.安装依赖项

cd mcp
npm install

2.配置环境

.env 文件已配置为:

PORT=5000
BLENDER_HOST=localhost
BLENDER_PORT=9876

3.启动服务器

npm start

或者用于自动重新加载的开发:

npm run dev

服务器信息

  • 基本URL: http://localhost:5000
  • 协议:带有JSON响应的REST API
  • MCP连接:通过stdio连接到搅拌机MCP(uvx搅拌机MCP)

API终点

健康与状态

GET/健康

检查服务器是否正在运行并已连接到MCP。

答复:

{
  "success": true,
  "connected": true,
  "timestamp": "2025-11-25T10:30:00.000Z"
}

GET/api/工具

列出所有可用的MCP工具。

答复:

{
  "success": true,
  "data": {
    "tools": [
      {
        "name": "mcp_blender-mcp_execute_blender_code",
        "description": "Execute arbitrary Python code in Blender",
        "inputSchema": {...}
      }
    ]
  }
}

GET/api/状态

获取浑源3D、PolyHaven和Sketchfab的集成状态。

答复:

{
  "success": true,
  "data": {
    "hunyuan3d": {...},
    "polyhaven": {...},
    "sketchfab": {...}
  }
}

______________________________________________________________________

搅拌机控制

POST/api/混合器/执行

在Blender中执行Python代码。

请求正文:

{
  "code": "import bpy\nbpy.ops.mesh.primitive_cube_add(location=(0, 0, 0))"
}

答复:

{
  "success": true,
  "data": {
    "content": [
      {
        "type": "text",
        "text": "Execution successful"
      }
    ]
  }
}

示例(PowerShell):

$body = @{
    code = "import bpy`nbpy.ops.mesh.primitive_cube_add(location=(2, 0, 0))"
} | ConvertTo-Json

Invoke-RestMethod -Uri "http://localhost:5000/api/blender/execute" -Method Post -Body $body -ContentType "application/json"

GET/api/blender/截图

捕获Blender视口的屏幕截图。

查询参数:

  • maxSize (可选):最大尺寸(像素)(默认值:800)

例子:

Invoke-RestMethod -Uri "http://localhost:5000/api/blender/screenshot?maxSize=1024"

GET/api/mixer/scene

获取有关当前Blender场景的信息。

答复:

{
  "success": true,
  "data": {
    "content": [
      {
        "type": "text",
        "text": "Scene info: objects: 3, cameras: 1..."
      }
    ]
  }
}

例子:

Invoke-RestMethod -Uri "http://localhost:5000/api/blender/scene"

POST/api/混合器/纹理

将纹理应用于对象。

请求正文:

{
  "objectName": "Cube",
  "textureId": "wood_floor_01"
}

示例(PowerShell):

$body = @{
    objectName = "Cube"
    textureId = "wood_floor_01"
} | ConvertTo-Json

Invoke-RestMethod -Uri "http://localhost:5000/api/blender/texture" -Method Post -Body $body -ContentType "application/json"

______________________________________________________________________

Sketchfab集成

GET/api/sketchfab/搜索

在Sketchfab上搜索3D模型。

查询参数:

  • query (必填):搜索词
  • count (可选):结果数(默认值:20)
  • categories (可选):逗号分隔的类别
  • downloadable (可选):仅可下载型号(默认值:true)

例子:

Invoke-RestMethod -Uri "http://localhost:5000/api/sketchfab/search?query=car&count=10"

POST/api/sketchfab/下载

下载Sketchfab模型并将其导入Blender。

请求正文:

{
  "uid": "model-uid-from-search"
}

示例(PowerShell):

$body = @{
    uid = "abc123xyz"
} | ConvertTo-Json

Invoke-RestMethod -Uri "http://localhost:5000/api/sketchfab/download" -Method Post -Body $body -ContentType "application/json"

______________________________________________________________________

3D生成

POST/api/generate/hhyper3d

使用Hyper3D AI生成3D模型。

请求正文:

{
  "textPrompt": "a red sports car",
  "bboxCondition": [2, 1, 1]
}
  • textPrompt (必填):要生成的模型的描述
  • bboxCondition (可选):尺寸比\[长、宽、高\]

示例(PowerShell):

$body = @{
    textPrompt = "a medieval castle"
    bboxCondition = @(2, 2, 3)
} | ConvertTo-Json

Invoke-RestMethod -Uri "http://localhost:5000/api/generate/hyper3d" -Method Post -Body $body -ContentType "application/json"

______________________________________________________________________

通用工具调用

POST/api/工具/调用

使用自定义参数按名称调用任何MCP工具。

请求正文:

{
  "toolName": "mcp_blender-mcp_execute_blender_code",
  "args": {
    "code": "import bpy\nprint(bpy.context.scene.name)"
  }
}

示例(PowerShell):

$body = @{
    toolName = "mcp_blender-mcp_get_scene_info"
    args = @{}
} | ConvertTo-Json

Invoke-RestMethod -Uri "http://localhost:5000/api/tool/call" -Method Post -Body $body -ContentType "application/json"

______________________________________________________________________

完整使用示例

以下是一个完整的工作流程示例:

# 1. Check server health
Invoke-RestMethod -Uri "http://localhost:5000/health"

# 2. List available tools
Invoke-RestMethod -Uri "http://localhost:5000/api/tools"

# 3. Create a cube in Blender
$createCube = @{
    code = @"
import bpy
bpy.ops.mesh.primitive_cube_add(size=2, location=(0, 0, 0))
bpy.context.active_object.name = 'MyCube'
"@
} | ConvertTo-Json

Invoke-RestMethod -Uri "http://localhost:5000/api/blender/execute" -Method Post -Body $createCube -ContentType "application/json"

# 4. Get scene information
Invoke-RestMethod -Uri "http://localhost:5000/api/blender/scene"

# 5. Take a screenshot
Invoke-RestMethod -Uri "http://localhost:5000/api/blender/screenshot?maxSize=800"

# 6. Search for models
Invoke-RestMethod -Uri "http://localhost:5000/api/sketchfab/search?query=dragon&count=5"

# 7. Generate AI model
$generateModel = @{
    textPrompt = "a futuristic spaceship"
} | ConvertTo-Json

Invoke-RestMethod -Uri "http://localhost:5000/api/generate/hyper3d" -Method Post -Body $generateModel -ContentType "application/json"

错误处理

所有端点都返回一致的错误响应:

{
  "success": false,
  "error": "Error message here"
}

常见HTTP状态代码:

  • 200:成功
  • 400:请求错误(缺少参数)
  • 500:服务器错误
  • 503:服务不可用(MCP未连接)

建筑

[Client] → HTTP Request → [Express Server (server.js)]
                              ↓
                          [MCP Client (mcpClient.js)]
                              ↓
                          stdio (JSON-RPC)
                              ↓
                          [uvx blender-mcp]
                              ↓
                          [Blender via port 9876]

故障排除

服务器无法启动

  • 确保 uvx 已安装: pip install uv
  • 检查Blender是否在端口9876上启用MCP的情况下运行
  • 验证 .env 文件正确 BLENDER_HOSTBLENDER_PORT

MCP连接失败

  • 确保Blender正在运行
  • 检查Blender MCP插件是否已启用
  • 验证端口9876未被防火墙阻止

命令未执行

  • 检查Blender控制台是否存在Python错误
  • 验证Python代码语法是否正确
  • 确保场景中存在引用的对象/资源

发展

服务器使用:

  • 快速:HTTP服务器框架
  • 儿童工艺:用于生成MCP服务器进程
  • JSON-RPC 2.0:MCP通信协议

要添加新端点,请执行以下操作:

  1. 在中添加路由处理程序 server.js
  2. 在中添加相应的方法 mcpClient.js 如有需要
  3. 更新此文档

许可证

国际学生委员会

目录标签

目录标签

3D建模JavaScriptAPI集成Blender控制本地部署RESTAPI自动化工具3D生成

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP