Ruby 1.3x faster.
1.3x faster.
Less memory. Zero gems.
ZeroMCP vs fast-mcp — HTTP benchmarks.
Throughput
4,762 req/s ZeroMCP
vs. 3,731 req/s fast-mcp
Latency (p50)
0.19 ms ZeroMCP
vs. 0.23 ms fast-mcp
Memory
33 MB ZeroMCP
vs. 48 MB fast-mcp
HTTP Performance — Head to Head
Same hello tool. Same methodology. 5-minute sustained load in Docker. Rack+Puma for ZeroMCP, fast-mcp with built-in server.
req/s p50 p99 Memory CPU
ZeroMCP (Rack+Puma) 4,762 0.19ms 0.43ms 33 MB 0.06%
fast-mcp 3,731 0.23ms 0.57ms 48 MB 0.02%
The tradeoff
fast-mcp is a Ruby gem with a DSL that bundles its own built-in server. ZeroMCP is a .rb file you mount on Rack+Puma — zero gems, zero DSL. That no-framework approach explains the 1.3x throughput gap (4,762 vs 3,731 req/s) and why ZeroMCP uses 33 MB to fast-mcp's 48 MB. Neither is wrong. fast-mcp is simpler to prototype with its built-in DSL. ZeroMCP is simpler to run on infrastructure you already trust.