[{'Text': '│   │   └── auth0_helpers.py    # JWT verification\n│   └── context/\n│       ├── general_db_instructions.py\n│       └── datasets/           # Auto-discovered datasets\n│           ├── upc.py          # Availability (postcode-level)\n│           ├── upc_take_up.py  # Adoption/subscribers\n│           ├── upc_forecast.py # Coverage projections\n│           ├── tariffs.py      # ISP pricing\n│           ├── ontology.py     # Tech classification\n│           └── bi_reports.py   # Report metadata\n├── tests/                      # pytest test suite\n│   ├── eval_set.py             # Eval question bank\n│   ├── test_gbs_tools.py\n│   ├── test_mongodb_utils.py\n│   ├── test_notifications.py\n│   ├── test_permissions.py\n│   ├── test_registration.py\n│   ├── test_sql_statements_split.py\n│   └── test_tool_manager.py\n├── infrastructure/             # Auth0 deployment scripts\n│   ├── auth0-setup.sh\n│   ├── auth0-cheat-sheet.sh\n│   └── auth0-credentials.json\n└── pyproject.toml              # v0.1.85, Python >=3.12\n```\n\n# Key Design Patterns\n\n## 1. Auto-Discovery (tools, prompts, datasets)\n\n| Component | Location Pattern | Registration | Name Convention |\n|-----------|-----------------|--------------|-----------------|\n| Tools | `tools/*_tools.py` | `tools/__init__.py:register_tools()` | `{module}_{func_name}` (prefixed) |\n| Prompts | `prompts/*_prompts.py` | `prompts/__init__.py:register_prompts()` | Function name only |\n| Datasets | `context/datasets/*.py` | `core/context_assembly.py` | Module name only |\n\n**Just create a file with public functions** — no decorators needed for registration.\n\n## 2. Conditional Tool Registration\n\n```python\n# tools/database_tools.py\nfrom point_topic_mcp.core.utils import check_env_vars\n\n'}]