[package]
name        = "stygian-mcp"
description = "Unified MCP (Model Context Protocol) server aggregating stygian-graph, stygian-browser, and stygian-proxy."
version.workspace     = true
edition.workspace     = true
rust-version.workspace = true
authors.workspace     = true
license.workspace     = true
repository.workspace  = true
readme        = "README.md"
keywords = ["mcp", "scraping", "llm", "browser", "proxy"]
categories = ["web-programming", "network-programming"]

[dependencies]
tokio       = { workspace = true, features = ["full"] }
tokio-util  = { workspace = true }
serde_json  = { workspace = true }
tracing     = { workspace = true }
tracing-subscriber = { workspace = true, features = ["env-filter"] }
anyhow      = { workspace = true }

stygian-graph   = { path = "../stygian-graph",   version = "0.14.0", default-features = false, features = ["mcp", "browser", "charon"] }
stygian-browser = { path = "../stygian-browser",  version = "0.14.0", default-features = false, features = ["mcp", "stealth"] }
stygian-proxy   = { path = "../stygian-proxy",    version = "0.14.0", features = ["mcp", "browser", "tls-profiled"] }
stygian-plugin  = { path = "../stygian-plugin",   version = "0.14.0", features = ["graph-integration"] }

[features]
# Structured data extraction via derive macros
extract = ["stygian-graph/extract", "stygian-browser/extract"]
# Attach to an existing user browser via CDP WebSocket (browser_attach tool)
mcp-attach = ["stygian-browser/mcp-attach"]

[[bin]]
name = "stygian-mcp"
path = "src/main.rs"

[lints]
workspace = true
