[package]
edition = "2021"
rust-version = "1.80.0"
name = "rust-mcp-extra"
version = "0.2.4"
authors = ["Ali Hashemi"]
build = false
exclude = [
"assets/",
"tests/",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A companion crate to rust-mcp-sdk offering extra implementations of core traits like SessionStore and EventStore, enabling integration with various database backends and third-party platforms such as AWS Lambda for serverless and cloud-native MCP applications."
documentation = "https://docs.rs/rust-mcp-extra"
readme = "README.md"
keywords = [
"serverless",
"mcp-server",
"rust-mcp",
"cloud",
"lambda",
]
categories = [
"api-bindings",
"development-tools",
"asynchronous",
"parsing",
]
license = "MIT"
repository = "https://github.com/rust-mcp-stack/rust-mcp-sdk"
[features]
auth = [
"url",
"reqwest",
"async-lock",
"async-trait",
"rust-mcp-sdk/auth",
"rust-mcp-sdk/hyper-server",
"rust-mcp-sdk/sse",
"serde",
"serde_json",
"http",
"bytes",
"http-body",
"http-body-util",
]
default = [
"auth",
"nano_id",
"snowflake_id",
"random_62_id",
"time_64_id",
]
nano_id = ["nanoid"]
random_62_id = [
"rand",
"rand_distr",
]
snowflake_id = ["once_cell"]
time_64_id = ["base64"]
[lib]
name = "rust_mcp_extra"
path = "src/lib.rs"
[[example]]
name = "keycloak-auth"
path = "examples/keycloak-auth.rs"
[[example]]
name = "scalekit-auth"
path = "examples/scalekit-auth.rs"
[[example]]
name = "workos-auth"
path = "examples/workos-auth.rs"
[dependencies.async-lock]
version = "3.4.1"
optional = true
[dependencies.async-trait]
version = "0.1"
optional = true
[dependencies.base64]
version = "0.22"
optional = true
[dependencies.bytes]
version = "1.10"
optional = true
[dependencies.http]
version = "1.3"
optional = true
[dependencies.http-body]
version = "1.0"
optional = true
[dependencies.http-body-util]
version = "0.1"
optional = true
[dependencies.nanoid]
version = "0.4"
optional = true
[dependencies.once_cell]
version = "1.2"
optional = true
[dependencies.rand]
version = "0.9.2"
features = [
"std",
"alloc",
]
optional = true
[dependencies.rand_distr]
version = "0.5.1"
optional = true
[dependencies.reqwest]
version = "0.12"
features = [
"stream",
"rustls-tls",
"json",
"cookies",
"multipart",
"rustls-tls",
"json",
"cookies",
]
optional = true
default-features = false
[dependencies.rust-mcp-sdk]
version = "0.9.0"
features = [
"server",
"auth",
"hyper-server",
"macros",
]
default-features = false
[dependencies.serde]
version = "1.0"
features = [
"derive",
"serde_derive",
]
optional = true
[dependencies.serde_json]
version = "1.0"
optional = true
[dependencies.tracing]
version = "0.1"
[dependencies.url]
version = "2.5"
optional = true
[dev-dependencies.oauth2-test-server]
version = "0.1"
[dev-dependencies.tokio]
version = "1.4"
features = ["full"]
[dev-dependencies.tracing-subscriber]
version = "0.3"
features = [
"env-filter",
"std",
"fmt",
"env-filter",
]
[lints.clippy]
dbg_macro = "deny"
todo = "deny"