Skip to main content
Glama
ny-data-registry-mcp

ny-data-registry-mcp

by BetaNYC

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
NY_DATA_INDEXNoWhere the harvested SQLite index lives.${HOME}/.cache/betanyc/ny-data-registry/ny-data-index.sqlite
NY_DATA_OFFLINENoSet to 1 to refuse every network call.off
NY_DATA_CACHE_DIRNoRegistry refresh cache and HTTP cache directory.${HOME}/.cache/betanyc/ny-data-registry
SOCRATA_APP_TOKENNoSocrata app token sent as X-App-Token to the Socrata Discovery API.
NY_DATA_MAX_LAYERSNoPer-portal cap on ArcGIS field requests per harvest.250
NY_DATA_MIN_INTERVAL_MSNoMinimum gap between requests to one host; cannot be set below 1000.1000
NY_DATA_REGISTRY_REFRESHNoSet to 0 to never fetch the published registry and use the bundled copy instead.on

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
find_sourcesA

Find New York open data portals and sources (state, county, city, agency, library, nonprofit) in BetaNYC's registry by topic, name or place. Returns each source's portal URL, platform family, API type, dataset count, status and last-verified date. Searches portal names and notes, not dataset titles (use search_datasets for datasets). Default status filter is 'live'.

list_sources_for_placeA

Everything the registry knows for one New York place (county, one of the 62 cities, an NYC borough, or a region): its own portal(s), sources for cities inside it, regional sources, and statewide sources that cover it. Says plainly whether the place has a portal, was checked and has none ('no-portal-exists'), or is not in the registry ('not-in-registry', which means unchecked, not absent).

how_to_queryA

How to get data from one registry source: its endpoint (copied verbatim, never guessed), API type, whether a key is needed and which env var holds it, an example request, and which MCP server to hand off to (the socrata MCP with the right domain, or the matching @betanyc MCP). Flags UNCONFIRMED, undocumented, gated, dead and no-portal rows.

check_sourceA

Live check of one source's portal URL: one polite request, redirects reported (not followed), HTTP status, response time, and whether that matches the registry's status. Never calls key-required or account-gated sources, and reports a bot block rather than working around it.

registry_infoA

Registry row counts by status, tier and platform family; when the registry was generated and where this copy came from (bundled or refreshed from GitHub Pages); unmapped platform strings; and the harvested index's size and last harvest date.

search_datasetsA

Search dataset titles, descriptions, tags and column names across the harvested Socrata and ArcGIS portals in New York (needs the harvested index). Filter by place, portal, platform family, download format (csv, geojson, shapefile, kml, api, xlsx) or last-updated date. Each result gives the portal, link, formats, update date, and for Socrata the domain + 4x4 to hand to the socrata MCP.

get_dataset_columnsB

Column names, field names, types and descriptions for one dataset from the index, plus every distribution (format + URL), license, publisher, extent and per-field provenance (from the portal vs derived here).

find_joinableA

Datasets that share a join key with this one, grouped by key: BBL, BIN, borough, community district, council district, census tract, SWIS, FIPS, ZIP. Uses a curated key-column map, not raw column-name equality.

whats_newA

Datasets added, changed or removed in the index since a date, and datasets whose portal says they were updated since then. Optional portal filter.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.7/5.0

Scored across 9 tools

Disambiguation4/5

Most tools have clearly distinct roles: source discovery, place-level source lookup, query instructions, live checks, registry metadata, dataset search, column inspection, join discovery, and change tracking. The only meaningful overlap is find_sources versus list_sources_for_place when a place is used as a search term, but the descriptions clarify the difference between a general search and a comprehensive place profile.

Naming Consistency4/5

The set mostly follows a consistent snake_case verb_noun convention: find_sources, list_sources_for_place, check_source, search_datasets, get_dataset_columns, find_joinable. Minor deviations are registry_info and whats_new, which are noun/phrase-style rather than verb_noun, but overall the naming remains predictable.

Tool Count5/5

Nine tools is well-scoped for a registry/discovery server, with each tool covering a distinct part of the workflow: source discovery, place lookup, query guidance, health checks, registry metadata, dataset search, column inspection, joins, and change tracking. No tool feels redundant or missing from a count perspective.

Completeness4/5

The surface covers the core lifecycle well: finding sources, understanding how to query them, checking liveness, searching harvested datasets, inspecting columns, finding joinable datasets, and tracking changes. Minor gaps remain, such as a dedicated single-source detail tool beyond how_to_query or a direct dataset-detail lookup beyond column inspection, but agents can work around these.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues