Crate pulseengine_mcp_transport

Crate pulseengine_mcp_transport 

Source
Expand description

Transport layer implementations for MCP servers

This crate provides multiple transport options for MCP servers: stdio (Claude Desktop), HTTP (web clients), and WebSocket (real-time).

§Quick Start

use pulseengine_mcp_transport::{TransportConfig, create_transport};
use pulseengine_mcp_protocol::{Request, Response};

// Create HTTP transport
let config = TransportConfig::Http { port: 3001 };
let mut transport = create_transport(config).unwrap();

// Define request handler
let handler = Box::new(|request: Request| {
    Box::pin(async move {
        Response {
            jsonrpc: "2.0".to_string(),
            id: request.id.clone(),
            result: Some(serde_json::json!({"result": "handled"})),
            error: None,
        }
    })
});

// Start transport (in real code)
// transport.start(handler).await.unwrap();

Re-exports§

pub use config::TransportConfig;

Modules§

batch
JSON-RPC batch message handling
config
Transport configuration
http
HTTP transport with Server-Sent Events (SSE) support
stdio
MCP-compliant Standard I/O transport implementation
streamable_http
Streamable HTTP transport implementation for MCP
validation
Message validation utilities for MCP transport compliance
websocket
WebSocket transport implementation (stub)

Enums§

TransportError

Traits§

Transport
Transport layer trait

Functions§

create_transport
Create a transport from configuration

Type Aliases§

RequestHandler
Request handler function type