mcp-sse-proxy 0.2.4

SSE (Server-Sent Events) proxy implementation for MCP protocol using rmcp 0.10
Documentation
use arc_swap::{ArcSwap, ArcSwapOption};
pub use mcp_common::ToolFilter;
use rmcp::{
    ErrorData, RoleClient, RoleServer, ServerHandler, ServiceError,
    model::{
        CallToolRequestParam, CallToolResult, ClientInfo, Content, Implementation, ListToolsResult,
        PaginatedRequestParam, ProtocolVersion, ServerInfo,
    },
    service::{NotificationContext, Peer, RequestContext, RunningService},
};
use std::sync::Arc;
use std::sync::atomic::{AtomicU64, Ordering};
use std::time::{Instant, SystemTime};
use tracing::{debug, error, info, warn};

mod backend_session;
mod direct_core;
mod discovery;
mod dispatch;
mod forwarding;
mod lifecycle;

pub use backend_session::BackendSessionHandler;
pub use direct_core::SseHandler;
use discovery::DiscoveryCache;
pub use dispatch::SseServerHandler;
use forwarding::ForwardError;

static REQUEST_COUNTER: AtomicU64 = AtomicU64::new(1);