Cross-Tool Data Isolation

KV Store

Tool A (a support ticket summariser) caches sensitive customer data including card information. Tool B (a Companies House lookup) attempts to read Tool A's cache. In MCP, shared infrastructure makes this trivial. MPP's per-package scoped KV stores make it physically impossible.

Without MPP
Shared Redis / SQLiteshared by all tools
summary:customer-99821: Emma Davies — card ending 4111, issue: login…
summary:customer-99820: John Pierce — refund request for order ORD-8821…
cache:ticket-list: ["99821","99820","99818"]
last_query: companies house: Acme Technologies Ltd
cache:CH-12345678: {"status":"Active","sic":["62012"]}
With MPP
~/.mpp/kv/com.q2x.support-tool/
summary:customer-99821: Emma Davies — card ending 4111, issue: login…
summary:customer-99820: John Pierce — refund request for order ORD-8821…
cache:ticket-list: ["99821","99820","99818"]
~/.mpp/kv/com.q2x.companies-house/
last_query: companies house: Acme Technologies Ltd
cache:CH-12345678: {"status":"Active","sic":["62012"]}

Per-package scoped KV stores

Each package gets its own SQLite database at ~/.mpp/kv/{package_id}/store.db. The sandbox mounts only this single file. There is no shared storage layer and no API to address another package's store — the isolation is enforced at the OS file-descriptor level, not by convention.