[build-system] requires = ["setuptools>=77"] build-backend = "setuptools.build_meta" [project] name = "zapi-mcp" dynamic = ["version"] description = "MCP server for Zabbix API — daily brief, problems, hosts, items" readme = "README.md" license = "MIT" requires-python = ">=3.10" authors = [ {name = "AIKAWA Shigechika"}, ] keywords = ["zabbix", "mcp", "model-context-protocol", "monitoring", "network"] classifiers = [ "Development Status :: 3 - Alpha", "Intended Audience :: System Administrators", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Topic :: System :: Monitoring", ] # zapi-lib 0.6.0: first release with get_maintenances on ZapiClient, which # get_maintenance_windows and the daily_brief In Maintenance section need. dependencies = [ "zapi-lib>=0.6.0,<1", "mcp>=1.2,<2", ] [project.scripts] zapi-mcp = "zapi_mcp.__main__:main" [project.urls] Homepage = "https://github.com/shigechika/zapi-mcp" Repository = "https://github.com/shigechika/zapi-mcp" Issues = "https://github.com/shigechika/zapi-mcp/issues" [dependency-groups] dev = [ "pytest", "pytest-cov", "respx", "ruff", "freezegun", ] [tool.setuptools] packages = ["zapi_mcp"] [tool.setuptools.dynamic] version = {attr = "zapi_mcp.__version__"} [tool.ruff] target-version = "py310" line-length = 120 # The smoke-test engine is shared verbatim with the other servers that use this # harness and is formatted at a narrower width there. Reformatting it here would # make every future sync produce a spurious diff and invite the copies to drift # apart, so it is excluded from *formatting* only — `ruff check` does not consult # this list, so its lint rules still apply. format.exclude = ["scripts/smoke_harness.py"] [tool.ruff.lint] select = ["E", "F", "I", "W", "UP"] [tool.pytest.ini_options] testpaths = ["tests"]