[project] name = "mfp-mcp" version = "0.3.0" description = "MCP server for MyFitnessPal: log, search, and analyze your food diary from any MCP client" readme = "README.md" requires-python = ">=3.10" license = "MIT" authors = [{ name = "Mason Levy" }] keywords = ["mcp", "myfitnesspal", "nutrition", "model-context-protocol"] classifiers = [ "Development Status :: 4 - Beta", "Programming Language :: Python :: 3", "Topic :: Utilities", ] dependencies = [ "mcp>=1.10,<2", "myfitnesspal==2.1.2", "curl-cffi>=0.15,<0.16", "lxml>=5,<7", "platformdirs>=4", ] [project.optional-dependencies] autorefresh = ["playwright>=1.40"] [project.urls] Repository = "https://github.com/Mason-Levyy/myfitnesspal-mcp" Changelog = "https://github.com/Mason-Levyy/myfitnesspal-mcp/blob/main/CHANGELOG.md" Issues = "https://github.com/Mason-Levyy/myfitnesspal-mcp/issues" [project.scripts] mfp-mcp = "myfitnesspal_mcp.cli:main" myfitnesspal-mcp = "myfitnesspal_mcp.cli:main" [dependency-groups] dev = ["pytest>=8", "ruff>=0.16", "pre-commit>=4"] [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.hatch.build.targets.wheel] packages = ["src/myfitnesspal_mcp"] [tool.pytest.ini_options] testpaths = ["tests"] [tool.ruff] target-version = "py310" line-length = 88 extend-exclude = [".venv*"] [tool.ruff.lint] select = [ "E", # pycodestyle errors "F", # pyflakes "I", # isort "UP", # pyupgrade "B", # bugbear ] # Formatter handles line length; long string literals and URLs are fine. ignore = ["E501"]