#![warn(missing_docs)]
#![cfg_attr(docsrs, feature(doc_cfg))]
#[cfg(feature = "cli")]
#[cfg_attr(docsrs, doc(cfg(feature = "cli")))]
pub mod cli;
pub mod credentials;
pub mod doctor;
pub mod framing;
pub mod headers;
pub mod limits;
pub mod schema;
pub mod serve;
#[cfg(feature = "testkit")]
#[cfg_attr(docsrs, doc(cfg(feature = "testkit")))]
pub mod testkit;
pub mod transport;
pub use credentials::{Rejection, credentials_rejected};
pub use framing::{FrameKind, frame, structured_framed};
pub use headers::{ForwardConfig, ForwardedHeaders, forward_headers_middleware};
pub use limits::{Limits, truncate_chars};
pub use serve::{ServeOptions, serve};
pub use transport::{ACCEPT_STREAMABLE, McpHandler, http_router, run_stdio, serve_http, wants_sse};
pub fn init_tracing() {
use tracing_subscriber::{layer::SubscriberExt, util::SubscriberInitExt};
let _ = tracing_subscriber::registry()
.with(
tracing_subscriber::EnvFilter::try_from_default_env().unwrap_or_else(|_| "info".into()),
)
.with(tracing_subscriber::fmt::layer().with_writer(std::io::stderr))
.try_init();
}