PM

pulseengine/mcp

开发工具

本页由 AI 翻译,技术细节请以原文为准。 查看原文

2 stars 0 forks 质量 57 趋势 28Apache-2.0

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

概览

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

以下为原文 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

在 GitHub 查看完整 README

安装

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

Open the repository installation guide 新手?先看 mcpskill.org 教程 →