MCP.so
Sign In

kuri (栗 or くり)

@itsaphel

About kuri (栗 or くり)

Ergonomic framework to write MCP Servers in Rust

Basic information

Category

Other

License

MIT

Runtime

rust

Transports

stdio

Publisher

itsaphel

Config

No standard config provided

This server doesn't expose a parseable MCP config block in its README. See the repository for install instructions.

Repository

Tools

No tools detected

We auto-extract tools from the README. The maintainer can list them under a ## Tools heading to populate this section.

Overview

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

FAQ from kuri

What sets kuri apart from other MCP server crates?

kuri focuses on minimal use of complex macros, minimal boilerplate, and leverages the tower ecosystem for middleware like timeouts and tracing. It aims to make MCP server programming in Rust extremely pleasant while keeping internals clean and readable.

What are the runtime dependencies of kuri?

kuri requires Rust, as well as tokio, serde, serde_json, schemars, and async-trait (all listed as typical Cargo.toml dependencies).

What MCP features does kuri currently support?

It supports core lifecycle (initialization, capability negotiation), tools (feature complete with tests), prompts (mostly complete with tests), and the stdin/stdout transport. Resources, streaming HTTP transport, completions, and pagination are not yet implemented but are planned for the future.

Does kuri support HTTP transport?

Not yet. The README notes that streaming HTTP transport (per the 2025-03-26 protocol) is on the roadmap but not currently supported. Only stdio transport is available at this time.

Comments

More Other MCP servers