Neva
@RomanEmreis
Model Context Protocol SDK for building structured, production-grade AI systems.
Overview
What is Neva?
Neva is a blazingly fast and easily configurable Model Context Protocol (MCP) server and client SDK for Rust, fully aligned with the latest MCP specification.
How to use Neva?
Add Neva as a dependency in your Cargo.toml (e.g., neva = { version = "0.4.1", features = ["client-full"] } or ["server-full"] for servers), then use the provided APIs to build MCP clients or servers—examples include creating a client to connect via stdio and list tools, or defining a server with tools, resources, and prompts.
Key features of Neva
- Provides both client and server SDK in one library.
- Asynchronous and Tokio-powered for high performance.
- Supports stdio and Streamable HTTP transports.
- Full support for Tools, Resources, and Prompts.
- Built-in bearer token authentication and role-based access control.
- Structured data output validation with embedded resources and links.
Use cases of Neva
- Build an MCP client that connects to remote servers and calls tools.
- Create an MCP server exposing custom tools, resources, and prompts.
- Implement secure bidirectional communication using Streamable HTTP.
FAQ from Neva
Is Neva stable for production use?
Neva is currently in preview; breaking changes can be introduced without prior notice.
What Rust version does Neva require?
Neva requires Rust 1.90+.
What transports does Neva support?
Neva supports stdio for local integrations and Streamable HTTP for remote, bidirectional communication.
What authentication mechanisms are available?
Neva supports bearer token authentication and role-based access control.
How do I get started with Neva?
Add the Neva crate to your Cargo.toml with the appropriate features, then follow the quick-start examples in the README to build a client or server.