Cargo Features

[dependencies]
rust-mcp-sdk = { version = "0.9.0", default-features = false, features = ["sse", "streamable-http", "stdio", "auth", "server", "client", "hyper-server", "ssl", "tls-no-provider", "macros"] }
default = auth, client, hyper-server, macros, server, sse, ssl, stdio, streamable-http

All features enabled by default

sse default = http, http-body, http-body-util

Enables sse of rust-mcp-transport

Affects routes::messages_routes, routes::sse_routes

streamable-http default hyper-server = http, http-body, http-body-util

Enables streamable-http of rust-mcp-transport

Affects mcp_client_runtime::with_transport_options, mcp_client_runtime_core::with_transport_options

stdio default

Enables stdio of rust-mcp-transport

auth default = reqwest, url

Enables jsonwebtoken

Affects auth_routes::handle_auth_request, routes::auth_routes, server::HyperServerOptions.auth, http_utils::url_base, http_utils::error_message_from_response, utils::join_url, rust-mcp-sdk::mcp_http

server default hyper-server

Server feature

Affects rust-mcp-sdk::mcp_server, mcp_handlers::mcp_server_handler, mcp_handlers::mcp_server_handler_core, mcp_runtimes::server_runtime, mcp_handler::McpServerHandler, mcp_handler::ToMcpServerHandler, mcp_handler::ToMcpServerHandlerCore, rust-mcp-sdk::session_store

client default

Client feature

Affects rust-mcp-sdk::mcp_client, mcp_handlers::mcp_client_handler, mcp_handlers::mcp_client_handler_core, mcp_runtimes::client_runtime, mcp_handler::McpClientHandler, mcp_handler::ToMcpClientHandler, mcp_handler::ToMcpClientHandlerCore

hyper-server default = axum, axum-server, http, http-body, http-body-util, hyper, server, streamable-http, tokio-stream

Affects mcp_server::McpServer.session_id, rust-mcp-sdk::mcp_http, rust-mcp-sdk::session_store

ssl default

Enables tls-rustls of axum-server ^0.7

tls-no-provider

Enables tls-rustls-no-provider of axum-server ^0.7

macros default

Enables sdk of rust-mcp-macros

Affects rust-mcp-sdk::macros

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

rust-mcp-macros macros
axum hyper-server
tokio-stream hyper-server
axum-server hyper-server ssl tls-no-provider?

Enables axum-server ^0.7

hyper hyper-server
http hyper-server sse streamable-http
http-body-util hyper-server sse streamable-http
http-body hyper-server sse streamable-http
url auth
jsonwebtoken auth
reqwest auth

Enables reqwest ^0.12