🧪 休闲MCP+搅拌机MCP示例
它演示了如何:
- 配置OpenAI模型(或任何兼容的API)
- 使用经过调整的系统提示调用Blender工具
- 启动
casual-mcpAPI服务器通过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=result4.运行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) 定义和调用工具调用
- 所有会话都存储在内存中
📄 许可证
麻省理工学院
