Skip to main content

mcp_common/
lib.rs

1//! MCP Common - Shared types and utilities for MCP proxy modules
2//!
3//! This crate provides common functionality shared across mcp-sse-proxy
4//! and mcp-streamable-proxy to avoid code duplication.
5//!
6//! # Feature Flags
7//!
8//! - `telemetry`: 基础 OpenTelemetry 支持
9//! - `otlp`: OTLP exporter 支持(用于 Jaeger 等)
10
11pub mod client_config;
12pub mod config;
13pub mod diagnostic;
14pub mod mirror;
15pub mod process_compat;
16pub mod tool_filter;
17
18#[cfg(feature = "telemetry")]
19pub mod telemetry;
20
21// Re-export main types
22pub use client_config::McpClientConfig;
23pub use config::McpServiceConfig;
24pub use process_compat::check_windows_command;
25pub use process_compat::convert_path_to_windows_format;
26pub use process_compat::ensure_runtime_path;
27pub use process_compat::prepare_stdio_env;
28pub use process_compat::preprocess_npx_command_windows;
29pub use process_compat::resolve_windows_command;
30pub use process_compat::spawn_stderr_reader;
31pub use tool_filter::ToolFilter;
32
33// Re-export telemetry types when feature is enabled
34#[cfg(feature = "telemetry")]
35pub use telemetry::{TracingConfig, TracingGuard, create_otel_layer, init_tracing};