Skip to main content

MCP server for the Reserve Bank of Australia statistical tables (F-tables). Plain-English access to interest rates, FX rates, deposit/lending rates.

Project description

rba-mcp

tests PyPI Python License: MIT

Ask Claude about Australian interest rates, exchange rates, and lending rates and get real, current numbers — not "I don't have access to that data." This MCP server gives Claude (and other MCP clients like Cursor) live access to the Reserve Bank of Australia's statistical tables, with curated mappings for the most-asked indicators.

rba-mcp answering "Show me AUD against USD, EUR, GBP and the trade-weighted index since 2024" in Claude Desktop — four metric cards, rebased line chart, macro-context analysis

Companion to abs-mcp — together they cover the most-asked Australian economic data.

What you can ask

Once installed, your LLM can answer questions like:

Question Real response
What's the current RBA cash rate? RBA Cash Rate Target, latest month
What's AUD/USD today? Latest daily exchange rate
Show me AUD vs major currencies in 2024 Multi-series query with monthly observations
What's the average mortgage rate? Owner-occupier variable, outstanding loans
What rate are 12-month term deposits at? Latest from F4
What's the trade-weighted index trend? TWI series back to 1983

Every answer comes with the period, units (Per cent per annum, USD per AUD, etc.), and a link back to the RBA source.

Install

# After publish:
uvx rba-mcp

# Local dev:
uv pip install -e .

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "rba": {
      "command": "uvx",
      "args": ["rba-mcp"]
    }
  }
}

If you also have abs-mcp installed, both servers run side-by-side. Claude disambiguates with the server prefix (rba:get_data vs abs:get_data).

For local dev (pre-PyPI):

{
  "mcpServers": {
    "rba": {
      "command": "uv",
      "args": ["run", "--directory", "/absolute/path/to/rba-mcp", "rba-mcp"]
    }
  }
}

Cursor

Add to ~/.cursor/mcp.json (or workspace .cursor/mcp.json):

{
  "mcpServers": {
    "rba": {
      "command": "uvx",
      "args": ["rba-mcp"]
    }
  }
}

Tools

Tool What it does
search_tables(query, limit=10) Fuzzy-search RBA F-tables by name or topic.
describe_table(table_id) Plain-English series listing for one F-table.
get_data(table_id, series, start_date, end_date, format) Query data. series=None returns all curated series; format = records / series / csv.
latest(table_id, series) Most-recent observation for the requested series.
list_curated() The 5 F-table IDs with hand-curated plain-English support.

Curated F-tables

For these five, series accepts plain-English keys (e.g. "aud_usd" instead of "FXRUSD"):

  • F1.1 — Money Market — Monthly: cash rate target, cash rate, bank bills, OIS rates, treasury notes
  • F4 — Retail Deposit & Investment Rates: transaction accounts, savings, term deposits, cash management trusts
  • F6 — Housing Lending Rates: owner-occupier vs investor, variable vs fixed, outstanding vs new loans
  • F11 — Exchange Rates — Monthly History (1983+): AUD/USD, AUD/EUR, AUD/GBP, AUD/JPY, AUD/CNY, AUD/NZD, TWI
  • F11.1 — Exchange Rates — Daily (2023+): same series, daily resolution

Any other F-table works too — pass raw RBA series IDs (e.g. "FXRUSD") instead of curated keys.

Worked examples

"What's the current RBA cash rate?"

latest(table_id="F1.1", series="cash_rate_target")

"AUD to USD over the last year"

get_data(table_id="F11.1", series="aud_usd", start_date="2024")

"Compare AUD against USD, EUR and GBP since 2020"

get_data(
  table_id="F11",
  series=["aud_usd", "aud_eur", "aud_gbp"],
  start_date="2020"
)

How it works

Claude picks the right tool, fills in the curated series keys, calls the live RBA CDN, and synthesises the answer. When the curated table is stale relative to a rate decision (RBA's monthly F1.1 publishes around the 5th business day, but Board meetings can hike between publications), Claude fluidly composes web-search results with this server's data:

Claude querying rba-mcp for cash rate, noticing the F1.1 monthly is at 4.10%, and web-searching to learn the Board hiked 25bp at the 5 May meeting → reports 4.35% effective 6 May 2026 with citations

You don't have to know what FIRMMCRT or FXRUSD mean — and neither does Claude. The server's curated YAMLs map plain-English keys (cash_rate_target, aud_usd) to RBA series IDs and surface unit attribution + the CC-BY 4.0 attribution string in every response.

Period formats

RBA series use ISO-style date formats. Pass start_date / end_date as:

Format Example Use for
YYYY "2024" Year start
YYYY-MM "2024-03" Month start
YYYY-MM-DD "2024-03-15" Specific day (daily tables only)

Development

git clone https://github.com/Bigred97/rba-mcp.git
cd rba-mcp
uv sync --extra dev
uv pip install -e .

# Unit tests (no network)
uv run pytest

# Live integration tests (hits RBA CDN)
uv run pytest -m live

The SQLite cache lives at ~/.rba-mcp/cache.db. Data refreshes every 6h, latest 15min. Delete to force a refresh.

Data attribution

RBA data is licensed under Creative Commons Attribution 4.0 International (CC BY 4.0). Every DataResponse from this server includes an attribution field with the required notice. If you redistribute responses, credit the RBA.

License

MIT — Harry Vass, 2026.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rba_mcp-0.1.3.tar.gz (777.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rba_mcp-0.1.3-py3-none-any.whl (29.2 kB view details)

Uploaded Python 3

File details

Details for the file rba_mcp-0.1.3.tar.gz.

File metadata

  • Download URL: rba_mcp-0.1.3.tar.gz
  • Upload date:
  • Size: 777.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for rba_mcp-0.1.3.tar.gz
Algorithm Hash digest
SHA256 7e993993a6ef29ace1c8217b2d9704068b7c12bd5a5563fbdca61aef126ad837
MD5 e155de3d3ab4b6e75049f8b4d887ef75
BLAKE2b-256 bbc45ad3543ce87ac8d60b0410504ba952da2310001084ddc046318d03b67df2

See more details on using hashes here.

File details

Details for the file rba_mcp-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: rba_mcp-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 29.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for rba_mcp-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 875e1b4159798cb5eac4d20a282c407d374ac6573617721df4febb7fa357d17f
MD5 12febda1bd470644c2bb0ebb8ed0c384
BLAKE2b-256 a91581dc5259b2fa789f90c6aa3fab9fc8e55a750a35aa52719ec5711091da18

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page