MCP YNAB Server

# MCP-YNAB Project Guide ## Commands - Build: `task install` (production) or `task dev` (development with browser) - Lint/Format: `task fmt` (runs ruff format and ruff check with --fix) - Tests: - All excluding integration: `pytest` or `task test` - Single test: `pytest tests/test_server.py::test_name` - Integration tests: `pytest -m "integration"` or `task test:integration` - With coverage: `task coverage` - Dependencies: `task deps` (uses uv sync) ## Code Style - Python 3.12+ - Line length: 100 characters - Formatting: ruff format (Black-compatible) - Linting: ruff check - Imports: standard library first, third-party second, local modules last - Types: Use type hints consistently with modern Python typing - Testing: pytest with pytest-asyncio for async tests - Error handling: Use proper exception handling with specific exceptions ## Project Structure - src/mcp_ynab/ - Main package source code - tests/ - Test directory with pytest fixtures in conftest.py - Task definitions in Taskfile.yml (use `uv` for Python package management) - MCP server implementation following modelcontextprotocol.io guidelines