<!-- Agent Datasets docs · platform_get_catalog · canonical: https://www.agentdatasets.com/docs/tools/platform_get_catalog · rendered from https://www.agentdatasets.com -->

# platform_get_catalog

Discover what data this platform serves: every category and dataset, with coverage, cadence, licensing posture, freshness, and the MCP tools that serve each dataset.

| Field | Value |
| --- | --- |
| Category | Platform (`platform`) |
| Exposure | public |
| MCP tool | `platform_get_catalog` |
| Documentation | https://www.agentdatasets.com/docs/tools/platform_get_catalog |

## Description

Discover what data this platform serves: every category and dataset, with coverage,
cadence, licensing posture, freshness, and the MCP tools that serve each dataset.

When to use: call this first when unsure which category or tool answers a
question, to inspect the human-readable universe and time-span description,
or to check licensing posture. Sibling contrast: for data currency alone
prefer `platform_get_freshness`; the catalog adds categories, coverage,
posture, and tool routing on top of the same freshness snapshot.

Catalog scope: it lists datasets and the tools that serve them. Identity/search
helpers are described in the server instructions, not catalogued as datasets.
The platform tools themselves are first-class registry rows under the
launch-bar-exempt `platform` category: `platform_catalog` (served by this
tool) and `platform_freshness` (served by `platform_get_freshness`), so the
catalog describes its own metadata surfaces.

What comes back: `data.categories` — the full fixed category list (key,
display_name, status live|soon, description, exempt), always complete on
every page; `data.datasets` — paginated dataset rows, each with `dataset`,
`display_name`, `category`, `source_tag`, `source_name`, `license`,
`posture` ("public"|"internal"), `redistributable`, `coverage`, `cadence`,
`freshness` (status, stale, status_reason, last_refresh, latest_as_of), and
`tools` (MCP tool name + one-line summary). `meta.source` is
`platform_catalog`; `meta.as_of` is the freshness-check instant.

Bounds + paging: default limit 50, max 100; all current datasets fit one
default page; page by passing `pagination.next_cursor` as `cursor` until
`has_more` is false. Errors: `bad_parameter` (malformed limit/cursor),
`unavailable` (database unreachable).

Example: `platform_get_catalog(limit=50)`.

## Parameters

Input schema advertised to MCP clients and mirrored by the REST query string.

| Parameter | In | Type | Required | Default | Constraints | Description |
| --- | --- | --- | --- | --- | --- | --- |
| limit | input | `integer` | no | 50 | min 1, max 100 | Catalog datasets to return per page (1-100); the default is 50, and the whole registry currently fits one page. |
| cursor | input | `string \| null` | no | null | — | Opaque pagination cursor from a previous response's `pagination.next_cursor`; omit to start from the first dataset. |

## Provenance

- `platform_catalog` — Curated internal registry (dataset catalog), Data-catalog metadata — categories, dataset descriptions, licensing posture, cadence, and ingest freshness; each listed dataset's own sources keep their originating-agency attribution (Catalog metadata is authored in-repo and carries no separate license; per-dataset licensing posture is stated on each row and governed by docs/licensing-register.md). See https://www.agentdatasets.com/docs/attribution.md

Dataset registry: `platform_catalog`.
