ZeroMCP v0.1.0 is here. v0.2.0 coming soon.
Java

988 lines.
No Spring. No Netty.

zeromcp vs mcp-java-sdk — side by side.

Dependencies
1 ZeroMCP
vs.
15 Official SDK
Throughput
3,791 req/s
vs.
2,658 req/s
Memory
207 MB
vs.
217 MB

This is a hello world

A server builder, JsonSchema objects, CallToolResult wrapping, and transport setup. 13 lines of ceremony before your tool does anything.

mcp-java-sdk 13 lines
var server = McpServer.sync("test")
    .tool(new SyncToolSpecification(
        new Tool("hello", "Say hello",
            new JsonSchemaObject(Map.of("name",
                new JsonSchemaString()))),
        (exchange, args) -> new CallToolResult(
            List.of(new TextContent(
                "Hello, " + args.get("name") + "!"))
        )
    ))
    .build();
var transport = new StdioServerTransport();
server.connect(transport);

This is the whole server

No builder chain. No JsonSchema objects. No CallToolResult wrapping.
Register a lambda and serve.

ZeroMCP 7 lines
var server = new ZeroMcp();
server.tool("hello", Tool.builder()
    .description("Say hello")
    .input(new Input().required("name", "string"))
    .execute((args, ctx) ->
        "Hello, " + args.get("name") + "!")
    .build());
server.serveStdio();

HTTP Performance — Head to Head

Same hello tool. Same methodology. 5-minute sustained load in Docker. Javalin for ZeroMCP, stdio proxy for the official SDK.

req/s CPU Memory Ratio
ZeroMCP (Javalin) 3,791 0.16% 207 MB 1.4x
Official SDK 2,658 0.15% 217 MB

ZeroMCP HTTP Frameworks

ZeroMCP embedded natively in Java frameworks. No proxy. No subprocess. 300-second sustained load.

req/s p99 CPU load Memory
Javalin 4,169 0.41ms 36% 181 MB
Javalin

What's different

  • SandboxEnforced. Not advisory.
  • CredentialsPer-directory. Not System.getenv.
  • ProcessesOne. Not N.
  • Hot reloadBuilt-in. Not restart.
  • ComposabilityConnect remote MCP servers. Official SDK can't.
  • TransportStreamable HTTP by default. Stdio too.

When to use the official SDK

ZeroMCP makes trade-offs. Here's what you give up.

Resources and prompts

ZeroMCP implements tools only. If you need MCP resources, prompts, or sampling, use the official SDK.

Builder pattern

ZeroMCP uses a simpler registration API. If you prefer the full builder pattern with typed schemas, use the official SDK.

Spec parity

The official SDK tracks every spec change immediately. ZeroMCP prioritizes stability over spec completeness.

Enterprise support

The official SDK is maintained by the MCP specification team at Anthropic. ZeroMCP is maintained by the antidrift team (Reloop Labs, LLC).

Register a function. It's an MCP tool.