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

Coroutines without
the SDK ceremony.

zeromcp vs kotlin-sdk — side by side.

Dependencies
2 ZeroMCP
vs.
~30 Official SDK
Throughput
2,848 req/s
vs.
548 req/s
Memory
194 MB
vs.
204 MB

This is a hello world

Server options, map-based schemas, CallToolResult wrapping, and transport setup. 11 lines of Kotlin DSL that could be simpler.

kotlin-sdk 11 lines
val server = Server(ServerOptions(
    name = "test", version = "1.0.0"))
server.addTool("hello", "Say hello",
    inputSchema = mapOf(
        "name" to mapOf("type" to "string")
    )) { args ->
    CallToolResult(content = listOf(
        TextContent("Hello, ${args["name"]}!")
    ))
}
server.connectStdio()

This is the whole server

No ServerOptions. No CallToolResult. No map-based schemas.
A DSL that reads like Kotlin should.

ZeroMCP 8 lines
val server = Server()
server.tool("hello") {
    description = "Say hello"
    input { required("name", "string") }
    execute { args, ctx ->
        "Hello, ${args["name"]}!"
    }
}
server.serveStdio()

HTTP Performance — Head to Head

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

req/s CPU Memory Ratio
ZeroMCP (Ktor) 2,848 0.11% 194 MB 5.2x
Official SDK 548 0.19% 204 MB

ZeroMCP HTTP Frameworks

ZeroMCP embedded natively in Kotlin frameworks. No proxy. No subprocess. 30-second sustained load.

req/s p99 CPU load Memory
Ktor 3,965 0.96ms 238 MB

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.

DSL definitions

ZeroMCP uses a lightweight DSL. If you need the full Kotlin SDK DSL with typed parameters, use the official.

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.