PM

pulseengine/mcp

Developer tools
2 stars 0 forks Quality 57 Trend 28Apache-2.0

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

Overview

Rust framework for Model Context Protocol Rust framework for building Model Context Protocol servers and clients. Part of the PulseEngine toolchain. Provides the MCP implementation used across PulseEngine's AI-assisted development infrastructure. The #[mcp_server] and #[mcp_tools] macros generate the protocol implementation. Tool schemas are derived from your Rust types via JsonSchema. - hello-world — Minimal server - hello-world-with-auth — With authentication - resources-demo — Resource templates with #[mcp_resource] - ui-enabled-server — MCP Apps extension (SEP-1865) Implements MCP 2025-11-25: tools, resources, prompts, completions, sampling, roots, logging, progress, cancellation, tasks, and elicitation. Part of PulseEngine — a WebAssembly toolchain for safety-critical systems, with formally verified components

README

 

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,
}

#[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 {
        let name = params.name.unwrap_or_else(|| "World".to_string());
        Ok(format!("Hello, {name}!"))
    }
}

#[tokio::main]
async fn main() -> Result> {
    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


View the full README on GitHub

Install

This server does not publish a one-line install command.

Open the repository installation guide New to MCP? Start with the mcpskill.org guide →