Five separate, read-only local DuckDB data warehouses (synthetic Jaffle Shop data), each surfaced behind its own streamable-HTTP MCP server. Connect your coding agent or custom harness to compare multi-source MCP querying against A2A delegation.
How this sandbox works:
1. Physical isolation: Each table lives in its own locked, read-only DuckDB file (orders.duckdb, stores.duckdb, customers.duckdb, order_items.duckdb, products.duckdb). Cross-table SQL JOIN, CTE, or UNION queries at a source are rejected.
2. Paging & simulated distance: Every source returns at most 500 rows per page (pass page=2, 3, ... while more: true) and adds a 100 ms simulated network delay per call. Money columns (subtotal, tax_paid, order_total, price) are in integer cents.
3. Zero-load & durable telemetry: Refreshing this page reads /metrics.json from in-memory atomic counters in <1 ms (hydrated from BigQuery on cold start and streamed asynchronously on every MCP call) so page reloads never touch DuckDB or run BigQuery queries.
Machine-readable catalog: /catalog.json · Live metrics JSON: /metrics.json
| MCP Server | Isolated Warehouse | Cols | Rows | Streamable-HTTP Endpoint | Tools | Total Calls | 7d Calls | Avg ms |
|---|
| Warehouse | Key Columns & Relationships | Notes |
|---|---|---|
orders.duckdb | id (PK), customer → customers.id, store_id → stores.id, ordered_at, subtotal, tax_paid, order_total | 66,375 rows · 2018-09-01 to 2021-08-30 · cents |
stores.duckdb | id (PK), name, opened_at, tax_rate | 6 stores (Philadelphia, Brooklyn, Chicago, San Francisco, New Orleans, ...) |
customers.duckdb | id (PK), name | 2,583 customers (81 share a name; group by id, not name) |
order_items.duckdb | id (PK), order_id → orders.id, sku → products.sku | 99,753 line items |
products.duckdb | sku (PK), name, type (jaffle / beverage), price, description | 10 products · price in cents |
{
"mcpServers": {
"warehouse-orders": { "type": "http", "url": "https://msampathkumar.com/demos/data-warehouse/orders/" },
"warehouse-stores": { "type": "http", "url": "https://msampathkumar.com/demos/data-warehouse/stores/" },
"warehouse-customers": { "type": "http", "url": "https://msampathkumar.com/demos/data-warehouse/customers/" },
"warehouse-order_items": { "type": "http", "url": "https://msampathkumar.com/demos/data-warehouse/order_items/" },
"warehouse-products": { "type": "http", "url": "https://msampathkumar.com/demos/data-warehouse/products/" }
}
}
| # | Level | Question | Warehouses Needed |
|---|