Blender场景生成工具

一个使用OpenAI模型和Blender MCP服务器进行Blender场景操作的工具,支持通过API调用生成和修改3D场景。

  • by AlexStansfield
  • Jinja
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 AlexStansfield/casual-mcp-blender-example

使用说明

🧪 休闲MCP+搅拌机MCP示例

此存储库提供了一个使用 休闲MCP 随着 Blender MCP服务器.

它演示了如何:

  • 配置OpenAI模型(或任何兼容的API)
  • 使用经过调整的系统提示调用Blender工具
  • 启动 casual-mcp API服务器通过UVX
  • 向发送请求 /generate 操纵Blender场景的端点

🚀 如何跑步

1. 安装依赖项

确保你有 uv 安装。

2.根据需要调整config.json

提供的config.json提供了对4个OpenAI模型的访问:

  • gpt-4o-mini
  • gpt-4.1-nano
  • gpt-4.1-mini
  • gpt-4.1

您可以添加其他模型,包括在openai兼容API上运行的模型-请参阅下面的配置部分

3.复制和配置环境变量

cp .env-example .env

如果使用OpenAI模型,请将您的API密钥添加到 .env:

OPEN_AI_API_KEY=your-openai-key
TOOL_RESULT_FORMAT=result

4.运行API

从项目的根源:

uvx casual-mcp serve

这将在启动API服务器 http://localhost:8000 并自动注册 blender-mcp 工具服务器。

🧠 发出工具调用请求

使用 /generate 发送LLM提示的端点:

POST /generate
Content-Type: application/json

{
  "session_id": "my-session",
  "model": "gpt-4.1-nano",
  "user_prompt": "Create a large plane, place an area light above it"
}

助手将根据需要调用Blender工具功能。

要使用更高级的用法,请使用 chat 端点请参见 MCP文件.

会话

这 session_id 是可选的,但通过添加它,Casual MCP将把会话中的先前消息作为上下文提供给LLM。只需更改该值即可开始新的会话。如果分步构建场景,则此用例中很有用,因为它将前面的消息提供回LLM。

要从会话中获取所有消息(有利于查看LLM调用的工具和结果),您可以对以下对象执行get请求 /generate/session/{session_id}

会话存储在内存中,任何服务器重启都会清除它。

⚙️ 配置

此项目使用 casual_mcp_config.json 用于声明模型和服务器的文件。

➕ 添加您自己的模型

要添加自己的OpenAI兼容模型:

"my-local-model": {
  "provider": "openai",
  "endpoint": "http://localhost:1234/v1",
  "model": "my-llm-name",
  "template": "blender"
}

您可以阅读更多关于配置文件结构的信息 这里

确保 template 匹配中的文件 prompt-templates/ (例如。, blender.j2)以便模型使用提供的系统模板。

🧩 提示模板

这 prompt-templates/blender.j2 该文件是一个专为Blender MCP工具集的工具调用而定制的Jinja2模板。它使用工具模式呈现,并作为系统提示发送。

这有助于指导LLM使用具有正确参数的正确工具。

请随意调整,看看它如何改善结果。还有另一个版本 blender-v2.j2 提供的可能会提供更好的结果(我仍在测试中)。

🛠 附加说明

  • 模型必须支持函数/工具调用才能正常工作(OpenAI GPT-4.1+或兼容)
  • 服务器使用 模型上下文协议(MCP) 定义和调用工具调用
  • 所有会话都存储在内存中

📄 许可证

麻省理工学院