Skip to main content
Glama
Bigred97

Reserve Bank of Australia

get_data

Retrieve time series observations from any Reserve Bank of Australia F-table. Specify the table ID and optionally series, date range, and output format.

Instructions

Query an RBA F-table and return observations.

Curated tables accept plain-English series keys that map to canonical
RBA series IDs server-side. Omit `series` to get the table's headline
series (e.g. F1.1 → cash rate target, F11/F11.1 → AUD/USD, F6 → owner-
occupier outstanding variable rate). Pass an explicit list for a multi-
series query.

Examples:
    # Cash rate target since 2020 (portfolio-standard name)
    resp = await get_data("F1.1", series="cash_rate_target", start_period="2020")
    # → resp.records[0]: period='2020-01-01', value=0.25, series='cash_rate_target'

    # Headline default — no series arg returns the table's canonical series
    resp = await get_data("F11.1", start_period="2024-01-01", end_period="2024-12-31")
    # → resp.records: AUD/USD daily (the headline) for the period

    # Multiple FX rates — pass an explicit list
    resp = await get_data(
        "F11.1",
        series=["aud_usd", "aud_eur", "aud_jpy"],
        start_period="2024-01-01",
        end_period="2024-12-31",
    )

    # Mortgage rates as CSV
    resp = await get_data("F6", format="csv", start_period="2023")
    # → resp.csv = "date,series,value

2023-01-01,..."

    # Raw (non-curated) F-table — pass raw RBA series IDs
    resp = await get_data("F1", series=["FIRMMCRTD", "FIRMMBAB30"])

    # Legacy alias still works (start_date / end_date)
    resp = await get_data("F11", series="aud_usd", start_date="2024")

Parameter notes:
    - Prefer `start_period` / `end_period` (portfolio-standard names; 7
      of 9 sister MCPs use them).
    - `start_date` / `end_date` are retained as legacy aliases.
      Supplying both `start_period` and `start_date` (or `end_period`
      and `end_date`) raises ValueError — pick one per pair.

When to use:
    - You want a time series of an RBA indicator (use latest() for current-only)
    - You want a multi-series comparison (e.g. all FX rates)
    - You want CSV for downstream charting

Returns:
    DataResponse with records, unit, period bounds, RBA source URL,
    and CC-BY 4.0 attribution.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
formatNoResponse shape. 'records' (default): flat list of observations. 'series': observations grouped by series_id. 'csv': returns the table as a CSV string in the `csv` field.records
seriesNoWhich series to return. For curated tables: plain-English keys (e.g. 'aud_usd', 'cash_rate_target') or a list for multi-series. For raw F-tables: raw RBA series IDs (e.g. 'FXRUSD'). Pass None (default) to use the table's headline series — e.g. F1.1 defaults to the cash rate target, F11/F11.1 to AUD/USD, F6 to the owner-occupier outstanding variable rate. Pass an explicit list to fetch multiple series.
end_dateNoLegacy alias for `end_period` — retained for backward compatibility. Prefer `end_period` for cross-sister consistency. Supplying both raises ValueError.
table_idYesRBA F-table ID like 'F1.1', 'F11'. Use search_tables() to discover.
end_periodNoInclusive end period (portfolio-standard name). Same format as start_period. Mutually exclusive with the legacy `end_date` alias.
start_dateNoLegacy alias for `start_period` — retained for backward compatibility (rba-mcp <= 0.2.x). Prefer `start_period` for cross-sister consistency. Same format and semantics as `start_period`. Supplying both raises ValueError.
start_periodNoInclusive start period (portfolio-standard name). Accepts 'YYYY', 'YYYY-MM', or 'YYYY-MM-DD'. An int year (e.g. 2024) is also accepted and treated as 'YYYY'. Semantic-checked: '2024-13' or '----' rejected at the boundary. Mutually exclusive with the legacy `start_date` alias.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
csvNo
unitNo
queryNo
staleNo
periodNo
sourceNoReserve Bank of Australia
rba_urlYesClick-through URL for this table's source page. rba-mcp legacy name — prefer source_url (canonical) for new code. Both fields are populated identically.
recordsNo
table_idYes
row_countNoNumber of observation rows in records.
source_urlYesCanonical click-through URL. Same value as rba_url; both populated for backward compat.
table_nameYes
attributionNoData sourced from the Reserve Bank of Australia and licensed under Creative Commons Attribution 4.0 International (CC BY 4.0). https://www.rba.gov.au/copyright/
retrieved_atYes
stale_reasonNo
truncated_atNo
server_versionNo
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It describes return format (DataResponse with records, unit, period bounds, RBA source URL, attribution) and error handling (mutual exclusion of start_period/start_date). Does not explicitly state read-only nature, but context implies it.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-structured with sections and examples. Front-loaded with main action. Slightly verbose but every section earns its place. Could be trimmed without loss of clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 7 parameters, missing annotations, and existence of output schema, description covers all necessary context: use cases, error conditions, output format, sibling tool relationships, and parameter semantics.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage 100% so baseline 3. Description adds significant value: examples for each parameter, explanation of curated vs raw series, default headline series per table, mutual exclusion constraints. Enhances understanding beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Query an RBA F-table and return observations,' with specific verb+resource. It distinguishes from siblings like `latest` (current-only) and `search_tables` (discovery) through examples and usage guidance.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit 'When to use' section outlines scenarios (time series, multi-series, CSV) and implies when not to use (use `latest()` for current-only). References sibling tools like `search_tables` for discovery.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Bigred97/rba-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server