[dependencies.base64]
optional = true
version = "0.21"
[dependencies.chrono]
features = ["serde"]
version = "0.4.38"
[dependencies.eventsource-client]
optional = true
version = "0.14.0"
[dependencies.futures]
version = "0.3"
[dependencies.paste]
version = "1"
[dependencies.pin-project-lite]
version = "0.2"
[dependencies.reqwest]
default-features = false
features = ["json", "stream", "rustls-tls"]
optional = true
version = "0.12"
[dependencies.rmcp-macros]
optional = true
version = "0.1"
[dependencies.schemars]
optional = true
version = "0.8"
[dependencies.serde]
features = ["derive", "rc"]
version = "1.0"
[dependencies.serde_json]
version = "1.0"
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
features = ["sync", "macros", "rt"]
version = "1"
[dependencies.tokio-util]
version = "0.7"
[dependencies.tracing]
version = "0.1"
[dev-dependencies.anyhow]
version = "1.0"
[dev-dependencies.schemars]
version = "0.8"
[dev-dependencies.tokio]
features = ["sync", "macros", "io-util", "rt"]
version = "1"
[features]
client = []
default = ["default-json-schema", "base64", "macros", "server"]
default-json-schema = ["dep:schemars"]
macros = ["dep:rmcp-macros"]
server = ["transport-io"]
transport-child-process = ["transport-io"]
transport-io = ["tokio/io-util", "tokio-util/codec"]
transport-sse = ["dep:reqwest", "dep:eventsource-client"]
[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/rmcp"
edition = "2024"
homepage = "https://github.com/4t145/rmcp"
license = "MIT/Apache-2.0"
name = "rmcp"
readme = false
repository = "https://github.com/4t145/rmcp/"
resolver = "2"
version = "0.1.0"
[[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"]