[package] name = "tfmcp" version = "0.2.3" edition = "2024" authors = ["nwiizo "] description = "Terraform Model Context Protocol Tool - A CLI tool to manage Terraform through MCP" readme = "README.md" repository = "https://github.com/nwiizo/tfmcp" license = "MIT" keywords = ["terraform", "mcp", "llm", "ai", "claude"] categories = ["command-line-utilities", "development-tools"] build = "build.rs" rust-version = "1.88.0" exclude = [".claude/**", ".cursor/**", ".github/**"] [lib] name = "tfmcp" path = "src/lib.rs" [[bin]] name = "tfmcp" path = "src/main.rs" [dependencies] clap = { version = "4.6", features = ["derive"] } serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" anyhow = "1.0" thiserror = "2.0" futures = "0.3" tokio = { version = "1.50", features = ["full"] } dirs = "6.0" tempfile = "3.27" regex = "1.12" ring = "0.17" reqwest = { version = "0.13", default-features = false, features = [ "json", "query", "rustls", "stream", ] } which = "8.0" chrono = { version = "0.4", features = ["serde"] } # Logging improvements tracing = "0.1" tracing-subscriber = { version = "0.3", features = ["env-filter"] } # MCP SDK rmcp = { version = "3.1.2", features = [ "server", "transport-io", "transport-streamable-http-server", ] } schemars = "1.2" axum = { version = "0.8", default-features = false, features = [ "http1", "json", "tokio", ] } axum-server = { version = "0.8", features = ["tls-rustls"] } tower-http = { version = "0.7", features = ["cors"] } [dev-dependencies] tempfile = "3.27" rmcp = { version = "3.1.2", features = [ "server", "client", "transport-io", "transport-streamable-http-client-reqwest", "transport-streamable-http-server", ] }