[package]
edition = "2021"
name = "crates-docs"
version = "0.9.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"]
cache-memory = ["dep:moka"]
cache-redis = ["dep:redis"]
client = ["rust-mcp-sdk/client"]
default = [
"server",
"stdio",
"macros",
"cache-memory",
"logging",
"api-key",
]
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"
[dependencies.api-keys-simplified]
version = "0.5"
optional = true
[dependencies.async-trait]
version = "0.1"
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.clap]
version = "4.5"
features = [
"derive",
"env",
]
[dependencies.fastrand]
version = "2.3"
[dependencies.flate2]
version = "1.0"
[dependencies.html2md]
version = "0.2"
[dependencies.moka]
version = "0.12"
features = ["sync"]
optional = true
[dependencies.notify]
version = "8.2"
[dependencies.prometheus-client]
version = "0.24.1"
[dependencies.redis]
version = "1.0"
features = ["tokio-comp"]
optional = true
[dependencies.regex]
version = "1.11"
[dependencies.reqwest]
version = "0.13"
features = ["json"]
[dependencies.reqwest-middleware]
version = "0.5"
[dependencies.reqwest-retry]
version = "0.9"
[dependencies.rust-mcp-sdk]
version = "0.9"
features = [
"server",
"macros",
"stdio",
"hyper-server",
"streamable-http",
"sse",
]
default-features = false
[dependencies.scraper]
version = "0.26"
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.thiserror]
version = "2.0"
[dependencies.tokio]
version = "1.50"
features = ["full"]
[dependencies.toml]
version = "1.1.2"
[dependencies.toml_edit]
version = "0.25.10"
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-appender]
version = "0.2"
[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
[dependencies.url]
version = "2.5"
[dependencies.urlencoding]
version = "2.1"
[dependencies.uuid]
version = "1.23.0"
features = ["v4"]
[dev-dependencies.http]
version = "1"
[dev-dependencies.reqwest]
version = "0.13"
features = ["json"]
[dev-dependencies.serde_json]
version = "1.0"
[dev-dependencies.serial_test]
version = "3.0"
[dev-dependencies.temp-env]
version = "0.3"
[dev-dependencies.tempfile]
version = "3.27.0"
[dev-dependencies.tokio]
version = "1.50"
features = [
"full",
"test-util",
]
[dev-dependencies.wiremock]
version = "0.6"
[build-dependencies.chrono]
version = "0.4"
[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