sequenceDiagram participant Client as MCP Client participant Server as Wassette MCP Server participant LM as LifecycleManager participant Engine as Wasmtime Engine participant Registry as Component Registry participant Policy as Policy Engine Client->>Server: load-component(path) Server->>LM: load_component(uri) alt OCI Registry LM->>LM: Download from OCI else Local File LM->>LM: Load from filesystem else HTTP URL LM->>LM: Download from URL end LM->>Engine: Create Component Engine->>Engine: Compile WebAssembly Engine->>Engine: Extract WIT Interface LM->>Registry: Register Component Registry->>Registry: Generate JSON Schema Registry->>Registry: Map Tools to Component LM->>Policy: Apply Default Policy Policy->>Policy: Create WASI State Template LM-->>Server: Component ID + LoadResult Server-->>Client: Success with ID Note over Client,Policy: Component is now loaded and ready Client->>Server: call_tool(tool_name, args) Server->>LM: execute_component_call(id, func, params) LM->>Policy: Get WASI State for Component Policy->>Policy: Apply Security Policy Policy->>Engine: Create Store with WASI Context LM->>Engine: Instantiate Component Engine->>Engine: Call Function with Args Engine->>Engine: Execute in Sandbox Engine-->>LM: Results LM-->>Server: JSON Response Server-->>Client: Tool Result