[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "terraform-cloud-mcp"
version = "0.8.6"
description = "A Model Context Protocol (MCP) server that integrates Claude with the Terraform Cloud API, allowing Claude to manage your Terraform infrastructure through natural conversation."
readme = "README.md"
requires-python = ">=3.12"
dependencies = [
"dotenv>=0.9.9",
"httpx>=0.28.1",
"mcp[cli]>=1.4.1",
]
packages = ["terraform_cloud_mcp", "api", "models", "tools", "utils"]
[project.scripts]
terraform-cloud-mcp = "terraform_cloud_mcp.server:main"
[tool.hatch.metadata]
allow-direct-references = true
[tool.mypy]
python_version = "3.12"
warn_return_any = true
warn_unused_configs = true
disallow_untyped_defs = true
disallow_incomplete_defs = true
check_untyped_defs = true
disallow_untyped_decorators = true
no_implicit_optional = true
strict_optional = true
namespace_packages = true
explicit_package_bases = true
ignore_missing_imports = true
# Focus only on individual modules
[[tool.mypy.overrides]]
module = ["api.*", "models.*", "tools.*", "utils.*"]
disallow_untyped_defs = true
[[tool.mypy.overrides]]
module = ["server"]
disallow_untyped_defs = true
[[tool.mypy.overrides]]
module = ["mcp.*", "dotenv.*", "httpx.*"]
ignore_missing_imports = true