Skip to main content
Glama
seansoreilly

Australian Bureau of Statistics (ABS)

by seansoreilly

query_dataset

Retrieve specific data from Australian Bureau of Statistics (ABS) datasets using customizable filters to meet analytical needs.

Instructions

Query a specific ABS dataset with optional filters

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
datasetIdYesID of the dataset to query (e.g., C21_G01_LGA)

Implementation Reference

  • The main handler for tool calls, which specifically implements the logic for 'query_dataset' by validating input, constructing the ABS API URL, fetching the data with axios, and returning the JSON response.
    server.setRequestHandler(CallToolRequestSchema, async (request) => { try { const { name, arguments: args } = request.params; if (name !== "query_dataset") { throw new Error(`Unknown tool: ${name}`); } if (!args?.datasetId || typeof args.datasetId !== "string") { throw new Error("datasetId is required and must be a string"); } const url = `${ABS_API_BASE}/data/${args.datasetId}/all?format=json&dimensionAtObservation=AllDimensions`; try { const response = await axios.get(url); return { content: [{ type: "text", text: JSON.stringify(response.data, null, 2) }] }; } catch (error) { if (error instanceof AxiosError && error.response) { throw new Error(`ABS API Error: ${error.response.status} - ${JSON.stringify(error.response.data)}`); } throw error; } } catch (error) { const errorMessage = error instanceof Error ? error.message : String(error); throw new Error(`Error querying dataset: ${errorMessage}`); } });
  • src/index.ts:29-48 (registration)
    Registers the 'query_dataset' tool by defining its name, description, and input schema in the list tools response.
    server.setRequestHandler(ListToolsRequestSchema, async () => { return { tools: [ { name: "query_dataset", description: "Query a specific ABS dataset with optional filters", inputSchema: { type: "object", required: ["datasetId"], properties: { datasetId: { type: "string", description: "ID of the dataset to query (e.g., C21_G01_LGA)" } } } } ] }; });
  • Defines the input schema for the query_dataset tool, requiring a 'datasetId' string.
    inputSchema: { type: "object", required: ["datasetId"], properties: { datasetId: { type: "string", description: "ID of the dataset to query (e.g., C21_G01_LGA)" } } }

Other Tools

Related 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/seansoreilly/abs'

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