[build-system] requires = ["hatchling>=1.24"] build-backend = "hatchling.build" [project] name = "prometheus-mcp" version = "0.5.0" description = "MCP server for Prometheus and Alertmanager — query metrics, inspect alerts, explore targets, check cardinality, and investigate incidents (read-only)." readme = "README.md" license = "MIT" requires-python = ">=3.10" authors = [ { name = "Mikhail Shchegolev" }, ] keywords = ["mcp", "prometheus", "metrics", "observability", "promql", "monitoring", "claude", "anthropic"] classifiers = [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: System :: Monitoring", ] dependencies = [ # Upper bound is load-bearing: mcp 2.0 removed ``mcp.server.fastmcp``, # which every tool module imports, so an unpinned install of the SDK # breaks the package at import time. Lift only together with a port. "mcp>=1.2,<2", "requests>=2.31", "urllib3>=2.0", "pydantic>=2.0", "typing-extensions>=4.5; python_version < '3.12'", ] [project.optional-dependencies] dev = [ "pytest>=7", "ruff>=0.5", "responses>=0.25", "pytest-cov>=4", ] [project.scripts] prometheus-mcp = "prometheus_mcp.server:main" [project.urls] Homepage = "https://github.com/mshegolev/prometheus-mcp" Issues = "https://github.com/mshegolev/prometheus-mcp/issues" [tool.hatch.build.targets.wheel] packages = ["src/prometheus_mcp"] [tool.ruff] line-length = 120 target-version = "py310" [tool.ruff.lint] select = ["E", "F", "W", "I", "B", "UP"] [tool.pytest.ini_options] testpaths = ["tests"]