[package]
name = "mcp-postgres"
version = "1.3.1"
edition = "2021"
authors = ["Piyush"]
description = "High-performance MCP server for PostgreSQL with CPU-aware connection pooling and optimized buffers"
repository = "https://github.com/corporatepiyush/mcp-pg-rust"
homepage = "https://github.com/corporatepiyush/mcp-pg-rust"
license = "Apache-2.0"
readme = "README.md"
keywords = ["mcp", "postgresql", "database", "server", "json-rpc"]
categories = ["database", "web-programming::http-server"]
include = ["src/", "bin/", "tools.json", "Cargo.toml", "README.md", "schema.sql"]
[dependencies]
tokio = { version = "1.41", features = ["macros", "rt-multi-thread", "io-util", "net", "time", "sync", "io-std"] }
tokio-postgres = { version = "0.7", features = ["with-serde_json-1"] }
deadpool = "0.12"
deadpool-postgres = "0.14"
axum = "0.7"
hyper = { version = "1.0", features = ["full"] }
futures = "0.3"
tokio-stream = "0.1"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
lru = "0.12"
uuid = { version = "1.10", features = ["v4"] }
crossbeam = { version = "0.8", features = ["crossbeam-queue"] }
once_cell = "1.20"
fake = { version = "5.1" }
dashmap = "6.0"
parking_lot = "0.12"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter", "fmt"] }
thiserror = "1.0"
anyhow = "1.0"
prometheus = { version = "0.13", default-features = false }
clap = { version = "4.5", features = ["derive"] }
mimalloc = { version = "0.1", features = ["local_dynamic_tls", "extended", "override"] }
libc = "0.2"
num_cpus = "1.16"
reqwest = { version = "0.11", features = ["json"] }
[dev-dependencies]
tokio-test = "0.4"
criterion = "0.5"
[[bench]]
name = "micro_bench"
harness = false
[[bench]]
name = "pool_stress_bench"
harness = false
[[bin]]
name = "mcp-postgres"
path = "src/main.rs"
[[bin]]
name = "generate_load"
path = "bin/generate_load.rs"
[[bin]]
name = "batch_load"
path = "bin/batch_load.rs"
[[bin]]
name = "benchmark"
path = "bin/benchmark.rs"
[[bin]]
name = "load_test_data"
path = "bin/load_test_data.rs"
[[bin]]
name = "measure_latency"
path = "bin/measure_latency.rs"
[profile.release]
opt-level = 3
lto = "fat"
codegen-units = 1
strip = true
panic = "abort"
overflow-checks = false
[profile.bench]
inherits = "release"
debug = true