[project] name = "oraclarr-mcp" version = "1.0.1" description = "Read-only diagnostic MCP server for the arr media stack" readme = "README.md" requires-python = ">=3.12" license = "Apache-2.0" keywords = ["mcp", "model-context-protocol", "sonarr", "radarr", "prowlarr", "arr", "homelab", "media"] classifiers = [ "Development Status :: 5 - Production/Stable", "Intended Audience :: System Administrators", "Topic :: Multimedia", "Programming Language :: Python :: 3.12", ] dependencies = [ "mcp[cli]>=1.10", "httpx>=0.27", "pydantic>=2.7", "pyyaml>=6.0", "python-dotenv>=1.0", ] [project.urls] Homepage = "https://github.com/bdog720/oraclarr" Repository = "https://github.com/bdog720/oraclarr" Issues = "https://github.com/bdog720/oraclarr/issues" [project.scripts] oraclarr-mcp = "oraclarr_mcp.__main__:main" [dependency-groups] dev = ["pytest>=8", "pytest-asyncio>=0.23", "respx>=0.21", "ruff>=0.5"] [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.hatch.build.targets.wheel] packages = ["src/oraclarr_mcp"] [tool.pytest.ini_options] asyncio_mode = "auto" testpaths = ["tests"] [tool.ruff] line-length = 100 [tool.ruff.lint.per-file-ignores] # Compact one-line fake-client stubs (name=...; type=...) are idiomatic in tests. "tests/**" = ["E702"]