[package]
edition = "2021"
rust-version = "1.75"
name = "dynamic-mcp"
version = "1.5.0"
authors = ["Anssi Syrjäsalo"]
build = false
exclude = [
".claude/",
".cursor/",
".opencode/",
".github/",
"benches/",
"docs/implementation/",
".gitignore",
".mcp.json",
".pre-commit-config.yaml",
"AGENTS.md",
"CLAUDE.md",
"CONTRIBUTING.md",
"config-schema.json",
"dynamic-mcp.json",
"mise.toml",
"mise.lock",
"pyproject.toml",
"SECURITY.md",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "MCP proxy server that reduces LLM context overhead with on-demand tool loading from multiple upstream servers."
documentation = "https://docs.rs/dynamic-mcp"
readme = "README.md"
keywords = [
"mcp",
"proxy",
"server",
"llm",
"ai",
]
categories = [
"command-line-utilities",
"development-tools",
"network-programming",
]
license = "MIT"
repository = "https://github.com/asyrjasalo/dynamic-mcp"
[[bin]]
name = "dmcp"
path = "src/main.rs"
[[test]]
name = "cli_import_integration_test"
path = "tests/cli_import_integration_test.rs"
[[test]]
name = "cli_integration_test"
path = "tests/cli_integration_test.rs"
[[test]]
name = "config_integration_test"
path = "tests/config_integration_test.rs"
[[test]]
name = "features_test"
path = "tests/features_test.rs"
[[test]]
name = "prompts_test"
path = "tests/prompts_test.rs"
[[test]]
name = "resources_test"
path = "tests/resources_test.rs"
[[test]]
name = "server_everything_e2e_test"
path = "tests/server_everything_e2e_test.rs"
[[test]]
name = "tools_test"
path = "tests/tools_test.rs"
[dependencies.anyhow]
version = "1.0"
[dependencies.async-trait]
version = "0.1"
[dependencies.bytes]
version = "1.0"
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.clap]
version = "4"
features = ["derive"]
[dependencies.dirs]
version = "5.0"
[dependencies.futures]
version = "0.3"
[dependencies.json_comments]
version = "0.2"
[dependencies.notify]
version = "6.1"
[dependencies.oauth2]
version = "4.4"
features = ["reqwest"]
[dependencies.open]
version = "5.0"
[dependencies.regex]
version = "1"
[dependencies.reqwest]
version = "0.12"
features = [
"json",
"stream",
"rustls-tls",
]
default-features = false
[dependencies.rmcp]
version = "0.12"
features = [
"client",
"transport-streamable-http-client-reqwest",
]
[dependencies.rust-mcp-schema]
version = "0.9"
[dependencies.schemars]
version = "0.8"
features = ["preserve_order"]
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.thiserror]
version = "1.0"
[dependencies.tokio]
version = "1"
features = ["full"]
[dependencies.tokio-util]
version = "0.7"
features = ["codec"]
[dependencies.toml]
version = "0.8"
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
[dependencies.url]
version = "2.5"
[dependencies.uuid]
version = "1.0"
features = [
"v4",
"serde",
]
[dev-dependencies.serial_test]
version = "3"
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tokio-test]
version = "0.4"
[target."cfg(unix)".dependencies.libc]
version = "0.2"
[target."cfg(windows)".dependencies.windows-sys]
version = "0.59"
features = [
"Win32_Foundation",
"Win32_System_Threading",
"Win32_System_Console",
]
[profile.release]
opt-level = 3
lto = true
codegen-units = 1
strip = true