[project]
urls = { "Homepage" = "https://github.com/Facets-cloud/facets-module-mcp", "Bug Tracker" = "https://github.com/Facets-cloud/facets-module-mcp/issues", "Documentation" = "https://github.com/Facets-cloud/facets-module-mcp#readme" }
name = "facets-module-mcp"
description = "Facets Module MCP"
dynamic = ["version"]
readme = "README.md"
license = {text = "MIT"}
authors = [
{ name = "Anshul Sao", email = "anshul@facets.cloud" },
{ name = "Anuj Hydrabadi", email = "anuj.hydrabadi@facets.cloud" },
{ name = "Sanmesh Kakade", email = "sanmesh.kakade@facets.cloud" },
]
dependencies = [
"mcp[cli]",
"checkov",
"questionary",
"ftf-cli==0.3.4",
"facets-control-plane-sdk==1.0.3",
"facets-hcl",
]
requires-python = ">=3.11"
keywords = ["Facets", "MCP", "Terraform", "Python"]
classifiers = [
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
"Topic :: Software Development :: Libraries :: Python Modules",
"Topic :: Software Development :: Build Tools",
"Intended Audience :: Developers",
"Development Status :: 4 - Beta",
]
[project.scripts]
facets-module-mcp = "facets_mcp.facets_server:main"
[build-system]
requires = ["setuptools>=61.0", "setuptools-scm>=7.0"]
build-backend = "setuptools.build_meta"
[tool.setuptools_scm]
# Write the version to facets_mcp/_version.py
write_to = "facets_mcp/_version.py"
version_scheme = "post-release"
local_scheme = "node-and-date"
[tool.setuptools.packages.find]
where = ["."]
include = ["facets_mcp*"]
[tool.setuptools.package-data]
"facets_mcp" = [
"prompts/*.yml",
"tools/module_instructions/*.md",
"tools/module_instructions/*.tf",
]
[dependency-groups]
dev = [
"pre-commit>=4.3.0",
"ruff>=0.12.9",
]
[tool.ruff]
target-version = "py311"
[tool.ruff.lint]
# Using Ruff's default rule selection (E4, E7, E9, F)
# Only adding isort for import sorting
select = ["E4", "E7", "E9", "F", "I"]
[tool.ruff.lint.per-file-ignores]
"__init__.py" = ["F401"] # Allow unused imports in __init__ files