Skip to main content
Glama
cliwant

mcp-sam-gov

arcgis_hub_discover_datasets

Read-only

Search ArcGIS Hub by keyword to find datasets, optionally only open data, and see owner and source details to vet publishers.

Instructions

Discover ArcGIS Hub datasets by keyword — the SLED/GIS open-data layer that Socrata and CKAN do NOT cover (keyless; hub.arcgis.com/api/v3/datasets). Input query (→q, REQUIRED, ≥2 non-whitespace chars — broad whole-Hub scan refused), openDataOnly (default TRUE → filter[openData]=true, the B2G-relevant designated-open-data subset; false broadens to all shared items), limit (1..100, def 20 → page[size]), offset (0-based → page[start]=offset+1). Returns { query, openDataOnly, datasets:[{ id, name, description, owner, orgName, source, region, type, sector, keywords, downloadable, hasApi, created, modified, landingPage, itemId }] } + honest _meta. ★PROVENANCE (the crux): ArcGIS Hub is a GLOBAL, OPEN publishing platform — results include NON-US and NON-GOVERNMENTAL publishers. This is a DISCOVERY aid, NOT a curated official-source allowlist (unlike socrata_query): the per-row owner/orgName/source/region are surfaced VERBATIM so you can VET the publisher, and the global-platform caveat rides EVERY response. DISCOVERY ONLY — metadata + links; to read rows, arcgis_feature_query covers only its curated allowlist; other datasets must be followed on their own endpoint. HONESTY: totalAvailable = EXACT Hub match count (meta.total, NEVER data.length); pagination is 0-based offset; scalars null-never-empty, booleans null-preserving; genuine no-match → complete:true/returned:0; 429 → rate_limited / 5xx/timeout → upstream_unavailable THROWS; 200 non-JSON / non-array → schema_drift.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoDatasets per page (→ page[size]), 1..100, default 20.
queryYesKeyword search over ArcGIS Hub datasets (→ q), e.g. 'procurement contract', 'zoning permits'. REQUIRED, ≥2 non-whitespace chars (a broad scan of the whole global Hub is refused).
offsetNo0-based record offset (→ page[start]=offset+1). Page with _meta.pagination.nextOffset; totalAvailable is the exact Hub match count.
openDataOnlyNoWhen true (default), filter to items the publisher designated as open data (→ filter[openData]=true) — the B2G-relevant subset. Set false to broaden to ALL shared items (vet the publisher even more).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.12.0

TDQS

A5/5.0
Behavior5/5

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

Even though annotations already declare readOnlyHint=true and openWorldHint=true, the description adds extensive behavioral context: global non-US/non-governmental publishers, verbatim provenance fields, honest meta semantics, exact totalAvailable behavior, null/boolean handling, 429/5xx/timeout error modes, and schema-drift detection. It fully discloses what the tool can and cannot guarantee.

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

Conciseness5/5

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

The description is long, but it is densely packed and every sentence earns its place given the tool's complexity and the critical caveats around provenance and non-curated data. It front-loads the core purpose and then layers parameter semantics, discovery-vs-read guidance, and honesty guarantees in a readable, labeled structure.

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

Completeness5/5

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

With no output schema, the description supplies the full return shape, pagination semantics, exact match-count behavior, error conditions, and the crucial global-platform caveat. For a discovery tool with open-world data and trust implications, nothing essential is missing.

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

Parameters5/5

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

Schema coverage is 100%, so the schema already documents parameters. The description still adds significant value by mapping each parameter to its Hub API equivalent (q, filter[openData], page[size], page[start]), stating defaults and constraints, and explaining real-world semantics such as the B2G relevance of openDataOnly=true.

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

Purpose5/5

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

The description opens with a specific verb and resource: "Discover ArcGIS Hub datasets by keyword," and immediately positions it as the SLED/GIS open-data layer not covered by Socrata and CKAN. It clearly distinguishes this discovery tool from sibling data-access tools without ambiguity.

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

Usage Guidelines5/5

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

The description names explicit alternatives and selection conditions: Socrata/CKAN do not cover this layer, arcgis_feature_query covers only a curated allowlist for reading rows, and socrata_query is a curated official-source allowlist whereas this tool is explicitly not. This is ideal usage routing.

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

Deploy Server

Other Tools