Architecture
vv-mcp exposes Venturi to AI agents over the Model Context Protocol. The protocol side (rmcp on a tokio runtime) never touches the project: it turns each request into a ToolCall and submits it through a McpHandle. Whoever owns the Session drains the matching McpInbox and runs the call. The headless server and the editor window share the same dispatch and tool code.
Call path
Modules
| Module | Role |
server | VenturiServer: rmcp tool router; one async method per tool that builds a ToolCall and awaits the reply |
tools | The ToolCall enum, argument structs (JSON Schema via schemars), mutates() |
host | McpHandle / McpInbox channel, PendingCalls, run_headless |
dispatch | Routes a call on a &mut Session: handled now, or deferred |
edit_tools | Editing tools, all built on vv_core::edit |
media_tools | Frame render, audio levels, export start/status/cancel |
json, ids | Project and state serialisation; string ids for clips, media and timelines |
socket | Unix-socket server for the editor and the --attach bridge |
Dispatch outcomes
Design points
No comments to display
No comments to display