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

2.6 MB of memory.
That's the whole runtime.

zeromcp vs rmcp — side by side.

Dependencies
3 ZeroMCP
vs.
6 Official SDK
Throughput
5,111 req/s
vs.
2,452 req/s
Memory
4 MB
vs.
2,420 MB

This is a hello world

Proc-macro imports, a server builder, tool attribute macros, and transport setup. 12 lines before your tool does anything.

rmcp 12 lines
use rmcp::{Server, Tool, tool};

#[tool(description = "Say hello")]
async fn hello(name: String) -> String {
    format!("Hello, {name}!")
}

#[tokio::main]
async fn main() {
    Server::new("test", "1.0.0")
        .tool(hello)
        .serve_stdio()
        .await;
}

This is the whole server

No proc macros. No server builder. No attribute ceremony.
Register a closure and serve.

ZeroMCP 8 lines
let mut server = Server::new();
server.add_tool("hello", "Say hello",
    Input::new().required("name", "string"),
    |args: Value, _ctx: Ctx| Box::pin(async move {
        let name = args["name"].as_str().unwrap_or("world");
        Ok(Value::String(format!("Hello, {name}!")))
    })
);
server.serve().await;

HTTP Performance — Head to Head

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

req/s CPU Memory Ratio
ZeroMCP (Actix) 5,111 0.17% 4 MB 2.1x
Official SDK 2,452 0.03% 2,420 MB

The official Rust SDK leaks memory — 2,420 MB over 5 minutes. ZeroMCP Actix holds steady at 4 MB.

ZeroMCP HTTP Frameworks

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

req/s p99 CPU load Memory
Actix 7,747 0.26ms 19% 5 MB
Axum 7,737 0.37ms 28% 3 MB
Actix Axum

What's different

  • SandboxEnforced. Not advisory.
  • CredentialsPer-directory. Not std::env.
  • 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.

Macro-based tools

ZeroMCP uses runtime registration. If you prefer derive macros for tool definitions, the official SDK (rmcp) supports them.

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.