What is kuri?
kuri is a Rust framework for building Model Context Protocol (MCP) servers, focused on developer ergonomics and clarity. It lets you define tools and prompts as plain async Rust functions with minimal macros, so server programming feels like normal Rust.
How to use kuri?
Add kuri and its dependencies (tokio, serde, schemars, etc.) to your Cargo.toml. Then use MCPServiceBuilder to create a service, register tools and prompts via the #[tool] and #[prompt] macros, and serve over the stdio transport with serve(service.into_request_service(), StdioTransport::new()).
Key features of kuri
- Ergonomic developer experience with minimal macros and boilerplate
- Tools and prompts are plain async Rust functions
- Built on the
tower ecosystem for middleware (timeouts, tracing)
- Core MCP lifecycle: initialization, capability negotiation, session control
- stdio transport included; HTTP streaming transport planned
Use cases of kuri
- Build reliable MCP servers in Rust for LLM tool execution
- Create prompt templates for tasks like text summarisation
- Integrate LLM with external systems via custom, type-safe tools
Comments