Crate mcp_sse_proxy

Crate mcp_sse_proxy 

Source
Expand description

MCP SSE Proxy Module

This module provides a proxy implementation for MCP (Model Context Protocol) using SSE (Server-Sent Events) transport.

§Features

  • SSE Support: Uses rmcp 0.10 with SSE transport (removed in 0.12+)
  • Stable Protocol: Production-ready SSE implementation
  • Hot Swap: Supports backend connection replacement
  • Fallback Option: Used when Streamable HTTP is not supported
  • High-level Client API: Simple connection interface hiding transport details

§Architecture

Client → SSE → SseHandler → Backend MCP Service

§Example

use mcp_sse_proxy::{SseClientConnection, McpClientConfig};

// Connect to an MCP server
let config = McpClientConfig::new("http://localhost:8080/sse");
let conn = SseClientConnection::connect(config).await?;

// List available tools
let tools = conn.list_tools().await?;

Re-exports§

pub use sse_handler::SseHandler;
pub use server::run_sse_server;
pub use server::run_sse_server_from_config;
pub use client::SseClientConnection;
pub use client::ToolInfo;

Modules§

client
SSE Client Connection Module
config
Configuration types for SSE proxy
server
SSE server implementation
sse_handler

Structs§

CallToolRequestParam
Parameters for calling a tool provided by an MCP server.
ClientCapabilities
Builder
Implementation
McpClientConfig
Configuration for MCP client connections
McpServiceConfig
MCP 服务配置
Peer
An interface to fetch the remote client or server
RoleClient
RoleServer
RunningService
SseClientConfig
SseClientTransport
A client-agnostic SSE transport for RMCP that supports Server-Sent Events.
SseServer
SseServerConfig
TokioChildProcess
ToolFilter
工具过滤配置

Traits§

ServerHandler
ServiceExt

Functions§

stdio
StdIO Transport

Type Aliases§

ClientInfo
ServerInfo