Thanks to visit codestin.com
Credit goes to lib.rs

Cargo Features

[dependencies]
rmcp = { version = "0.7.0", default-features = false, features = ["client", "server", "macros", "elicitation", "reqwest", "reqwest-tls-no-provider", "server-side-http", "client-side-sse", "transport-sse-client", "transport-sse-client-reqwest", "transport-worker", "transport-streamable-http-client", "transport-streamable-http-client-reqwest", "transport-async-rw", "transport-io", "transport-child-process", "transport-sse-server", "transport-streamable-http-server", "transport-streamable-http-server-session", "tower", "auth", "schemars", "base64"] }
default = base64, macros, server

These default features are set whenever rmcp is added without default-features = false somewhere in the dependency tree.

client

Enables tokio-stream

Affects handler::client, rmcp::service

server default = transport-async-rw

Enables schemars

for auto generate schema

Affects handler::server, rmcp::service

macros default

Enables paste and rmcp-macros

rmcp-macros:

macro

elicitation

Affects server::ElicitationError, server::ElicitationSafe

reqwest transport-sse-client-reqwest? transport…http-client-reqwest?

Enables rustls-tls of reqwest

for SSE client

reqwest-tls-no-provider

Enables rustls-tls-no-provider of reqwest

server-side-http transport-sse-server? transport-streamable-http-server? = tower, uuid

Enables bytes, http, http-body, http-body-util, rand, sse-stream, and tokio-stream

client-side-sse transport-sse-client? transport-streamable-http-client?

SSE client

Enables http and sse-stream

Affects common::client_side_sse

transport-sse-client transport-sse-client-reqwest? = client-side-sse, transport-worker

Affects transport::sse_client

transport-sse-client-reqwest = reqwest, transport-sse-client
transport-worker transport-sse-client? transport-sse-server? transport-streamable-http-client? transport-streamable-http-server?

Enables tokio-stream

Affects transport::worker

transport-streamable-http-client transport…http-client-reqwest? = client-side-sse, transport-worker

Streamable HTTP client

Affects transport::streamable_http_client

transport-streamable-http-client-reqwest = reqwest, transport-streamable-http-client
transport-async-rw server transport-child-process? transport-io? transport-sse-server? transport…http-server-session?

Enables io-util of tokio, codec of tokio-util

Affects transport::async_rw

transport-io = transport-async-rw

Enables io-std of tokio

tokio:

stdin, stdout, stderr

Affects transport::io

transport-child-process = transport-async-rw

Enables process of tokio and process-wrap ^8.2

for child process transport

Affects transport::child_process

transport-sse-server = server-side-http, transport-async-rw, transport-worker

Enables axum

for http-server transport

Affects transport::sse_server, common::server_side_http

transport-streamable-http-server = server-side-http, transport…http-server-session, transport-worker

Affects streamable_http_server::tower, common::server_side_http

transport-streamable-http-server-session transport-streamable-http-server? = transport-async-rw

Enables tokio-stream

Affects transport::streamable_http_server

tower server-side-http?

Enables tower-service

For tower compatibility

auth

Enables oauth2, reqwest, and url

oauth2:

oauth2 support

Affects common::auth, transport::auth

schemars

Enables schemars

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.

base64 default

Enables base64

for image encoding

uuid server-side-http?