crates-docs 1.0.0

High-performance Rust crate documentation query MCP server, supports Stdio/HTTP/SSE transport and OAuth authentication
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
name = "crates-docs"
version = "1.0.0"
authors = ["KingingWang <KingingWang@foxmail.com>"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "High-performance Rust crate documentation query MCP server, supports Stdio/HTTP/SSE transport and OAuth authentication"
readme = "README.md"
keywords = [
    "mcp",
    "docs",
    "documentation",
    "crates",
    "server",
]
categories = [
    "api-bindings",
    "web-programming",
    "network-programming",
]
license = "MIT"
repository = "https://github.com/KingingWang/crates-docs"

[features]
api-key = ["dep:api-keys-simplified"]
auth = [
    "rust-mcp-sdk/auth",
    "dep:http",
]
cache-memory = ["dep:moka"]
cache-redis = ["dep:redis"]
client = ["rust-mcp-sdk/client"]
default = [
    "server",
    "stdio",
    "macros",
    "cache-memory",
    "logging",
    "api-key",
    "auth",
]
hyper-server = ["rust-mcp-sdk/hyper-server"]
logging = []
macros = ["rust-mcp-sdk/macros"]
server = ["rust-mcp-sdk/server"]
sse = ["rust-mcp-sdk/sse"]
stdio = ["rust-mcp-sdk/stdio"]
streamable-http = ["rust-mcp-sdk/streamable-http"]
tls = ["rust-mcp-sdk/ssl"]

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

[[bin]]
name = "crates-docs"
path = "src/main.rs"

[[example]]
name = "handler_optimization"
path = "examples/handler_optimization.rs"

[[test]]
name = "e2e"
path = "tests/e2e/mod.rs"

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

[[test]]
name = "unit"
path = "tests/unit/mod.rs"

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

[dependencies.anyhow]
version = "1.0.102"

[dependencies.api-keys-simplified]
version = "0.5.1"
optional = true

[dependencies.async-trait]
version = "0.1.89"

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

[dependencies.clap]
version = "4.6"
features = [
    "derive",
    "env",
]

[dependencies.fastrand]
version = "2.4"

[dependencies.flate2]
version = "1.1"

[dependencies.html2md]
version = "0.2.15"

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

[dependencies.moka]
version = "0.12.15"
features = ["sync"]
optional = true

[dependencies.notify]
version = "8.2"

[dependencies.prometheus-client]
version = "0.24.1"

[dependencies.redis]
version = "1.2"
features = ["tokio-comp"]
optional = true

[dependencies.regex]
version = "1.12"

[dependencies.reqwest]
version = "0.13.4"
features = ["json"]

[dependencies.reqwest-middleware]
version = "0.5.2"

[dependencies.reqwest-retry]
version = "0.9.1"

[dependencies.rust-mcp-sdk]
version = "0.9"
features = [
    "server",
    "macros",
    "stdio",
    "hyper-server",
    "streamable-http",
    "sse",
    "auth",
]
default-features = false

[dependencies.scraper]
version = "0.27"

[dependencies.serde]
version = "1.0.228"
features = ["derive"]

[dependencies.serde_json]
version = "1.0.150"

[dependencies.thiserror]
version = "2.0.18"

[dependencies.tokio]
version = "1.52"
features = ["full"]

[dependencies.toml]
version = "1.1.2"

[dependencies.toml_edit]
version = "0.25.12"

[dependencies.tracing]
version = "0.1.44"

[dependencies.tracing-appender]
version = "0.2.5"

[dependencies.tracing-subscriber]
version = "0.3.23"
features = ["env-filter"]

[dependencies.url]
version = "2.5.8"

[dependencies.urlencoding]
version = "2.1.3"

[dependencies.uuid]
version = "1.23.2"
features = ["v4"]

[dev-dependencies.http]
version = "1.4"

[dev-dependencies.reqwest]
version = "0.13.4"
features = ["json"]

[dev-dependencies.serde_json]
version = "1.0.150"

[dev-dependencies.serial_test]
version = "3.4"

[dev-dependencies.temp-env]
version = "0.3.6"

[dev-dependencies.tempfile]
version = "3.27"

[dev-dependencies.tokio]
version = "1.52"
features = [
    "full",
    "test-util",
]

[dev-dependencies.wiremock]
version = "0.6.5"

[build-dependencies.chrono]
version = "0.4.44"

[target."cfg(unix)".dependencies.libc]
version = "0.2"

[profile.dev]
opt-level = 0
debug = 2

[profile.release]
opt-level = 3
lto = true
codegen-units = 1
strip = true

[profile.test]
opt-level = 0
debug = 2