Test the capability boundary: high-assurance TransferFunds through the same MCP protocol
Run 5 asks a different architectural question. The operation is a high-assurance TransferFunds capability with tenant isolation, ownership, authorization revalidation, frozen-account checks, available-funds and daily-limit checks, idempotency, audit evidence and an atomic transaction. Both paths expose the same capability through MCP. The conventional path uses a purpose-built MCP tool backed by EF Core; the Foundgine path uses MCP + Foundgine High-Assurance Postgres. MCP is the common agent-facing protocol — the experiment changes what happens behind MCP.
Both paths use MCP
MCP is deliberately held constant. The experiment compares the implementation behind the agent-facing protocol.
Both paths issue one MCP tool call per flow, but that call does different amounts of work: the conventional path transfers one record per call, while the Foundgine path batches a full concurrency-sized group of transfers into a single UNNEST call. Measured per-second throughput reflects that: Foundgine's batched path sustained roughly 6–11× the conventional path's RPS across every workload/concurrency cell in the matrix, including at C64. At 10,000 customers/C64 specifically, Foundgine averaged about 10,159 RPS versus 1,714 RPS for the conventional MCP + EF Core path. Average wall time per completed transfer was higher on the Foundgine path (about 180.9 ms versus 32.9 ms at that cell), which is the expected cost of queuing inside a large batch rather than a scalability problem. Both paths recorded zero failures in the published cells.
Read the finding first, then inspect the exact evidence.
This page tells the story of the experiment. The benchmark explorer contains the interactive workload/concurrency matrix and selected-cell comparison.
The benchmark distinguishes measured timings and tool calls from its estimated context-load heuristic.
Run 5b → is a controlled follow-up that holds the client fixed and isolates individual MCP calls versus one semantic batch call, to test whether the C64 behaviour above is tied to this specific endpoint or to batching generally.
← Benchmark landing page · Run 5b · How it works · Architecture