Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

375 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mcp

Rust framework for Model Context Protocol

 

Rust crates.io License: MIT OR Apache-2.0

 

Rust framework for building Model Context Protocol servers and clients.

Note

Part of the PulseEngine toolchain. Provides the MCP implementation used across PulseEngine's AI-assisted development infrastructure.

Example

use pulseengine_mcp_macros::{mcp_server, mcp_tools};
use schemars::JsonSchema;
use serde::{Deserialize, Serialize};

#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
pub struct GreetParams {
    pub name: Option<String>,
}

#[mcp_server(name = "My Server")]
#[derive(Default, Clone)]
pub struct MyServer;

#[mcp_tools]
impl MyServer {
    /// Greet someone by name
    pub async fn greet(&self, params: GreetParams) -> anyhow::Result<String> {
        let name = params.name.unwrap_or_else(|| "World".to_string());
        Ok(format!("Hello, {name}!"))
    }
}

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    MyServer::configure_stdio_logging();
    MyServer::with_defaults().serve_stdio().await?.run().await
}

The #[mcp_server] and #[mcp_tools] macros generate the protocol implementation. Tool schemas are derived from your Rust types via JsonSchema.

Crates

Crate Description
mcp-protocol MCP types, JSON-RPC, schema validation
mcp-server Server infrastructure with McpBackend trait
mcp-client Client for connecting to MCP servers
mcp-transport stdio, HTTP, WebSocket transports
mcp-auth Authentication, API keys, OAuth 2.1
mcp-security Input validation, rate limiting
mcp-logging Structured logging with credential sanitization
mcp-macros #[mcp_server], #[mcp_tools], #[mcp_resource]

Examples

MCP Spec

Implements MCP 2025-11-25: tools, resources, prompts, completions, sampling, roots, logging, progress, cancellation, tasks, and elicitation.

License

MIT OR Apache-2.0


Part of PulseEngine — formally verified WebAssembly toolchain for safety-critical systems

About

Rust framework for building Model Context Protocol servers and clients. Published to crates.io.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages