[package] name = "kei-mcp" version = "0.1.0" edition.workspace = true rust-version.workspace = true description = "Model Context Protocol (MCP) server — exposes atom registry over stdio JSON-RPC" authors.workspace = true license.workspace = true [[bin]] name = "kei-mcp" path = "src/main.rs" [lib] name = "kei_mcp" path = "src/lib.rs" [dependencies] serde = { workspace = true } serde_json = { workspace = true } # v0.39: io-std added for tokio::io::stdin/stdout used by the MCP stdio # transport in main.rs (workspace tokio doesn't enable io-std by default). tokio = { workspace = true, features = ["io-std"] } # v0.40 (Phase C): toml needed for safe_tools::policy_chain — reads # ~/.claude/hooks/_lib/policy-chain.toml to know which hooks to chain. toml = "0.8" # v0.41 (audit fix #5): killpg via libc on Unix — kill_on_drop only SIGKILLs # the immediate child shell, leaving grandchildren orphaned. We set the child # in its own process group and killpg() the group on timeout. [target.'cfg(unix)'.dependencies] libc = "0.2" anyhow = { workspace = true } kei-atom-discovery = { path = "../kei-atom-discovery" } kei-skills = { path = "../kei-skills" } [dev-dependencies] tempfile = { workspace = true } # test-util: needed by tests/tools_call_timeout.rs for tokio::time::advance + Builder::start_paused tokio = { workspace = true, features = ["test-util"] } [package.metadata.keisei] backend = "none" description = "MCP server exposing atoms as tools, skills as resources, over stdio JSON-RPC" authors = ["Denis Parfionovich "]