Contributing
ausecon-mcp-server is intentionally narrow: ABS and RBA only, stdio transport only, and a small
curated semantic layer over source-native retrievals.
Local setup
Section titled “Local setup”Use Python 3.12 for local development:
env UV_CACHE_DIR=.uv-cache uv sync --python 3.12 --extra devStandard verification
Section titled “Standard verification”Run the normal local checks before opening a pull request or cutting a tag:
env UV_CACHE_DIR=.uv-cache uv run ruff check src tests scriptsenv UV_CACHE_DIR=.uv-cache uv run pytestenv UV_CACHE_DIR=.uv-cache uv run pytest integration_tests/ -venv UV_CACHE_DIR=.uv-cache uv run python scripts/audit_catalogue.pyReal client smoke
Section titled “Real client smoke”Before a release tag, run the checked-in stdio smoke path:
env UV_CACHE_DIR=.uv-cache uv run python scripts/mcp_client_smoke.pyThe smoke path uses a real FastMCP stdio client transport and verifies:
search_datasetslist_economic_conceptslist_catalogueget_abs_dataget_economic_series
Release discipline
Section titled “Release discipline”- Keep the MCP tool surface stable unless there is a strong reason to break it.
- Do not expose placeholder variants in the runtime catalogue.
- Prefer audited upstream fixes over broad catalogue growth.
- If an ABS or RBA replacement series is not cleanly source-native, defer it rather than shipping an approximate semantic shortcut.