Blender HTTP桥接工具

MCPBLENDER Core是一个结合Blender插件HTTP桥接和MCP stdio服务器的工具,用于通过HTTP和标准输入输出协议暴露Blender场景工具和MCP工具调用。

  • by aresnake
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 aresnake/MCPBLENDER

使用说明

MCPBLENDER核心

单声道回购组合:

  • Blender插件HTTP桥,在 http://127.0.0.1:9876.
  • 一个stdio MCP服务器,使用以下命令将MCP工具调用转发到网桥 {method, params} 有效载荷。

运行模式

1) Blender HTTP桥(Blender内部)

  • 安装/指向PYTHONPATH blender_addon.
  • 无头启动Blender:
    blender --background --python blender_addon/mcpblender_addon/bridge_http/server.py
  • 布里奇继续听 http://127.0.0.1:9876 并提供服务 /health + /rpc.
  • 有效载荷形状 /rpc: {"method": "<tool>", "params": {...}}.

2) MCP stdio服务器

  • 确保网桥正在运行(同一台机器,端口9876)。
  • PYTHONPATH应包括 server_mcp/src.
  • 运行: python -m mcpblender_server.server (stdio上以换行符分隔的JSON)。
  • 请求形状: {"method": "<tool>", "params": {...}, "request_id": "<id>"}.
  • 服务器只是转发 {method, params} 并返回网桥信封。

3) FastMCP适配器

  • python -m mcpblender_server.mcp_stdio 通过模型上下文协议服务器SDK公开MCP工具。

暴露的工具

看 docs/TOOLS_CORE.md 查看完整列表。关键方法:

  • scene.snapshot
  • scenegraph.search, scenegraph.get
  • object.create_cube, object.move_object, object.transform
  • object.delete
  • material.assign_simple
  • diagnostics.tail (仅用于服务器诊断)

示例/rpc有效载荷

  • 删除对象: {"method": "object.delete", "params": {"name": "Cube"}}
  • 指定材质: {"method": "material.assign_simple", "params": {"object": "Cube", "name": "Mat", "color": [0.8,0.2,0.2,1.0]}}

发展

  • 测验: pytest -q
  • 无头搅拌机冒烟: blender --background --python tests_headless/smoke.py