AusEcon MCP for ABS | RBA | APRA data
This server provides AI assistants with free, structured, read-only access to Australian economic and financial data from the ABS, RBA, and APRA — no API key required. All data is returned in a consistent metadata · series · observations format with full source provenance.
Discovery & Search
search_datasets— Free-text search across curated datasets, optionally filtered by sourcelist_catalogue— Browse the full dataset catalogue by source, category, or taglist_economic_concepts— List analyst-friendly semantic concepts (e.g.cash_rate_target,gdp)
Data Retrieval
get_economic_series— High-level retrieval by concept name, with optional variant, frequency, geography, and date filtersget_derived_series— Formula-based derived indicators (e.g.real_cash_rate) with full calculation provenanceget_abs_data/get_rba_table/get_apra_data— Expert/source-native retrieval from ABS (SDMX), RBA statistical tables, and APRA XLSX publications
Structural Inspection
get_abs_dataset_structure— Inspect ABS dataset dimensions and codelistsdescribe_dataset— Plain-English description of any dataset across all three sources
Convenience Tools
get_latest_observations— Most recent N observations from any datasetget_top_observations— Highest or lowest numeric observations within optional date bounds
Release Calendar
list_release_events— Upcoming or past publication dates across ABS, RBA, and APRA
The server runs locally via stdio or hosted via Streamable HTTP, is entirely read-only, and supports flexible date formats (YYYY, YYYY-QN, YYYY-MM-DD, etc.).
Integrates with Codeium's Windsurf IDE to provide access to Australian economic and financial datasets for AI-assisted analysis.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@AusEcon MCP for ABS | RBA | APRA datawhat's the current RBA cash rate?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Documentation · Getting started · Tool reference · Changelog
Why this exists
Australian economic data is authoritative but awkward to reach. It sits behind three different
portals with three different formats, and each one expects you to already know its identifiers.
ausecon puts that data in front of an AI assistant with nothing to sign up for and no key to manage.
Every series is fetched from the source, cached for up to an hour, stamped with when it was actually
retrieved, and returned in the same metadata · series · observations shape whether it came from
the ABS, the RBA, or APRA. Ask for
"the cash rate" or "quarterly real GDP growth" and the assistant works out the right call.
Related MCP server: Banco Central do Brasil (BCB) — SGS MCP
What you get
Data sources
Source | Coverage |
ABS · Australian Bureau of Statistics | National accounts, prices, labour force, population |
RBA · Reserve Bank of Australia | Cash rate, monetary & financial aggregates, exchange rates |
APRA · Aust. Prudential Regulation Authority | ADI & insurer statistics, with release-cadence estimates |
Try it instantly (no install)
A hosted read-only, no-API-key instance speaks MCP over Streamable HTTP at:
https://mcp.auseconmcp.com/mcpPoint any MCP client that supports remote servers at that URL. In Claude Code:
claude mcp add --transport http ausecon https://mcp.auseconmcp.com/mcpThe hosted instance may take a few seconds to wake on the first request. The previous
https://ausecon-mcp-server.onrender.com/mcpURL continues to work and points at the same instance.
Install
The package lives on PyPI and is meant to be
launched on demand by your MCP client through uvx:
uvx ausecon-mcp-serverThe server speaks MCP over standard input and output. Run on its own it just sits there waiting for a client, so there is nothing to see until one connects.
Connect your client
claude mcp add --transport stdio ausecon -- uvx ausecon-mcp-servercodex mcp add ausecon -- uvx ausecon-mcp-serverAdd to your claude_desktop_config.json:
{
"mcpServers": {
"ausecon": {
"command": "uvx",
"args": ["ausecon-mcp-server"]
}
}
}Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project):
{
"mcpServers": {
"ausecon": {
"command": "uvx",
"args": ["ausecon-mcp-server"]
}
}
}Or paste this one-click link into your browser:
cursor://anysphere.cursor-deeplink/mcp/install?name=ausecon&config=eyJjb21tYW5kIjoidXZ4IiwiYXJncyI6WyJhdXNlY29uLW1jcC1zZXJ2ZXIiXX0=Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"ausecon": {
"command": "uvx",
"args": ["ausecon-mcp-server"],
"env": {}
}
}
}Or add to .vscode/mcp.json (workspace) or your user mcp.json:
{
"servers": {
"ausecon": {
"type": "stdio",
"command": "uvx",
"args": ["ausecon-mcp-server"]
}
}
}To host it yourself,
smithery.yamlandDockerfile.smitheryship a Streamable HTTP deployment at/mcp. See the Smithery guide.
A quick taste
Find the concept you want, then ask for the series:
list_economic_concepts(query="cash rate")
get_economic_series(
concept="cash_rate_target",
start="2020-01-01",
)Derived indicators have their own tool:
get_derived_series(concept="real_cash_rate", last_n=12)Connected to an AI agent, you can skip the syntax entirely. Ask for "quarterly real GDP growth" and it works out which tools to call.
Develop locally
Python 3.12 is recommended; the CI matrix supports 3.10+.
uv sync --python 3.12
uv run pytest
uv run ruff check src tests scriptsThe repo also ships a manual benchmark (evals/) that measures the server's impact on model
answers across 52 Australian-economics questions, comparing a bare model, web search, and the
ausecon tools. Ground-truth resolution is free to check:
uv run --group evals python -m evals.run_eval --dry-runA full run makes paid API calls, so read the evaluation harness guide before starting one.
auseconmcp.com · Issues · MIT Licence
Available Tools
14 toolsdescribe_datasetDescribe DatasetARead-onlyIdempotentInspect
Describe a source-native ABS, RBA, or APRA dataset without hiding native IDs.
| Name | Required | Description | Default |
|---|---|---|---|
| source | Yes | Source selector. Use abs for Australian Bureau of Statistics, rba for Reserve Bank of Australia, or apra for Australian Prudential Regulation Authority. | |
| table_id | No | Non-empty dataset or table id. | |
| identifier | Yes | Non-empty dataset or table id. | |
| include_structure | No | Whether ABS descriptions should include source-native structure details. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering safety. The description adds valuable behavioral context by emphasizing 'source-native' and 'without hiding native IDs', which signals output representation nuances beyond the structured annotations. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loaded with the verb and resource scope, and every word contributes meaning. No filler or redundant phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The existence of an output schema covers return-value expectations. The main gap is the unresolved ambiguity between table_id and identifier, which the description does not address. For a moderately complex tool with four parameters, a bit more clarification on parameter usage would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter (source, table_id, identifier, include_structure) already described in the schema. The tool description adds no parameter-specific meaning and does not clarify the ambiguous relationship between table_id and identifier, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a specific verb ('Describe') and resource ('dataset'), scoped to ABS, RBA, and APRA sources, and adds a distinctive detail ('without hiding native IDs') that differentiates it from sibling tools. It doesn't enumerate what the description includes, which keeps it from a perfect 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus alternatives like get_abs_dataset_structure or get_rba_table. The description only states what it does, not the context for using it or exclusions. The agent is left without clear selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_abs_dataGet ABS DataBRead-onlyIdempotentInspect
Expert/source-native ABS SDMX retrieval in a normalised response shape.
| Name | Required | Description | Default |
|---|---|---|---|
| key | No | ABS SDMX key, or "all" for all series. | all |
| last_n | No | Optional limit returning only the most recent N observations per series; metadata.truncated is true when older observations were dropped. | |
| end_period | No | Optional ABS period bound in YYYY, YYYY-QN, YYYY-MM, or YYYY-SN format. | |
| dataflow_id | Yes | Non-empty dataset or table id. | |
| start_period | No | Optional ABS period bound in YYYY, YYYY-QN, YYYY-MM, or YYYY-SN format. | |
| updated_after | No | Optional ISO date or datetime accepted by the ABS updatedAfter API. | |
| include_observation_dimensions | No | Whether to repeat the full dimension dict on every observation. Off by default because the same dimensions already appear on each series descriptor and are encoded in series_id. |
Output Schema
| Name | Required | Description |
|---|---|---|
| series | Yes | Series descriptors keyed by series_id. |
| metadata | Yes | Source, provenance, cache, and retrieval metadata for this response. |
| observations | Yes | Long-form observations keyed by date and series_id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, destructiveHint, idempotentHint, and openWorldHint. The description adds 'normalised response shape' but does not disclose behavioral traits like pagination, rate limits, or error handling beyond what annotations offer.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, which is concise. However, the phrase 'expert/source-native' may be ambiguous and lacks clarity for an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 7 parameters and an output schema, the description is minimal. It does not explain how parameters interact or provide usage context. Adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters. The description does not add extra meaning to the parameters beyond what is in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it retrieves ABS data in a normalised SDMX format, clearly identifying the resource (ABS) and action (retrieval). However, it does not explicitly differentiate it from sibling tools like get_apra_data or get_rba_table, though the name itself helps.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. There is no mention of prerequisites, exclusions, or comparisons with sibling tools like get_economic_series or describe_dataset.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_abs_dataset_structureGet ABS Dataset StructureARead-onlyIdempotentInspect
Get ABS SDMX dataset dimensions and codelists.
| Name | Required | Description | Default |
|---|---|---|---|
| dataflow_id | Yes | Non-empty dataset or table id. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | Resolved ABS data structure identifier. |
| dimensions | No | Dataset dimensions with positions and allowed values. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint; the description adds context by specifying that the output includes 'dimensions and codelists', which goes beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no redundant words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one well-described parameter and an output schema (not shown but present), the description is complete for this simple retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with a clear 'Non-empty dataset or table id.' The description does not add further parameter semantics, but the schema already provides sufficient context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'ABS SDMX dataset dimensions and codelists', which distinguishes it from siblings that fetch data or list catalogues.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus alternatives, but given its specificity and idempotent/read-only annotations, usage is implied when structural metadata is needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_apra_dataGet APRA DataARead-onlyIdempotentInspect
Expert/source-native APRA public XLSX publication retrieval.
Only curated official APRA publication IDs are accepted; arbitrary URLs are not.
| Name | Required | Description | Default |
|---|---|---|---|
| last_n | No | Optional limit returning only the most recent N observations per series; metadata.truncated is true when older observations were dropped. | |
| end_date | No | Optional ISO date bound in YYYY-MM-DD format. | |
| table_id | No | Non-empty dataset or table id. | |
| series_ids | No | Optional list of non-empty source-native series IDs to keep after download. | |
| start_date | No | Optional ISO date bound in YYYY-MM-DD format. | |
| publication_id | Yes | Non-empty dataset or table id. | |
| include_observation_dimensions | No | Whether to repeat the full dimension dict on every observation. Off by default because the same dimensions already appear on each series descriptor and are encoded in series_id. |
Output Schema
| Name | Required | Description |
|---|---|---|
| series | Yes | Series descriptors keyed by series_id. |
| metadata | Yes | Source, provenance, cache, and retrieval metadata for this response. |
| observations | Yes | Long-form observations keyed by date and series_id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool is read-only and idempotent. The description adds that it retrieves public XLSX files and accepts only curated IDs, providing moderate additional context without contradicting annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two sentences. The first sentence states the core purpose, and the second adds a critical constraint. Almost zero waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the rich input schema and existing output schema, the description adequately covers key context: it retrieves APRA public XLSX data using curated IDs. It could mention error handling or output format more explicitly, but overall it is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with detailed parameter descriptions. The tool description adds little beyond confirming the curated ID requirement, so it meets the baseline 3 for high-coverage schemas.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves APRA public XLSX publications, specifying it is for curated official IDs only, distinguishing it from sibling tools that handle ABS or RBA data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions only curated APRA publication IDs are accepted, implying when to use, but does not explicitly state when not to use or compare to alternatives like describe_dataset or search_datasets.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_derived_seriesGet Derived SeriesARead-onlyIdempotentInspect
Read-only retrieval for the narrow transparent derived series layer.
Date bounds accept YYYY, YYYY-QN, YYYY-SN, YYYY-MM, or YYYY-MM-DD and are normalised to the derived series frequency.
| Name | Required | Description | Default |
|---|---|---|---|
| end | No | Optional analyst-friendly bound for a derived series: YYYY, YYYY-QN, YYYY-SN, YYYY-MM, or YYYY-MM-DD. Bounds are normalised to the derived series frequency. | |
| start | No | Optional analyst-friendly bound for a derived series: YYYY, YYYY-QN, YYYY-SN, YYYY-MM, or YYYY-MM-DD. Bounds are normalised to the derived series frequency. | |
| last_n | No | Optional limit returning only the most recent N observations per series; metadata.truncated is true when older observations were dropped. | |
| concept | Yes | Derived concept name. |
Output Schema
| Name | Required | Description |
|---|---|---|
| series | Yes | Series descriptors keyed by series_id. |
| metadata | Yes | Source, provenance, cache, and retrieval metadata for this response. |
| observations | Yes | Long-form observations keyed by date and series_id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, destructiveHint, idempotentHint, openWorldHint. The description adds that date bounds accept specific formats and are normalized to frequency, offering meaningful behavioral context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: first states purpose, second explains date bounds. No wasted words, front-loaded with key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With output schema present, the description covers the main purpose and date handling. It does not mention the last_n parameter's truncated behavior, which is in schema but missing from description. Mostly complete for a tool with these features.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are well-documented. The description adds a clarification about date format normalization, but overall does not significantly enhance what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'read-only retrieval for the narrow transparent derived series layer', specifying the verb and resource. However, it does not explicitly differentiate from siblings like get_economic_series, limiting its clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. The description implies usage for derived series retrieval but provides no contextual or exclusionary information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_economic_seriesGet Economic SeriesARead-onlyIdempotentInspect
Preferred analyst-facing retrieval tool for curated ABS/RBA economic concepts.
Use list_economic_concepts for discovery. Date bounds accept YYYY, YYYY-QN, YYYY-SN, YYYY-MM, or YYYY-MM-DD and are normalised to the resolved source.
| Name | Required | Description | Default |
|---|---|---|---|
| end | No | Optional analyst-friendly date bound: YYYY, YYYY-QN, YYYY-SN, YYYY-MM, or YYYY-MM-DD. Semantic retrieval normalises this to the resolved source frequency. | |
| start | No | Optional analyst-friendly date bound: YYYY, YYYY-QN, YYYY-SN, YYYY-MM, or YYYY-MM-DD. Semantic retrieval normalises this to the resolved source frequency. | |
| last_n | No | Optional limit returning only the most recent N observations per series; metadata.truncated is true when older observations were dropped. | |
| concept | Yes | Curated semantic concept name. | |
| variant | No | Optional curated concept variant, such as headline, underlying, or target. | |
| frequency | No | Optional requested frequency for a curated concept, such as monthly, quarterly, or annual. | |
| geography | No | Optional geography selector for a curated concept, usually aus for Australia. | |
| include_observation_dimensions | No | Whether to repeat the full dimension dict on every observation. Off by default because the same dimensions already appear on each series descriptor and are encoded in series_id. |
Output Schema
| Name | Required | Description |
|---|---|---|
| series | Yes | Series descriptors keyed by series_id. |
| metadata | Yes | Source, provenance, cache, and retrieval metadata for this response. |
| observations | Yes | Long-form observations keyed by date and series_id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive behavior. Description adds value by explaining date bound normalization and the metadata.truncated flag when using last_n, without contradicting annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two front-loaded sentences convey purpose, usage, and date format details efficiently without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 8 parameters, full schema coverage, and an output schema, the description covers key behavioral nuances and usage context. Minor gaps exist (e.g., error cases), but overall sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. Description adds meaning beyond schema by listing acceptable date formats and explaining the rationale for include_observation_dimensions defaulting to false.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves 'curated ABS/RBA economic concepts' and positions itself as 'Preferred analyst-facing retrieval tool', distinguishing it from siblings like list_economic_concepts for discovery.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Use list_economic_concepts for discovery' and defines acceptable date formats, providing clear when-to-use and when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_latest_observationsGet Latest ObservationsARead-onlyIdempotentInspect
Source-aware convenience wrapper for the latest observations.
For a single curated indicator prefer get_economic_series(concept=...), which resolves one series; pass series_ids=[...] to narrow a broad dataset instead of returning every series it contains.
| Name | Required | Description | Default |
|---|---|---|---|
| key | No | ABS SDMX key, or "all" for all series. | all |
| count | No | Number of most recent observations to return per series; metadata.truncated is true when older observations were dropped. | |
| source | Yes | Source selector. Use abs for Australian Bureau of Statistics, rba for Reserve Bank of Australia, or apra for Australian Prudential Regulation Authority. | |
| table_id | No | Non-empty dataset or table id. | |
| identifier | Yes | Non-empty dataset or table id. | |
| series_ids | No | Optional list of non-empty source-native series IDs to keep after download. |
Output Schema
| Name | Required | Description |
|---|---|---|
| series | Yes | Series descriptors keyed by series_id. |
| metadata | Yes | Source, provenance, cache, and retrieval metadata for this response. |
| observations | Yes | Long-form observations keyed by date and series_id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=true. The description adds context about being a convenience wrapper, that it returns the latest observations, and that metadata.truncated indicates dropped older observations. No contradictions; it enhances the behavioral picture.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, front-loaded with the core purpose ('Source-aware convenience wrapper for the latest observations'), and each subsequent sentence adds essential usage guidance without redundancy. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema (not shown but indicated) and 100% schema coverage, the description is complete enough. It explains the tool's role among 14 sibling tools and provides necessary disambiguation. The only minor gap is not detailing the output structure, but the output schema handles that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description does not add significant new meaning beyond what is already in the input schema's parameter descriptions. It mentions the count parameter's effect on truncation, but the schema already describes that. Thus, minimal added value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with 'Source-aware convenience wrapper for the latest observations', using a specific verb and resource. It immediately distinguishes itself from the sibling tool get_economic_series by explaining when to use that alternative instead. The purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells the agent to prefer get_economic_series(concept=...) for a single curated indicator and to use series_ids to narrow a broad dataset instead of returning every series. This provides clear when-to-use and when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_rba_tableGet RBA TableBRead-onlyIdempotentInspect
Expert/source-native RBA statistical table retrieval in a normalised response shape.
| Name | Required | Description | Default |
|---|---|---|---|
| last_n | No | Optional limit returning only the most recent N observations per series; metadata.truncated is true when older observations were dropped. | |
| end_date | No | Optional ISO date bound in YYYY-MM-DD format. | |
| table_id | Yes | Non-empty dataset or table id. | |
| series_ids | No | Optional list of non-empty source-native series IDs to keep after download. | |
| start_date | No | Optional ISO date bound in YYYY-MM-DD format. | |
| include_observation_dimensions | No | Whether to repeat the full dimension dict on every observation. Off by default because the same dimensions already appear on each series descriptor and are encoded in series_id. |
Output Schema
| Name | Required | Description |
|---|---|---|
| series | Yes | Series descriptors keyed by series_id. |
| metadata | Yes | Source, provenance, cache, and retrieval metadata for this response. |
| observations | Yes | Long-form observations keyed by date and series_id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, so the base transparency is high. The description adds 'normalised response shape', which offers some insight into output format but does not reveal behavioral traits like error handling or default behavior. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words. It is front-loaded but uses jargon ('Expert/source-native', 'normalised') which may reduce clarity. Could be more straightforward.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 6 parameters, an output schema, and is used for retrieving statistical tables, the description is too sparse. It lacks explanation of pagination, error handling, or typical use cases. The annotation-rich structure mitigates some gaps, but completeness is low.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with detailed descriptions for all 6 parameters. The description adds no additional meaning beyond what the schema provides (e.g., 'table_id' is described as non-empty dataset or table id). Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses 'retrieval' as the verb and specifies 'RBA statistical table' as the resource, clearly indicating the tool's function. It distinguishes from siblings like 'list_rba_tables' (list vs get) and 'get_abs_data' (different source). The phrase 'normalised response shape' hints at output structure, but the purpose is clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like 'list_rba_tables' for discovery or other statistical retrieval tools. No exclusions or context are provided. The term 'Expert/source-native' implies specialized use but lacks clarity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_top_observationsGet Top ObservationsARead-onlyIdempotentInspect
Source-aware convenience wrapper for highest or lowest numeric observations.
For a single curated indicator prefer get_economic_series(concept=...), which resolves one series; pass series_ids=[...] to narrow a broad dataset instead of returning every series it contains.
| Name | Required | Description | Default |
|---|---|---|---|
| n | No | Positive observation count. | |
| key | No | ABS SDMX key, or "all" for all series. | all |
| source | Yes | Source selector. Use abs for Australian Bureau of Statistics, rba for Reserve Bank of Australia, or apra for Australian Prudential Regulation Authority. | |
| end_date | No | Optional ISO date bound in YYYY-MM-DD format. | |
| table_id | No | Non-empty dataset or table id. | |
| direction | No | Whether to return the highest or lowest numeric observations. | highest |
| end_period | No | Optional ABS period bound in YYYY, YYYY-QN, YYYY-MM, or YYYY-SN format. | |
| identifier | Yes | Non-empty dataset or table id. | |
| series_ids | No | Optional list of non-empty source-native series IDs to keep after download. | |
| start_date | No | Optional ISO date bound in YYYY-MM-DD format. | |
| start_period | No | Optional ABS period bound in YYYY, YYYY-QN, YYYY-MM, or YYYY-SN format. |
Output Schema
| Name | Required | Description |
|---|---|---|
| series | Yes | Series descriptors keyed by series_id. |
| metadata | Yes | Source, provenance, cache, and retrieval metadata for this response. |
| observations | Yes | Long-form observations keyed by date and series_id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, openWorld, idempotent, and non-destructive hints, lowering the burden. The description adds useful behavioral context: it is a 'convenience wrapper' and warns that without narrowing, it may return every series in the dataset. No contradictions with annotations. Slightly more detail could be provided about return shape, but overall good.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: the first sentence states purpose, and the second provides usage alternatives. No redundant phrases; every sentence contributes. It is well-structured and appropriately sized for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 11 parameters and an output schema, the schema handles details. The description provides the essential conceptual context (wrapper, highest/lowest, source-aware) and high-level usage guidance. It could explicitly note that it aggregates across sources, but the schema's source enum already covers that. Overall complete enough for an agent to select and invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description references series_ids for narrowing, but parameter semantics are mostly handled by the schema's detailed per-parameter descriptions. The description adds marginal value beyond the schema, so a 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: a 'source-aware convenience wrapper for highest or lowest numeric observations.' It uses a specific verb ('get'), resource ('top observations'), and explicitly differentiates from siblings by mentioning prefer get_economic_series for single indicators. This is a clear and distinguishing purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance: use this tool for highest/lowest observations, but prefer get_economic_series(concept=...) for single curated indicators. It also advises passing series_ids=[...] to narrow a broad dataset. This clearly states when to use and when to use alternatives, exceeding basic guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_catalogueList CatalogueARead-onlyIdempotentInspect
List curated ABS, RBA, and APRA catalogue entries, optionally filtered by source,
category, or tag. Unranked complement to search_datasets.
| Name | Required | Description | Default |
|---|---|---|---|
| tag | No | Optional curated catalogue tag filter. | |
| source | No | Optional source filter. Use abs for Australian Bureau of Statistics, rba for Reserve Bank of Australia, or apra for Australian Prudential Regulation Authority. | |
| category | No | Optional curated catalogue or semantic concept category filter. | |
| include_ceased | No | Whether to include ceased ABS catalogue entries. | |
| include_discontinued | No | Whether to include discontinued RBA catalogue entries. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes | Curated ABS, RBA, and APRA catalogue entries. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=true. The description adds minimal behavioral context beyond stating it lists curated entries. Since annotations are comprehensive, the description's contribution is adequate but not extra.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with two sentences front-loading the core purpose and filtering options. Every sentence adds value without redundancy, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 5 optional parameters, full schema descriptions, an output schema, and comprehensive annotations, the description provides sufficient context. It covers what the tool does, how to filter, and its relationship to a sibling tool, leaving no gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with detailed descriptions for each parameter. The tool description does not add additional semantics beyond what the schema already provides, fitting the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists curated entries from ABS, RBA, and APRA, with optional filters. It distinguishes itself from the sibling search_datasets by noting it is an unranked complement, making the purpose specific and clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions optional filtering by source, category, or tag, and explicitly positions itself as a complement to search_datasets, implying when to use this tool vs the search alternative. It lacks explicit when-not scenarios but provides adequate context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_economic_conceptsList Economic ConceptsARead-onlyIdempotentInspect
List analyst-friendly semantic economic concepts accepted by get_economic_series.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Optional query for filtering semantic economic concepts. | |
| source | No | Optional source filter. Use abs for Australian Bureau of Statistics, rba for Reserve Bank of Australia, or apra for Australian Prudential Regulation Authority. | |
| category | No | Optional curated catalogue or semantic concept category filter. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes | Curated semantic economic concepts. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint, idempotentHint, openWorldHint, covering safety. The description adds context by specifying the relationship to get_economic_series, which is useful beyond annotations. No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that conveys essential information without any wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema exists and annotations are rich, the description is sufficient to convey the tool's purpose and relationship. It could mention that it is a read operation, but annotations already cover that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline 3 is appropriate. The description does not add any parameter-specific meaning beyond the schema; it only restates the purpose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists 'analyst-friendly semantic economic concepts' that are accepted by get_economic_series. The verb 'List' and resource are specific, and it distinguishes from siblings by linking to a specific sibling tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage before get_economic_series by stating concepts are accepted by that tool, but it does not explicitly state when to use, when not to use, or mention alternatives. Siblings like list_catalogue are not addressed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_rba_tablesList RBA TablesARead-onlyIdempotentInspect
Deprecated compatibility alias. Prefer list_catalogue(source="rba").
| Name | Required | Description | Default |
|---|---|---|---|
| category | No | Optional RBA catalogue category filter. | |
| include_discontinued | No | Whether to include discontinued RBA catalogue entries. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes | Curated RBA table catalogue entries. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, destructiveHint, idempotentHint, and openWorldHint. Description adds no behavioral context beyond deprecation status, which is standard and does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no extraneous words, front-loaded with deprecation notice.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a deprecated alias tool with comprehensive annotations and full schema coverage, the description is adequate. It clearly tells the agent to use the alternative, satisfying completeness for its limited purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are fully described in the schema. Description does not add any parameter-specific meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states it's a deprecated compatibility alias and directs to list_catalogue(source="rba"), but does not explicitly describe its own functionality. Sibling differentiation is implicit via the alternative recommendation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises to prefer list_catalogue(source="rba") instead, providing clear guidance on when to use this tool vs alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_release_eventsList Release EventsARead-onlyIdempotentInspect
List source-aware release calendar or release-pulse events.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Positive observation count. | |
| query | No | Optional query for filtering semantic economic concepts. | |
| source | No | Optional source filter. Use abs for Australian Bureau of Statistics, rba for Reserve Bank of Australia, or apra for Australian Prudential Regulation Authority. | |
| end_date | No | Optional ISO date bound in YYYY-MM-DD format. | |
| start_date | No | Optional ISO date bound in YYYY-MM-DD format. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes | ABS, RBA, and APRA release calendar events. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, which cover safety and behavior. The description adds minimal behavioral context beyond 'source-aware,' which is more of a feature than a behavioral trait. It does not contradict the annotations, and it does not add significant operational details such as pagination or return behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the primary action and target resource. Every word serves a purpose, with no filler or redundant phrasing. It is appropriately sized for a tool with self-documenting schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema, rich annotations, and fully described parameters, the description is largely adequate. The main gap is that it does not clarify what 'release-pulse events' are, but the schema and output schema likely cover operational details. Overall, it is sufficiently complete for an agent to understand its core purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides 100% parameter description coverage, including details on source enum values, date formats, and defaults. The description itself adds no parameter-specific information, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as listing release events, with a specific focus on 'source-aware release calendar or release-pulse events.' This verb+resource structure distinguishes it from sibling tools like list_catalogue and list_economic_concepts. However, the term 'release-pulse events' is somewhat ambiguous and could benefit from elaboration.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used for listing release events, but it does not explicitly state when to use it versus alternatives, nor does it mention any exclusions or prerequisites. The usage context is implied rather than clearly articulated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_datasetsSearch DatasetsARead-onlyIdempotentInspect
Search curated ABS, RBA, and APRA economic datasets.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Discovery query text. | |
| source | No | Optional source filter. Use abs for Australian Bureau of Statistics, rba for Reserve Bank of Australia, or apra for Australian Prudential Regulation Authority. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes | Ranked ABS, RBA, and APRA catalogue search results. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, etc. The description adds context about curated sources but no further behavioral details like pagination or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single concise sentence that is front-loaded, contains no filler, and effectively communicates the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema, the description doesn't need to explain return values. However, it lacks details like result limits or matching behavior, making it minimally adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters. The tool description does not add new information beyond the schema, meriting the baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies the verb 'search' and the resource 'curated ABS, RBA, and APRA economic datasets,' clearly distinguishing it from sibling tools like get_abs_data or list_catalogue.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for discovery but does not explicitly state when to use this tool versus alternatives or provide exclusion criteria. No guidance on when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
3 tool updates
v1.14.1- Added
describe_dataset - Added
get_top_observations - Added
list_release_events
3 tool updates
v1.14.0- Removed
describe_dataset - Removed
get_top_observations - Removed
list_release_events
7 tool updates
v1.11.0- Changed
get_abs_data5 fields changed- added
Input schema / properties / include_observation_dimensionsAdded value: +{ + "default": false, + "description": "Whether to repeat the full dimension dict on every observation. Off by default because the same dimensions already appear on each series descriptor and are encoded in series_id.", + "type": "boolean" +} - added
Output schema / properties / metadata / properties / derived / properties / alignment_methodAdded value: +{ + "enum": [ + "locf", + "exact_month", + "period_intersection", + "year_ended_lag" + ], + "type": "string" +} - added
Output schema / properties / metadata / properties / derived / properties / descriptionAdded value: +{ + "type": "string" +} - changed
Output schema / properties / metadata / properties / derived / requiredPrevious value: -[ - "concept", - "formula", - "operands", - "source_concepts", - "alignment_frequency", - "units", - "requested_bounds", - "resolved_bounds", - "dropped_observations" -]New value: +[ + "concept", + "description", + "formula", + "operands", + "source_concepts", + "alignment_frequency", + "alignment_method", + "units", + "requested_bounds", + "resolved_bounds", + "dropped_observations" +] - changed
Output schema / properties / observations / items / requiredPrevious value: -[ - "date", - "series_id", - "value", - "dimensions" -]New value: +[ + "date", + "series_id", + "value" +]
- Changed
get_apra_data5 fields changed- added
Input schema / properties / include_observation_dimensionsAdded value: +{ + "default": false, + "description": "Whether to repeat the full dimension dict on every observation. Off by default because the same dimensions already appear on each series descriptor and are encoded in series_id.", + "type": "boolean" +} - added
Output schema / properties / metadata / properties / derived / properties / alignment_methodAdded value: +{ + "enum": [ + "locf", + "exact_month", + "period_intersection", + "year_ended_lag" + ], + "type": "string" +} - added
Output schema / properties / metadata / properties / derived / properties / descriptionAdded value: +{ + "type": "string" +} - changed
Output schema / properties / metadata / properties / derived / requiredPrevious value: -[ - "concept", - "formula", - "operands", - "source_concepts", - "alignment_frequency", - "units", - "requested_bounds", - "resolved_bounds", - "dropped_observations" -]New value: +[ + "concept", + "description", + "formula", + "operands", + "source_concepts", + "alignment_frequency", + "alignment_method", + "units", + "requested_bounds", + "resolved_bounds", + "dropped_observations" +] - changed
Output schema / properties / observations / items / requiredPrevious value: -[ - "date", - "series_id", - "value", - "dimensions" -]New value: +[ + "date", + "series_id", + "value" +]
- Changed
get_derived_series4 fields changed- added
Output schema / properties / metadata / properties / derived / properties / alignment_methodAdded value: +{ + "enum": [ + "locf", + "exact_month", + "period_intersection", + "year_ended_lag" + ], + "type": "string" +} - added
Output schema / properties / metadata / properties / derived / properties / descriptionAdded value: +{ + "type": "string" +} - changed
Output schema / properties / metadata / properties / derived / requiredPrevious value: -[ - "concept", - "formula", - "operands", - "source_concepts", - "alignment_frequency", - "units", - "requested_bounds", - "resolved_bounds", - "dropped_observations" -]New value: +[ + "concept", + "description", + "formula", + "operands", + "source_concepts", + "alignment_frequency", + "alignment_method", + "units", + "requested_bounds", + "resolved_bounds", + "dropped_observations" +] - changed
Output schema / properties / observations / items / requiredPrevious value: -[ - "date", - "series_id", - "value", - "dimensions" -]New value: +[ + "date", + "series_id", + "value" +]
- Changed
get_economic_series5 fields changed- added
Input schema / properties / include_observation_dimensionsAdded value: +{ + "default": false, + "description": "Whether to repeat the full dimension dict on every observation. Off by default because the same dimensions already appear on each series descriptor and are encoded in series_id.", + "type": "boolean" +} - added
Output schema / properties / metadata / properties / derived / properties / alignment_methodAdded value: +{ + "enum": [ + "locf", + "exact_month", + "period_intersection", + "year_ended_lag" + ], + "type": "string" +} - added
Output schema / properties / metadata / properties / derived / properties / descriptionAdded value: +{ + "type": "string" +} - changed
Output schema / properties / metadata / properties / derived / requiredPrevious value: -[ - "concept", - "formula", - "operands", - "source_concepts", - "alignment_frequency", - "units", - "requested_bounds", - "resolved_bounds", - "dropped_observations" -]New value: +[ + "concept", + "description", + "formula", + "operands", + "source_concepts", + "alignment_frequency", + "alignment_method", + "units", + "requested_bounds", + "resolved_bounds", + "dropped_observations" +] - changed
Output schema / properties / observations / items / requiredPrevious value: -[ - "date", - "series_id", - "value", - "dimensions" -]New value: +[ + "date", + "series_id", + "value" +]
- Changed
get_latest_observations4 fields changed- added
Output schema / properties / metadata / properties / derived / properties / alignment_methodAdded value: +{ + "enum": [ + "locf", + "exact_month", + "period_intersection", + "year_ended_lag" + ], + "type": "string" +} - added
Output schema / properties / metadata / properties / derived / properties / descriptionAdded value: +{ + "type": "string" +} - changed
Output schema / properties / metadata / properties / derived / requiredPrevious value: -[ - "concept", - "formula", - "operands", - "source_concepts", - "alignment_frequency", - "units", - "requested_bounds", - "resolved_bounds", - "dropped_observations" -]New value: +[ + "concept", + "description", + "formula", + "operands", + "source_concepts", + "alignment_frequency", + "alignment_method", + "units", + "requested_bounds", + "resolved_bounds", + "dropped_observations" +] - changed
Output schema / properties / observations / items / requiredPrevious value: -[ - "date", - "series_id", - "value", - "dimensions" -]New value: +[ + "date", + "series_id", + "value" +]
- Changed
get_rba_table5 fields changed- added
Input schema / properties / include_observation_dimensionsAdded value: +{ + "default": false, + "description": "Whether to repeat the full dimension dict on every observation. Off by default because the same dimensions already appear on each series descriptor and are encoded in series_id.", + "type": "boolean" +} - added
Output schema / properties / metadata / properties / derived / properties / alignment_methodAdded value: +{ + "enum": [ + "locf", + "exact_month", + "period_intersection", + "year_ended_lag" + ], + "type": "string" +} - added
Output schema / properties / metadata / properties / derived / properties / descriptionAdded value: +{ + "type": "string" +} - changed
Output schema / properties / metadata / properties / derived / requiredPrevious value: -[ - "concept", - "formula", - "operands", - "source_concepts", - "alignment_frequency", - "units", - "requested_bounds", - "resolved_bounds", - "dropped_observations" -]New value: +[ + "concept", + "description", + "formula", + "operands", + "source_concepts", + "alignment_frequency", + "alignment_method", + "units", + "requested_bounds", + "resolved_bounds", + "dropped_observations" +] - changed
Output schema / properties / observations / items / requiredPrevious value: -[ - "date", - "series_id", - "value", - "dimensions" -]New value: +[ + "date", + "series_id", + "value" +]
- Changed
get_top_observations4 fields changed- added
Output schema / properties / metadata / properties / derived / properties / alignment_methodAdded value: +{ + "enum": [ + "locf", + "exact_month", + "period_intersection", + "year_ended_lag" + ], + "type": "string" +} - added
Output schema / properties / metadata / properties / derived / properties / descriptionAdded value: +{ + "type": "string" +} - changed
Output schema / properties / metadata / properties / derived / requiredPrevious value: -[ - "concept", - "formula", - "operands", - "source_concepts", - "alignment_frequency", - "units", - "requested_bounds", - "resolved_bounds", - "dropped_observations" -]New value: +[ + "concept", + "description", + "formula", + "operands", + "source_concepts", + "alignment_frequency", + "alignment_method", + "units", + "requested_bounds", + "resolved_bounds", + "dropped_observations" +] - changed
Output schema / properties / observations / items / requiredPrevious value: -[ - "date", - "series_id", - "value", - "dimensions" -]New value: +[ + "date", + "series_id", + "value" +]
7 tool updates
v1.8.0- Changed
get_abs_data2 fields changed- changed
Input schema / properties / last_n / descriptionPrevious value: -"Optional positive observation count limit."New value: +"Optional limit returning only the most recent N observations per series; metadata.truncated is true when older observations were dropped." - added
Output schema / properties / metadata / properties / observations_droppedAdded value: +{ + "description": "Number of observations removed by last_n selection; truncated is true when this is non-zero.", + "minimum": 0, + "type": "integer" +}
- Changed
get_apra_data2 fields changed- changed
Input schema / properties / last_n / descriptionPrevious value: -"Optional positive observation count limit."New value: +"Optional limit returning only the most recent N observations per series; metadata.truncated is true when older observations were dropped." - added
Output schema / properties / metadata / properties / observations_droppedAdded value: +{ + "description": "Number of observations removed by last_n selection; truncated is true when this is non-zero.", + "minimum": 0, + "type": "integer" +}
- Changed
get_derived_series2 fields changed- changed
Input schema / properties / last_n / descriptionPrevious value: -"Optional positive observation count limit."New value: +"Optional limit returning only the most recent N observations per series; metadata.truncated is true when older observations were dropped." - added
Output schema / properties / metadata / properties / observations_droppedAdded value: +{ + "description": "Number of observations removed by last_n selection; truncated is true when this is non-zero.", + "minimum": 0, + "type": "integer" +}
- Changed
get_economic_series2 fields changed- changed
Input schema / properties / last_n / descriptionPrevious value: -"Optional positive observation count limit."New value: +"Optional limit returning only the most recent N observations per series; metadata.truncated is true when older observations were dropped." - added
Output schema / properties / metadata / properties / observations_droppedAdded value: +{ + "description": "Number of observations removed by last_n selection; truncated is true when this is non-zero.", + "minimum": 0, + "type": "integer" +}
- Changed
get_latest_observations2 fields changed- changed
Input schema / properties / count / descriptionPrevious value: -"Positive observation count."New value: +"Number of most recent observations to return per series; metadata.truncated is true when older observations were dropped." - added
Output schema / properties / metadata / properties / observations_droppedAdded value: +{ + "description": "Number of observations removed by last_n selection; truncated is true when this is non-zero.", + "minimum": 0, + "type": "integer" +}
- Changed
get_rba_table2 fields changed- changed
Input schema / properties / last_n / descriptionPrevious value: -"Optional positive observation count limit."New value: +"Optional limit returning only the most recent N observations per series; metadata.truncated is true when older observations were dropped." - added
Output schema / properties / metadata / properties / observations_droppedAdded value: +{ + "description": "Number of observations removed by last_n selection; truncated is true when this is non-zero.", + "minimum": 0, + "type": "integer" +}
- Changed
get_top_observations1 field changed- added
Output schema / properties / metadata / properties / observations_droppedAdded value: +{ + "description": "Number of observations removed by last_n selection; truncated is true when this is non-zero.", + "minimum": 0, + "type": "integer" +}
9 tool updates
v1.7.1- Added
describe_dataset - Changed
get_abs_data4 fields changed- added
Output schema / properties / metadata / properties / apra_url_resolutionAdded value: +{ + "additionalProperties": false, + "description": "APRA workbook URL resolution strategy used for this retrieval.", + "properties": { + "seed_checked_at": { + "type": [ + "string", + "null" + ] + }, + "strategy": { + "enum": [ + "landing_page", + "seed_manifest", + "catalogue_fallback" + ], + "type": "string" + } + }, + "required": [ + "strategy", + "seed_checked_at" + ], + "type": "object" +} - added
Output schema / properties / metadata / properties / framework_breaksAdded value: +{ + "description": "Known source framework or reporting-definition breaks relevant to the payload.", + "items": { + "additionalProperties": false, + "properties": { + "date": { + "type": "string" + }, + "description": { + "type": "string" + }, + "label": { + "type": "string" + } + }, + "required": [ + "date", + "label", + "description" + ], + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / metadata / properties / selectionAdded value: +{ + "description": "Observation-selection provenance when returned by convenience tools.", + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "direction": { + "enum": [ + "highest", + "lowest" + ], + "type": "string" + }, + "dropped_non_numeric_count": { + "minimum": 0, + "type": "integer" + }, + "n": { + "minimum": 1, + "type": "integer" + }, + "numeric_observation_count": { + "minimum": 0, + "type": "integer" + }, + "returned_observation_count": { + "minimum": 0, + "type": "integer" + }, + "type": { + "enum": [ + "top_n" + ], + "type": "string" + } + }, + "required": [ + "type", + "n", + "direction", + "numeric_observation_count", + "returned_observation_count", + "dropped_non_numeric_count" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "n": { + "minimum": 1, + "type": "integer" + }, + "returned_observation_count": { + "minimum": 0, + "type": "integer" + }, + "series_count": { + "minimum": 0, + "type": "integer" + }, + "type": { + "enum": [ + "latest" + ], + "type": "string" + } + }, + "required": [ + "type", + "n", + "series_count", + "returned_observation_count" + ], + "type": "object" + } + ] +} - added
Output schema / properties / metadata / properties / warningsAdded value: +{ + "description": "Plain-English source warnings relevant to the payload.", + "items": { + "type": "string" + }, + "type": "array" +}
- Changed
get_apra_data4 fields changed- added
Output schema / properties / metadata / properties / apra_url_resolutionAdded value: +{ + "additionalProperties": false, + "description": "APRA workbook URL resolution strategy used for this retrieval.", + "properties": { + "seed_checked_at": { + "type": [ + "string", + "null" + ] + }, + "strategy": { + "enum": [ + "landing_page", + "seed_manifest", + "catalogue_fallback" + ], + "type": "string" + } + }, + "required": [ + "strategy", + "seed_checked_at" + ], + "type": "object" +} - added
Output schema / properties / metadata / properties / framework_breaksAdded value: +{ + "description": "Known source framework or reporting-definition breaks relevant to the payload.", + "items": { + "additionalProperties": false, + "properties": { + "date": { + "type": "string" + }, + "description": { + "type": "string" + }, + "label": { + "type": "string" + } + }, + "required": [ + "date", + "label", + "description" + ], + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / metadata / properties / selectionAdded value: +{ + "description": "Observation-selection provenance when returned by convenience tools.", + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "direction": { + "enum": [ + "highest", + "lowest" + ], + "type": "string" + }, + "dropped_non_numeric_count": { + "minimum": 0, + "type": "integer" + }, + "n": { + "minimum": 1, + "type": "integer" + }, + "numeric_observation_count": { + "minimum": 0, + "type": "integer" + }, + "returned_observation_count": { + "minimum": 0, + "type": "integer" + }, + "type": { + "enum": [ + "top_n" + ], + "type": "string" + } + }, + "required": [ + "type", + "n", + "direction", + "numeric_observation_count", + "returned_observation_count", + "dropped_non_numeric_count" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "n": { + "minimum": 1, + "type": "integer" + }, + "returned_observation_count": { + "minimum": 0, + "type": "integer" + }, + "series_count": { + "minimum": 0, + "type": "integer" + }, + "type": { + "enum": [ + "latest" + ], + "type": "string" + } + }, + "required": [ + "type", + "n", + "series_count", + "returned_observation_count" + ], + "type": "object" + } + ] +} - added
Output schema / properties / metadata / properties / warningsAdded value: +{ + "description": "Plain-English source warnings relevant to the payload.", + "items": { + "type": "string" + }, + "type": "array" +}
- Changed
get_derived_series4 fields changed- added
Output schema / properties / metadata / properties / apra_url_resolutionAdded value: +{ + "additionalProperties": false, + "description": "APRA workbook URL resolution strategy used for this retrieval.", + "properties": { + "seed_checked_at": { + "type": [ + "string", + "null" + ] + }, + "strategy": { + "enum": [ + "landing_page", + "seed_manifest", + "catalogue_fallback" + ], + "type": "string" + } + }, + "required": [ + "strategy", + "seed_checked_at" + ], + "type": "object" +} - added
Output schema / properties / metadata / properties / framework_breaksAdded value: +{ + "description": "Known source framework or reporting-definition breaks relevant to the payload.", + "items": { + "additionalProperties": false, + "properties": { + "date": { + "type": "string" + }, + "description": { + "type": "string" + }, + "label": { + "type": "string" + } + }, + "required": [ + "date", + "label", + "description" + ], + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / metadata / properties / selectionAdded value: +{ + "description": "Observation-selection provenance when returned by convenience tools.", + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "direction": { + "enum": [ + "highest", + "lowest" + ], + "type": "string" + }, + "dropped_non_numeric_count": { + "minimum": 0, + "type": "integer" + }, + "n": { + "minimum": 1, + "type": "integer" + }, + "numeric_observation_count": { + "minimum": 0, + "type": "integer" + }, + "returned_observation_count": { + "minimum": 0, + "type": "integer" + }, + "type": { + "enum": [ + "top_n" + ], + "type": "string" + } + }, + "required": [ + "type", + "n", + "direction", + "numeric_observation_count", + "returned_observation_count", + "dropped_non_numeric_count" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "n": { + "minimum": 1, + "type": "integer" + }, + "returned_observation_count": { + "minimum": 0, + "type": "integer" + }, + "series_count": { + "minimum": 0, + "type": "integer" + }, + "type": { + "enum": [ + "latest" + ], + "type": "string" + } + }, + "required": [ + "type", + "n", + "series_count", + "returned_observation_count" + ], + "type": "object" + } + ] +} - added
Output schema / properties / metadata / properties / warningsAdded value: +{ + "description": "Plain-English source warnings relevant to the payload.", + "items": { + "type": "string" + }, + "type": "array" +}
- Changed
get_economic_series4 fields changed- added
Output schema / properties / metadata / properties / apra_url_resolutionAdded value: +{ + "additionalProperties": false, + "description": "APRA workbook URL resolution strategy used for this retrieval.", + "properties": { + "seed_checked_at": { + "type": [ + "string", + "null" + ] + }, + "strategy": { + "enum": [ + "landing_page", + "seed_manifest", + "catalogue_fallback" + ], + "type": "string" + } + }, + "required": [ + "strategy", + "seed_checked_at" + ], + "type": "object" +} - added
Output schema / properties / metadata / properties / framework_breaksAdded value: +{ + "description": "Known source framework or reporting-definition breaks relevant to the payload.", + "items": { + "additionalProperties": false, + "properties": { + "date": { + "type": "string" + }, + "description": { + "type": "string" + }, + "label": { + "type": "string" + } + }, + "required": [ + "date", + "label", + "description" + ], + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / metadata / properties / selectionAdded value: +{ + "description": "Observation-selection provenance when returned by convenience tools.", + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "direction": { + "enum": [ + "highest", + "lowest" + ], + "type": "string" + }, + "dropped_non_numeric_count": { + "minimum": 0, + "type": "integer" + }, + "n": { + "minimum": 1, + "type": "integer" + }, + "numeric_observation_count": { + "minimum": 0, + "type": "integer" + }, + "returned_observation_count": { + "minimum": 0, + "type": "integer" + }, + "type": { + "enum": [ + "top_n" + ], + "type": "string" + } + }, + "required": [ + "type", + "n", + "direction", + "numeric_observation_count", + "returned_observation_count", + "dropped_non_numeric_count" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "n": { + "minimum": 1, + "type": "integer" + }, + "returned_observation_count": { + "minimum": 0, + "type": "integer" + }, + "series_count": { + "minimum": 0, + "type": "integer" + }, + "type": { + "enum": [ + "latest" + ], + "type": "string" + } + }, + "required": [ + "type", + "n", + "series_count", + "returned_observation_count" + ], + "type": "object" + } + ] +} - added
Output schema / properties / metadata / properties / warningsAdded value: +{ + "description": "Plain-English source warnings relevant to the payload.", + "items": { + "type": "string" + }, + "type": "array" +}
- Added
get_latest_observations - Changed
get_rba_table4 fields changed- added
Output schema / properties / metadata / properties / apra_url_resolutionAdded value: +{ + "additionalProperties": false, + "description": "APRA workbook URL resolution strategy used for this retrieval.", + "properties": { + "seed_checked_at": { + "type": [ + "string", + "null" + ] + }, + "strategy": { + "enum": [ + "landing_page", + "seed_manifest", + "catalogue_fallback" + ], + "type": "string" + } + }, + "required": [ + "strategy", + "seed_checked_at" + ], + "type": "object" +} - added
Output schema / properties / metadata / properties / framework_breaksAdded value: +{ + "description": "Known source framework or reporting-definition breaks relevant to the payload.", + "items": { + "additionalProperties": false, + "properties": { + "date": { + "type": "string" + }, + "description": { + "type": "string" + }, + "label": { + "type": "string" + } + }, + "required": [ + "date", + "label", + "description" + ], + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / metadata / properties / selectionAdded value: +{ + "description": "Observation-selection provenance when returned by convenience tools.", + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "direction": { + "enum": [ + "highest", + "lowest" + ], + "type": "string" + }, + "dropped_non_numeric_count": { + "minimum": 0, + "type": "integer" + }, + "n": { + "minimum": 1, + "type": "integer" + }, + "numeric_observation_count": { + "minimum": 0, + "type": "integer" + }, + "returned_observation_count": { + "minimum": 0, + "type": "integer" + }, + "type": { + "enum": [ + "top_n" + ], + "type": "string" + } + }, + "required": [ + "type", + "n", + "direction", + "numeric_observation_count", + "returned_observation_count", + "dropped_non_numeric_count" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "n": { + "minimum": 1, + "type": "integer" + }, + "returned_observation_count": { + "minimum": 0, + "type": "integer" + }, + "series_count": { + "minimum": 0, + "type": "integer" + }, + "type": { + "enum": [ + "latest" + ], + "type": "string" + } + }, + "required": [ + "type", + "n", + "series_count", + "returned_observation_count" + ], + "type": "object" + } + ] +} - added
Output schema / properties / metadata / properties / warningsAdded value: +{ + "description": "Plain-English source warnings relevant to the payload.", + "items": { + "type": "string" + }, + "type": "array" +}
- Added
get_top_observations - Added
list_release_events
10 tool updates
v0.1.0- First observed
get_abs_data - First observed
get_abs_dataset_structure - First observed
get_apra_data - First observed
get_derived_series - First observed
get_economic_series - First observed
get_rba_table - First observed
list_catalogue - First observed
list_economic_concepts - First observed
list_rba_tables - First observed
search_datasets
TDQS
Most tools have clear, distinct purposes (e.g., per-source data retrieval, catalogue listing, convenience wrappers). Some overlap exists between get_economic_series and the convenience wrappers (get_latest_observations, get_top_observations) but descriptions guide usage. The deprecated list_rba_tables adds minor ambiguity.
All tool names follow a consistent verb_noun pattern using snake_case (e.g., describe_dataset, get_abs_data, list_catalogue). No mixed conventions or inconsistent verb styles.
14 tools is appropriate for a domain covering multiple data sources and operations (discovery, retrieval, catalogue). It is slightly above the ideal range but still well-scoped without unnecessary tools.
The tool set covers essential operations for the stated purpose: discovery (list_catalogue, search_datasets, list_economic_concepts), retrieval per source (ABS, RBA, APRA), and convenience wrappers. Minor gaps like missing update/delete are acceptable for a read-only data server.
Maintenance
Related MCP Connectors
RBA MCP — Reserve Bank of Australia statistics (free, no auth).
Australian Bureau of Statistics (ABS) Data API MCP.
DBnomics MCP — meta-aggregator over 80+ stats providers
This MCP server provides seamless access to Malaysia's government open data, including datasets, w…
Related MCP Servers
- FlicenseCqualityDmaintenanceProvides access to the Australian Bureau of Statistics (ABS) Data API. This server allows AI assistants to query and analyze ABS statistical data.19-
- AlicenseAqualityAmaintenanceMCP server for the Brazilian Central Bank (BCB/SGS) public API, providing access to 18,000+ economic time series. Includes a curated catalog of 150+ popular indicators organized in 12 categories: interest rates (Selic), inflation (IPCA, IGP-M, INPC), exchange rates (USD, EUR), GDP, employment, credit, fiscal data, and more. Supports historical queries with date filters, latest values, metadata loo157546MIT
- AlicenseAqualityBmaintenanceAsk Claude "What's the cash rate?" or "What's AUD/USD today?" and get the real number from the Reserve Bank of Australia. Wraps RBA's F-tables with plain-English access to interest rates, FX rates, deposit rates, and mortgage rates.6MIT
- AlicenseAqualityBmaintenanceMCP server for the Australian Energy Market Operator (AEMO) National Electricity Market. Plain-English access to 5-min dispatch prices, regional demand, interconnector flows, generation by fuel, rooftop PV.5MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/AnthonyPuggs/ausecon-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server