Cargo Features

[dependencies]
rmcp = { version = "0.1.5", default-features = false, features = ["client", "server", "macros", "transport-sse", "transport-async-rw", "transport-io", "transport-child-process", "transport-sse-server", "tower", "base64"] }
default = base64, macros, server

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

client

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

transport-sse

Enables reqwest, sse-stream, and url

reqwest:

for SSE client

Affects transport::sse

transport-async-rw server transport-child-process? transport-io? transport-sse-server?

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

Affects transport::io

transport-io = transport-async-rw

Enables io-std of tokio

tokio:

stdin, stdout, stderr

Affects io::stdio

transport-child-process = transport-async-rw

Enables process of tokio

Affects transport::child_process

transport-sse-server = transport-async-rw

Enables axum, rand, and tokio-stream

axum:

for sse-server transport

Affects transport::sse_server

tower

Enables tower-service

For tower compatibility

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 ^0.21

for image encoding