内容
# blockout-mcp
MCP(模型上下文协议)stdio 桥接器,用于 **[Blockout](https://github.com/wassermanproductions/blockout)** — 面向 AI 电影制作的开源预视桌面应用程序。在连接此服务器后,AI 代理可以搭建灰盒世界、添加编排的人群、动画化角色、调整相机帧率和移动相机,搭配经典的摄影预设,拖动时间轴,截取视口截图,并驱动导出 — 所有这些都如同用户在应用程序中所做的操作一样。
零依赖。Node ≥ 18。一个文件。
## 要求
1. **Blockout 桌面应用程序必须正在运行**,并且有一个项目已打开。从 [Blockout 仓库](https://github.com/wassermanproductions/blockout) 获取它(从源代码构建或使用发布的 DMG 文件)。
2. 启动时,Blockout 在一个随机端口上启动一个 **仅限本地主机** 的控制服务器,并将一个发现文件写入 `~/.config/blockout/control.json`(随机 bearer token,模式 0600,退出时删除)。此桥接器会自动读取该文件 — 无需配置,也无需输入凭证。
## 连接
### Hermes
将以下内容添加到 `~/.hermes/config.yaml`(或从 Hermes MCP 目录中安装,一旦列出):
```yaml
mcp_servers:
blockout:
command: "node"
args: ["/absolute/path/to/blockout-mcp/blockout-mcp.mjs"]
```
### Claude 代码
```bash
claude mcp add blockout -- node /absolute/path/to/blockout-mcp/blockout-mcp.mjs
```
### 任意 MCP 客户端(通用 stdio 配置)
```json
{ "mcpServers": { "blockout": { "command": "node", "args": ["/absolute/path/to/blockout-mcp/blockout-mcp.mjs"] } } }
```
## 工具(30)
`get_state` · `list_assets` · `add_entity` · `move_entity` · `delete_entity` · `add_actor_mark` · `add_camera_mark` · `clear_camera_marks` · `set_shot` · `new_shot` · `apply_framing` · `list_camera_moves` · `apply_camera_move` · `set_track_subject` · `list_action_presets` · `apply_action_preset` · `list_sequence_styles` · `spawn_sequence` · `set_reference` · `snap_to_ground` · `set_time` · `play` · `stop` · `screenshot` · `list_presets` · `save_preset` · `apply_preset` 等 — 首先调用 `get_state`;每个工具描述都包含场景约定(米;+X 向右,-Z 向前;朝向 0 面向 -Z)。
一个典型的代理会话:`get_state` → `add_entity`/`spawn_sequence` → `apply_camera_move` → `screenshot` 查看结果 → `set_shot`/`play`。
## 安全
控制服务器仅绑定到 127.0.0.1,使用每个启动时生成的随机 bearer token,并且应用程序验证每个操作是否与白名单相符。没有任何内容暴露在机器外部。
## 许可证和致谢
Apache-2.0 — 请参阅 [LICENSE](LICENSE)。根据 [NOTICE](NOTICE) 文件,使用、分支和重新分发必须注明 **Sam Wasserman ([wassermanproductions.com](https://wassermanproductions.com))**。