Persistence foundation for an MCP task. Protocol fields plus owner and expiry. Construct from McpTaskInfo, mutate with Try*, and emit the SDK record with InputRequest}). Durable providers subclass this type (for example McpTaskEntity) and add only engine-specific columns.
Fan-out for InputResponseReceived across processes. Stores with no native pub/sub (Entity Framework Core, distributed cache, Azure Tables) take this as an optional constructor argument.