[project] name = "toyota-mcp" dynamic = ["version"] description = "Toyota and Lexus MCP server — connect a MyToyota Europe account to Claude and other AI assistants" readme = "README.md" license = "MIT" license-files = ["LICENSE"] authors = [ { name = "Benjamin Calef", email = "admin@username.digital" } ] requires-python = ">=3.11" dependencies = [ "mcp>=2.1,<3", "pytoyoda>=5.2.1,<6", "pydantic-settings>=2.7,<3", "loguru>=0.7,<1", "httpx>=0.28,<1", "keyring>=25,<26", ] keywords = [ "mcp", "model-context-protocol", "claude", "ai-agent", "toyota", "lexus", "mytoyota", "connected-car", "connected-services", "telematics", "vehicle", "electric-vehicle", ] classifiers = [ "Development Status :: 4 - Beta", "Intended Audience :: End Users/Desktop", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3.14", "Topic :: Home Automation", "Topic :: Scientific/Engineering :: Artificial Intelligence", "Environment :: Console", "Operating System :: OS Independent", "Typing :: Typed", ] [project.urls] Homepage = "https://github.com/zepgram/toyota-mcp" Repository = "https://github.com/zepgram/toyota-mcp" Documentation = "https://github.com/zepgram/toyota-mcp#readme" Changelog = "https://github.com/zepgram/toyota-mcp/blob/main/CHANGELOG.md" Issues = "https://github.com/zepgram/toyota-mcp/issues" [project.scripts] toyota-mcp = "toyota_mcp.server:main" [build-system] requires = ["hatchling>=1.27", "hatch-vcs>=0.4"] build-backend = "hatchling.build" [tool.hatch.version] source = "vcs" [tool.hatch.build.targets.wheel] packages = ["src/toyota_mcp"] [dependency-groups] dev = [ "pytest>=8", "pytest-asyncio>=1.4", "mypy>=2.3", "ruff>=0.16", "asgi-lifespan>=2,<3", ] [tool.ruff] target-version = "py311" line-length = 100 [tool.ruff.lint] select = ["E", "W", "F", "I", "UP", "B", "SIM", "C4", "RUF"] [tool.mypy] python_version = "3.11" strict = true pretty = true plugins = ["pydantic.mypy"] [tool.pytest.ini_options] testpaths = ["tests"] asyncio_mode = "auto" asyncio_default_fixture_loop_scope = "function" addopts = "-m 'not live'" markers = [ "live: exercises the real Toyota API with real credentials; deselected by default", ] filterwarnings = [ "ignore:The `update_forward_refs` method is deprecated:DeprecationWarning", ]