About Neva
Neva is an MCP server published by RomanEmreis in the Developer Tools category: model Context Protocol SDK exploring structured agent infrastructure with explicit runtime behaviour. It has been installed 0 times through Conduid.
The repository has 5 stars and 0 forks, with the last commit 6 months ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues (0) before depending on it in production.
Install
npx nevaThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about Neva
Powered by Claude · Grounded in docs
Security checks
- ·README presentNot checked yet.
- ·License declaredNot checked yet.
- ·Tests presentNot checked yet.
- ·Dependencies pinnedNot checked yet.
- ·No dynamic code executionNot checked yet.
- !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.
README
Neva
Blazingly fast and easily configurable Model Context Protocol (MCP) server and client SDK for Rust. With simple configuration and ergonomic APIs, it provides everything you need to quickly build MCP clients and servers, fully aligned with the latest MCP specification.
💡 Note: This project is currently in preview. Breaking changes can be introduced without prior notice.
Tutorial | API Docs | Examples
Key Features
- Client & Server SDK - one library to build both MCP clients and servers with the powers of Rust.
- Performance - asynchronous and Tokio-powered.
- Transports - stdio for local integrations and Streamable HTTP for remote, bidirectional communication.
- Tools, Resources & Prompts - full-house support for defining and consuming the main MCP entities.
- Authentication & Authorization - bearer token authentication, role-based access control, and more to fit high security standards.
- Structured Data - output validation, embedded resources, and resource links out of the box.
- Spec Alignment - designed to track the latest MCP specification and cover its core functionality.
Quick Start
MCP Client
Dependencies
[dependencies]
neva = { version = "0.3.2", features = ["client-full"] }
tokio = { version = "1", features = ["full"] }
Code
use neva::prelude::*;
#[tokio::main]
async fn main() -> Result<(), Error> {
let mut client = Client::new()
.with_options(|opt| opt
.with_stdio("npx", ["-y", "@modelcontextprotocol/server-everything"])
.with_timeout(Duration::from_secs(5)));
client.connect().await?;
// List tools
let tools = client.list_tools(None).await?;
for tool in tools.tools {
println!("- {}", tool.name);
}
// Call a tool
let args = [
("message", "Hello MCP!")
];
let result = client.call_tool("echo", args).await?;
println!("{:?}", result.content);
client.disconnect().await
}
MCP Server
Dependencies
[dependencies]
neva = { version = "0.3.2", features = ["server-full"] }
tokio = { version = "1", features = ["full"] }
Code
use neva::prelude::*;
#[tool(descr = "A say hello tool")]
async fn hello(name: String) -> String {
format!("Hello, {name}!")
}
#[resource(uri = "res://{name}", descr = "Some details about resource")]
async fn get_res(name: String) -> ResourceContents {
ResourceContents::new(format!("res://{name}"))
.with_mime("plain/text")
.with_text(format!("Some details about resource: {name}"))
}
#[prompt(descr = "Analyze code for potential improvements")]
async fn analyze_code(lang: String) -> PromptMessage {
PromptMessage::user()
.with(format!("Language: {lang}"))
}
#[tokio::main]
async fn main() {
App::new()
.with_options(|opt| opt
.with_stdio()
.with_name("Sample MCP server")
.with_version("1.0.0"))
.run()
.await;
}
README mirrored from the source repository 3 months ago. The original is authoritative.