Analytics
georgiacivicdata.org
Provides discovery, schema inspection, and querying of Georgia education datasets with filtered access to gold facts and dimension labels.
ENDPOINT 1
https://mcp.georgiacivicdata.org/mcp
MCP server metadata
- Name
- Georgia Public Data
- Version
- 1.27.2
Cleaned, standardized Georgia public data (education and Census context) as a star schema — lean fact tables (keys + metrics) joined to shared dimensions (district / school / county / demographic labels), described by ODCS data contracts and served over DuckDB. Pick a tool: - list_datasets — enumerate every topic + dimension (the catalog). - search_datasets — find a topic by keyword when you don't know its name. - describe_dataset — one topic's full schema: columns, the exact filter keys + enum values (read this before query_dataset), FK→dimension joins, example queries, usage, limitations. - query_dataset — the core data tool: filtered, dimension-joined rows for one topic. - distinct_values — the valid values of one filter column (FK codes / free categoricals) before query_dataset, so a filter doesn't silently return nothing. - resolve_entity — turn a place/demographic name or code (e.g. 'Fulton') into the district/school/county/demographic key to filter by. - aggregate — server-side avg/sum/min/max/count of a metric grouped by year / FK codes / categoricals (aggregation-first: ask for the summary, don't pull raw rows and reduce in-context). - describe_dimension / get_dimension — a dimension's schema (keys, link keys, semantics) and its label rows. - get_contract — the raw ODCS contract for a topic or dimension. - link_tables / link_query — cross-dataset / cross-topic SQL joins on shared geography (call link_tables first for the exact table paths + join keys). Common recipe — top-N ranking ('which schools/districts have the highest/lowest X'): a plain query_dataset with order_by=<the topic's key_metric>, order='desc' (top) or 'asc' (bottom), limit=N, pinned to ONE year (default the latest available) — never an aggregate. Keep the recommended_query pins (demographic total, required single-selects) so rows are comparable; NULL (suppressed) metrics sort last in either direction. Each topic's describe_dataset echoes this recipe as recommended_query.ranking. Read the data carefully: a NULL metric usually means the value was SUPPRESSED (small counts), not zero — never report it as 0 (see each topic's null_semantics). Within a demographic_category the values are mutually exclusive and the `all` demographic is the denominator — don't sum race/ethnicity rows expecting them to equal `all`. Year coverage can have gaps (see year_gaps). The districts dimension's district_census_id is a 5-digit Census school-district code (NOT a county FIPS) and a district is not 1:1 with a county. Education topics are district/school-grain; Census topics may be state, county, school-district, or tract grain — a county is NOT a school district.
Known tools 12
list_datasetsEnumerate every approved Georgia dataset (topic) and the shared dimensions.
Inferred read-onlysearch_datasetsKeyword search over the catalog metadata (topic names, descriptions, tags, AND column names/descriptions) — the discovery entry point when you don't know the exact topic name.
Inferred read-onlydescribe_datasetFull schema for one topic: every column (name/type/role/unit/value range/null-meaning), the exact `filters` list with enum values (read this before query_dataset — it is the authoritative set of filter keys), the FK→dimension join shape (`foreign_keys`), example queries, usage, limitations, null semantics, tags, and `schema_hash` (for cache/drift detection).
Inferred read-onlyquery_datasetQuery one topic's gold facts with dimension labels joined in (the district/school/county/demographic names come back on every row).
Inferred read-onlydistinct_valuesList the distinct values of ONE filterable column of a topic — the fast way to learn valid filter values before query_dataset, especially for FREE categoricals and FK codes (district_code/school_code/county_fips/demographic) that carry no enum in describe_dataset (a wrong guess otherwise returns an empty page with no error).
Inferred read-onlyresolve_entityResolve a place or demographic NAME or CODE to its stable keys + labels — the right way to turn 'Atlanta Public Schools' / 'Fulton' / a raw code into the district_code / school_code / county_fips / demographic to filter by (a wrong code guess otherwise returns an empty query_dataset page).
Inferred read-onlydescribe_dimensionSchema for one dimension (districts / schools / counties / demographics): the (possibly composite) primary key, the attribute columns a join attaches, the cross-dataset `link_keys` (e.
Inferred read-onlyget_dimensionPaginated read of a dimension table — the label lookups (district names, school names, county names, demographic labels).
Inferred read-onlylink_tablesList the tables link_query can read (curated gold paths only) and the join keys that bridge facts → dimensions → Census geography.
Inferred read-onlylink_queryRun a cross-dataset / cross-topic analytical SQL query that the per-topic query_dataset filters can't express — e.
Inferred read-onlyCONNECT WITH APPROVAL
Client installation
Review this server and its permissions before adding it. Secret placeholders must be set locally.
Codex
~/.codex/config.toml
[mcp_servers.georgia-public-data]
url = "https://mcp.georgiacivicdata.org/mcp"
enabled = true
Claude Code
.mcp.json
{
"mcpServers": {
"georgia-public-data": {
"type": "http",
"url": "https://mcp.georgiacivicdata.org/mcp"
}
}
}
Claude Desktop
Settings → Connectors → Add custom connector
Name: georgia-public-data
Remote MCP URL: https://mcp.georgiacivicdata.org/mcp
Add this remote URL as a custom connector in Claude Desktop. Availability depends on the user plan and workspace policy.
Cursor
.cursor/mcp.json
{
"mcpServers": {
"georgia-public-data": {
"url": "https://mcp.georgiacivicdata.org/mcp"
}
}
}
Visual Studio Code
.vscode/mcp.json
Add to Visual Studio Code{
"servers": {
"georgia-public-data": {
"type": "http",
"url": "https://mcp.georgiacivicdata.org/mcp"
}
}
}
Generic MCP
Client-specific MCP configuration
{
"name": "georgia-public-data",
"transport": "streamable-http",
"url": "https://mcp.georgiacivicdata.org/mcp"
}
MCP Inspector
Run the official MCP Inspector locally and enter the indexed Streamable HTTP endpoint.
TRUST AND VERIFICATION EVIDENCE
Loading Trust v2 evidence…
Checking the associated registrable domain. The BuiltWith key remains server-side.
Evidence is source-attributed and does not guarantee that a third-party server is safe. Risk labels are conservative metadata heuristics.