Banter MCP
用于Banter SDK开发的模型上下文协议(MCP)服务器。让Claude充分了解您的Unity项目和工具,以创建可视化脚本图、WebRoot JavaScript等。
特性
- Banter SDK知识:所有68个组件、164个VS节点和JavaScript API的完整参考
- 可视化脚本生成:创建和验证VS图
.asset文件 - WebRoot JS生成:为构建的Banter场景编写JavaScript
- Unity集成:查询项目状态,检查导入状态,刷新资产
- 闭环工作流:验证→ 写→ 验证
快速开始
1.安装依赖项
cd C:/tools/banter-mcp
npm install
npm run build2.添加到克劳德代码
claude mcp add banter --scope user -- node C:/tools/banter-mcp/dist/index.js设置Unity项目路径:
# Windows PowerShell
$env:UNITY_PROJECT_PATH = "E:/unity/MCP_base"或添加到您的 .claude.json:
{
"mcpServers": {
"banter": {
"command": "node",
"args": ["C:/tools/banter-mcp/dist/index.js"],
"env": {
"UNITY_PROJECT_PATH": "E:/unity/MCP_base"
}
}
}
}3.安装Unity扩展(可选-用于完整反馈循环)
将Unity扩展复制到您的项目中:
C:/tools/banter-mcp/unity-extension/Editor/BanterMCPBridge.cs
→ YourProject/Assets/Editor/BanterMCPBridge.csUnity将自动编译它并开始导出项目状态。
用法
资源(克劳德可以阅读的知识)
| 资源 | 描述 |
|---|---|
banter://components | 所有68个Banter组件及其属性 |
banter://vs-nodes | 所有164个可视化脚本节点 |
banter://js-api | 完成BS.\*JavaScript API |
banter://vs-instructions | 如何创建VS图形文件 |
unity://types | 统一基础(矢量3、四元数等) |
project://state | 当前场景层次结构(需要扩展) |
project://console | Unity控制台日志(需要扩展) |
工具(克劳德可以采取的行动)
| 工具 | 说明 |
|---|---|
validate_vs_graph | 写入前验证VS图JSON |
generate_vs_graph | 根据规范生成VS图 |
write_vs_graph | 将经过验证的图形写入Unity项目 |
write_webroot_js | 将JavaScript写入WebRoot文件夹 |
query_project_state | 查询场景层次结构、组件、资源 |
check_import_status | 正确验证Unity导入的资产 |
get_console_logs | 读取Unity控制台输出 |
refresh_unity_assets | 触发Unity重新导入资产 |
提示(引导式工作流程)
| 提示 | 描述 |
|---|---|
create_interactive_object | 制作可抓取VR对象的指南 |
create_vs_graph | 一步一步VS图形创建 |
banter_best_practices | 开发最佳实践 |
debug_vs_graph | 帮助修复VS图问题 |
multiplayer_sync | 多人游戏同步指南 |
工作流示例
You: "Create a grabbable ball that changes color when grabbed"
Claude:
1. Reads banter://components for component info
2. Uses generate_vs_graph to create the logic
3. Uses validate_vs_graph to check for errors
4. Uses write_vs_graph to save to Unity
5. Uses check_import_status to verify it worked
6. Reports success with the asset path项目结构
banter-mcp/
├── src/
│ ├── index.ts # MCP server entry point
│ ├── lib/
│ │ ├── config.ts # Configuration management
│ │ └── http-server.ts # HTTP transport (optional)
│ ├── resources/ # Static knowledge
│ │ ├── banter-components.ts
│ │ ├── banter-vs-nodes.ts
│ │ ├── banter-js-api.ts
│ │ ├── unity-types.ts
│ │ └── vs-graph-instructions.ts
│ ├── tools/ # MCP tools
│ │ ├── validate-vs-graph.ts
│ │ ├── generate-vs-graph.ts
│ │ ├── write-vs-graph.ts
│ │ ├── write-webroot-js.ts
│ │ ├── query-project.ts
│ │ └── check-import-status.ts
│ └── prompts/ # Guided workflows
│ └── index.ts
├── unity-extension/
│ └── Editor/
│ └── BanterMCPBridge.cs # Unity Editor extension
├── package.json
└── tsconfig.jsonHTTP模式(可选)
对于共享或远程访问:
node dist/index.js --http --port 42067然后配置客户端以连接到 http://localhost:42067/mcp
本地AI支持
此MCP遵循标准MCP协议,因此它适用于任何兼容MCP的客户端,包括:
- 克劳德代码(stdio)
- 克劳德桌面(stdio)
- 光标(标准输入)
- 任何支持MCP的客户端
对于本地LLM(Ollama,llama.cpp),使用MCP桥,如:
故障排除
“未设置UNITY_PROJECT_PATH”
将环境变量设置为Unity项目根目录:
export UNITY_PROJECT_PATH="/path/to/your/unity/project"“未检测到Unity扩展”
- 将BanterMCPBridge.cs复制到资源/编辑器/
- 打开Unity并让它编译
- 检查控制台是否“\[BanterMCP\]网桥已初始化”
VS图形验证错误
常见修复:
- 使用
Banter.VisualScripting.OnGrab,不Banter.VisualScripting.Events.OnGrab - 添加
coroutine: false到事件节点 - 生成真正的GUID,而不是模式
- 使用
InvokeMember对于GetComponent,不是一个GetEmponent节点
许可证
麻省理工学院
