publicdata.au
Search, filter, count and sum Australian government open data, with every version kept.
¿Debería usar esto?
Calidad y seguridad
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"mcp": {
"url": "https://publicdata.au/mcp"
}
}
}Puntos de conexión remotos
https://publicdata.au/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (8)
🟢search_datasets(query)
Find datasets on publicdata.au by title, publisher or field name. Returns slug, title, publisher, licence, dataset page and the latest download URL.
Esquema de entrada
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Words from a title, publisher or field name"
}
},
"required": [
"query"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"title": {
"type": "string"
},
"publisher": {
"type": [
"string",
"null"
]
},
"licence": {
"type": [
"string",
"null"
]
},
"page": {
"type": [
"string",
"null"
]
},
"latest": {
"type": [
"string",
"null"
]
}
},
"required": [
"slug",
"title"
]
}
}
},
"required": [
"results"
]
}🟢get_dataset(slug)
Read one dataset: its Frictionless data package (fields, types, licence, attribution, download URLs) and every version.
Esquema de entrada
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Dataset slug from search_datasets"
}
},
"required": [
"slug"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"datapackage": {
"type": "object"
},
"versions": {}
},
"required": [
"datapackage",
"versions"
]
}🟢list_partitions(slug, field)
List the per-value download files of a dataset for one partition field, with the row count and URL of each, to download a slice of the data.
Esquema de entrada
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Dataset slug from search_datasets"
},
"field": {
"type": "string",
"description": "A partition field named in the data package, for example crash_year or loc_local_government_area"
}
},
"required": [
"slug",
"field"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"field": {
"type": "string"
},
"version_base": {
"type": "string"
},
"partitions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"value": {},
"rows": {
"type": "integer"
},
"url": {
"type": "string"
}
},
"required": [
"value",
"rows",
"url"
]
}
}
},
"required": [
"field",
"version_base",
"partitions"
]
}🟢query_rows(slug, where, select, order, limit, ...)
Return rows from a dataset, filtered across the whole table by the query API. Returns up to limit rows, the number of rows that match, the offset of the next page, the version answered and the attribution string.
Esquema de entrada
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Dataset slug from search_datasets"
},
"where": {
"type": "object",
"description": "Filters by field name, applied to the whole table. A value may be a scalar for an exact, case-sensitive match, a list of scalars to match any of them, null to match blank or suppressed cells, {\"min\": n, \"max\": n} for an inclusive range, or {\"like\": \"*text*\"} for a case-insensitive match where * is the wildcard. A blank cell never matches a scalar, a list or a range.",
"additionalProperties": true
},
"select": {
"type": "array",
"items": {
"type": "string"
},
"description": "Fields to return. Every field when absent."
},
"order": {
"type": "string",
"description": "field.asc or field.desc, comma-separated. The publisher's row order when absent."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 500,
"default": 50,
"description": "Rows to return, 1 to 500. 50 when absent."
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0,
"description": "Rows to skip. next_offset in each answer gives the next page."
},
"version": {
"type": "string",
"description": "A version date, YYYY-MM-DD, from get_dataset. The newest version loaded for queries when absent."
}
},
"required": [
"slug"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"version": {
"type": [
"string",
"null"
]
},
"rows": {
"type": "array",
"items": {
"type": "object"
}
},
"matched": {
"type": "integer"
},
"next_offset": {
"type": [
"integer",
"null"
]
},
"query": {
"type": "string"
},
"attribution": {
"type": [
"string",
"null"
]
}
},
"required": [
"version",
"rows",
"matched",
"next_offset",
"query"
]
}🟢count_rows(slug, group_by, metric, where, limit, ...)
Count rows in a dataset, or sum, average, min or max a field, grouped by up to three fields and filtered across the whole table by the query API. Returns groups sorted from largest, the number of rows that match, the version answered and the attribution string.
Esquema de entrada
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Dataset slug from search_datasets"
},
"group_by": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 3,
"description": "Fields to group by, for example [\"crash_severity\"]. One total when absent."
},
"metric": {
"type": "string",
"default": "count",
"description": "count, or sum, avg, min or max of a field written as sum.field_name. count when absent."
},
"where": {
"type": "object",
"description": "Filters by field name, applied to the whole table. A value may be a scalar for an exact, case-sensitive match, a list of scalars to match any of them, null to match blank or suppressed cells, {\"min\": n, \"max\": n} for an inclusive range, or {\"like\": \"*text*\"} for a case-insensitive match where * is the wildcard. A blank cell never matches a scalar, a list or a range.",
"additionalProperties": true
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 1000,
"default": 100,
"description": "Groups to return, 1 to 1000. 100 when absent."
},
"version": {
"type": "string",
"description": "A version date, YYYY-MM-DD, from get_dataset. The newest version loaded for queries when absent."
}
},
"required": [
"slug"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"version": {
"type": [
"string",
"null"
]
},
"group_by": {
"type": "array",
"items": {
"type": "string"
}
},
"metric": {
"type": "string"
},
"groups": {
"type": "array",
"items": {
"type": "object"
}
},
"truncated": {
"type": "boolean"
},
"matched": {
"type": "integer"
},
"query": {
"type": "string"
},
"attribution": {
"type": [
"string",
"null"
]
}
},
"required": [
"version",
"group_by",
"metric",
"groups",
"truncated",
"matched",
"query"
]
}🟢diff_versions(slug, from, to)
Compare two versions of a dataset by its key: rows added, removed and changed.
Esquema de entrada
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Dataset slug from search_datasets"
},
"from": {
"type": "string",
"description": "Older version date, YYYY-MM-DD"
},
"to": {
"type": "string",
"description": "Newer version date, YYYY-MM-DD"
}
},
"required": [
"slug",
"from",
"to"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object"
}🟢search_catalogue(query, jurisdiction, votable_only)
Search every dataset on Australia's government portals. A row's state says whether it can take a vote; pass its vote key to vote.
Esquema de entrada
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Words from a title, description or publisher"
},
"jurisdiction": {
"type": "string",
"enum": [
"cth",
"nsw",
"vic",
"qld",
"wa",
"sa",
"tas",
"act",
"nt"
],
"description": "One government. All when absent."
},
"votable_only": {
"type": "boolean",
"default": false,
"description": "Leave out records that cannot take a vote"
}
},
"required": [
"query"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"catalogue_read": {
"type": "string"
},
"records": {
"type": "integer"
},
"total": {
"type": "integer"
},
"next_offset": {
"type": [
"integer",
"null"
]
},
"rows": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"summary": {
"type": "string"
},
"publisher": {
"type": "string"
},
"publisher_page": {
"type": "string"
},
"jur": {
"type": "string"
},
"url": {
"type": "string"
},
"licence": {
"type": "string"
},
"formats": {
"type": "string"
},
"modified": {
"type": "string"
},
"state": {
"type": "string",
"enum": [
"votable",
"chosen",
"served",
"closed"
]
},
"vote": {
"type": "string"
},
"page": {
"type": "string"
},
"reason": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"title",
"state",
"vote"
]
}
}
},
"required": [
"catalogue_read",
"rows"
]
}🟡vote(slug)
Add one vote so a dataset is built sooner. No identity is recorded, and each browser counts once a day.
Esquema de entrada
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "The vote key of a search_catalogue row, or a backlog slug from /backlog.json"
}
},
"required": [
"slug"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"votes": {
"type": "integer"
}
},
"required": [
"slug",
"votes"
]
}Comunidad
Evidencia