rmcp 0.1.5

Rust SDK for Model Context Protocol
Documentation
[dependencies.axum]
features = []
optional = true
version = "0.8"

[dependencies.base64]
optional = true
version = "0.21"

[dependencies.chrono]
features = ["serde"]
version = "0.4.38"

[dependencies.futures]
version = "0.3"

[dependencies.paste]
optional = true
version = "1"

[dependencies.pin-project-lite]
version = "0.2"

[dependencies.rand]
optional = true
version = "0.9"

[dependencies.reqwest]
default-features = false
features = ["json", "stream", "rustls-tls"]
optional = true
version = "0.12"

[dependencies.rmcp-macros]
optional = true
version = "0.1.5"

[dependencies.schemars]
optional = true
version = "0.8"

[dependencies.serde]
features = ["derive", "rc"]
version = "1.0"

[dependencies.serde_json]
version = "1.0"

[dependencies.sse-stream]
optional = true
version = "0.1.3"

[dependencies.thiserror]
version = "2"

[dependencies.tokio]
features = ["sync", "macros", "rt", "time"]
version = "1"

[dependencies.tokio-stream]
optional = true
version = "0.1"

[dependencies.tokio-util]
version = "0.7"

[dependencies.tower-service]
optional = true
version = "0.3"

[dependencies.tracing]
version = "0.1"

[dependencies.url]
optional = true
version = "2.4"

[dev-dependencies.anyhow]
version = "1.0"

[dev-dependencies.schemars]
version = "0.8"

[dev-dependencies.tokio]
features = ["full"]
version = "1"

[dev-dependencies.tracing-subscriber]
features = ["env-filter", "std", "fmt"]
version = "0.3"

[features]
client = []
default = ["base64", "macros", "server"]
macros = ["dep:rmcp-macros", "dep:paste"]
server = ["transport-async-rw", "dep:schemars"]
tower = ["dep:tower-service"]
transport-async-rw = ["tokio/io-util", "tokio-util/codec"]
transport-child-process = ["transport-async-rw", "tokio/process"]
transport-io = ["transport-async-rw", "tokio/io-std"]
transport-sse = ["dep:reqwest", "dep:sse-stream", "dep:url"]
transport-sse-server = ["transport-async-rw", "dep:axum", "dep:rand", "dep:tokio-stream"]

[lib]
name = "rmcp"
path = "src/lib.rs"

[package]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
description = "Rust SDK for Model Context Protocol"
documentation = "https://docs.rs/rmcp"
edition = "2024"
homepage = "https://github.com/4t145/rmcp"
license = "MIT/Apache-2.0"
name = "rmcp"
readme = "README.md"
repository = "https://github.com/4t145/rmcp/"
resolver = "2"
version = "0.1.5"

[package.metadata.docs.rs]
all-features = true

[[test]]
name = "test_complex_schema"
path = "tests/test_complex_schema.rs"

[[test]]
name = "test_tool_handler"
path = "tests/test_tool_handler.rs"

[[test]]
name = "test_tool_macros"
path = "tests/test_tool_macros.rs"
required-features = ["server"]

[[test]]
name = "test_with_js"
path = "tests/test_with_js.rs"
required-features = ["server", "transport-sse-server"]

[[test]]
name = "test_with_python"
path = "tests/test_with_python.rs"
required-features = ["server", "client", "transport-sse-server", "transport-sse", "transport-child-process"]