Prototype · Preview: every server in the official registry, synced every 30 minutes. Sign in with Google to write reviews.
PopNx MCPMCP servers for people who use AI · explained in plain words

Charlotte Open City Data

by ajwannversion 1.0.1i★ 0iComputer or cloud
Registry nameio.github.ajwann/queensestate

How to install

Overview

Description from the maker (original English)

Charlotte and Mecklenburg County open data: addresses, crime, 311, zoning, budget, and services

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

Install

Pick the AI app you use, then copy the settings.

Passed 4/4 checks · What you ask goes through the maker’s server (queensestate.adamwanninger.com)

First: which AI do you use?

Pick your app and the steps appear below.

Works with Claude · about 2 min

No key, nothing to install · Set it up once on claude.ai or the desktop app, then use it in chat · free accounts can add 1

  1. Open Claude’s Connectors page

    CustomizeConnectors

    CustomizeConnectors1+ Add2https://…3Add4
  2. Click “+ Add” → “Add custom connector” and fill in these 2 fields

    Copy each value into the field with the same name in Claude, then click Continue

    Name · NameCharlotte Open City Data
    Remote MCP server URL · Addresshttps://queensestate.adamwanninger.com/mcp

    Leave Authentication as Claude detected it, then click Add

  3. Turn it on in a chat

    +ConnectorsCharlotte Open City Data

  4. Try it

    Use Charlotte Open City Data and tell me what you can do for me, then show me one thing

    ✓ If Claude says it is using Charlotte Open City Data or shows a Charlotte Open City Data tool in the answer, you are connected

Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Works with ChatGPT on business plans only

ChatGPT Business, Enterprise or Edu on the web, added by a workspace admin or owner · On Free, Plus or Pro: your ChatGPT plan cannot connect MCP yet

  1. Open ChatGPT’s add-MCP page on the web

    Plugins+Add custom MCP server

    ChatGPTPlugins1+2https://…3Create4
  2. Fill in the name and address

    Enter a name, paste the address under Connection, tick the risk warning and click Create as a plugin

    Name · NameCharlotte Open City Data
    Connection · Addresshttps://queensestate.adamwanninger.com/mcp
  3. Pick Charlotte Open City Data in a chat

    Start a new chat and pick Charlotte Open City Data from your plugins before typing

  4. Try it

    Use Charlotte Open City Data and tell me what you can do for me, then show me one thing

    ✓ If ChatGPT says it is using Charlotte Open City Data or shows a Charlotte Open City Data tool in the answer, you are connected

Menu names checked against OpenAI’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Works with Claude Code · about 2 min

No key, nothing to install

  1. Open Terminal

    Mac: press Command+Space and type Terminal · Windows: open PowerShell

  2. Paste this command and press Enter

    claude mcp add --transport http queensestate https://queensestate.adamwanninger.com/mcp
  3. Type /mcp in Claude Code

    You should see Charlotte Open City Data listed as connected

  4. Try it

    Use Charlotte Open City Data and tell me what you can do for me, then show me one thing

    ✓ If Claude Code says it is using Charlotte Open City Data or shows a Charlotte Open City Data tool in the answer, you are connected

Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Works with Cursor · about 2 min

No key, nothing to install

  1. Click this button to open Cursor

    Open in Cursor

    Cursor asks you to confirm; click Install

  2. Open the AI chat in Cursor in Agent mode

  3. Try it

    Use Charlotte Open City Data and tell me what you can do for me, then show me one thing

    ✓ If Cursor says it is using Charlotte Open City Data or shows a Charlotte Open City Data tool in the answer, you are connected

Menu names checked against Cursor’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Works with VS Code · about 2 min

No key, nothing to install

  1. Click this button to open VS Code

    Open in VS Code

    VS Code asks you to confirm; click Install

  2. Open the AI chat in VS Code in Agent mode

  3. Try it

    Use Charlotte Open City Data and tell me what you can do for me, then show me one thing

    ✓ If VS Code says it is using Charlotte Open City Data or shows a Charlotte Open City Data tool in the answer, you are connected

Menu names checked against VS Code’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Other apps that use MCP, such as Windsurf, Zed or Gemini CLI, each add servers differently. See how in the app list.

See every app that uses MCP →

Address for apps that connect over the web

Addresshttps://queensestate.adamwanninger.com/mcp

JSON settings are under “For developers” below

Stuck? Ask people who use Charlotte Open City Data💬 Discussion →
For developers: Terminal commands and JSON settings

Over the web

Claude Code

claude mcp add --transport http queensestate https://queensestate.adamwanninger.com/mcp

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "queensestate": {
      "url": "https://queensestate.adamwanninger.com/mcp"
    }
  }
}

VS Code (mcp.json)

{
  "servers": {
    "queensestate": {
      "type": "http",
      "url": "https://queensestate.adamwanninger.com/mcp"
    }
  }
}

Installed on your computer

Claude Code

claude mcp add queensestate -- uvx queensestate

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "queensestate": {
      "command": "uvx",
      "args": [
        "queensestate"
      ]
    }
  }
}

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "queensestate": {
      "command": "uvx",
      "args": [
        "queensestate"
      ]
    }
  }
}

VS Code (mcp.json)

{
  "servers": {
    "queensestate": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "queensestate"
      ]
    }
  }
}

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

At a glance

Downloads per weeki
12/wk
Licencei
No licence stated
Connection
Computer or cloud
Transport
stdio, streamable-http
Latest versioni
1.0.1
Published to registryi
Sep 20, 2026
Code last changedi
Sep 20, 2026
Maker
ajwann
Packages
pypi: queensestate
Website
github.com
Registry status
Active

Which apps can use it

Based on how this server connects and on each app’s own docs, checked Nov 10, 2026.

Connect over the internet in

ClaudeChatGPTGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatOpen WebUIRaycast

Run on your computer in

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast

All apps, with pros and cons →

Related guides

What it can do

The server asks you to sign in before it lists its tools.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 11, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account ajwann, which owns the repo

  • ✓ Pass

    Still maintained

    Code last changed 2 months ago

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • ✓ Pass

    Endpoint responds

    Responded in 172 ms (HTTP 401)

  • ✓ Pass

    Sign-in with OAuth

    Declares OAuth sign-in, so your AI app can take you to log in

  • … Not checked yet

    No hidden instructions in tool descriptions

    Not checked yet; we read the tool list when we check the endpoint

Discussion

Ask, share a tip or report that it does not work. Sorted by what people marked helpful.

No posts yet. Be the first to ask or share.

Posts here are written by users, not the PopNx team.

Sign in with Google to post

User reviews

No reviews yet

Sign in with Google to write a review

Compared with others in Law & government datai

  • More stars than 0% of the other 1809 servers in this category
  • Published to the registry more recently than 39% of the other 1809 servers in this category
  • Basic checks equal to or better than 100% of the other 1809 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Charlotte Open City Data safe?

It passed 4 of 4 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

The registry does not list a required key, though some servers ask you to sign in on first use.

Does it run on my computer or in the cloud?

Either way works: install it on your computer or connect to the cloud version.

Is it still maintained?

The GitHub repo last changed 2 months ago, and the latest version (1.0.1) reached the registry 2 months ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT Business and above.

What can I use instead?

In the same category: Korean Law MCP, Global law, Tw Legal Rag

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Korean Law MCP

Korean law: statutes, precedents, ordinances, treaties and citation verification (법제처 API).

by chrisryugjWidely used★ 2.9KUpdated 8 days ago

Runs in the cloud

Global law

The law of nearly every country on earth, any date: read it, see what changed it, check citations.

by lexifinaGrowing★ 1.9KUpdated yesterday

Runs in the cloud✓ lexifina.com

Tw Legal Rag

Taiwan law MCP server: 22M court judgments, statutes, agency rulings, with citation checks

by aa0101181514Growing★ 346Updated yesterday

Runs in the cloud

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

QueensEstate ♔⛫

An MCP server that lets an LLM answer Charlotte residents' everyday questions with official public data from the City of Charlotte Open Data Portal — https://data.charlottenc.gov.

The portal lives at data.charlottenc.gov.

It is an ArcGIS Hub site; its ~380 datasets are ArcGIS REST layers run by the City of

Charlotte and Mecklenburg County. No API key is required.

What's on the portal

A survey of the catalog (/api/feed/dcat-us/1.1.json) shows these main themes:

ThemeExamples
Public safetyCMPD incidents (870k+ since 2017, updated daily), homicides, traffic stops, fire incident reports, crashes
City services311 service requests (3.4M), solid-waste collection routes, code enforcement cases, street closures
Planning & zoningZoning, rezoning petitions, historic districts, 2040 policy map, floodplains, parcels
TransportationCATS bus routes and stops, LYNX light rail, park-and-ride, bike lanes, sidewalks, greenways
PlacesLibraries, schools, parks, fire/police stations, pharmacies, grocery stores, EV chargers, day care
GovernmentCapital projects, budget, employee salaries, council and commissioner districts
DemographicsCensus block groups/tracts, Quality of Life neighborhood profiles

Tools

The tools are chosen for the questions residents actually ask. Every tool is read-only, and every location parameter accepts either an address ("600 E 4th St, Charlotte") or "latitude,longitude".

My address
ToolAnswers questions like
get_address_profile"Who is my council member?" "What police division and fire station serve me?" "What's my zoning? Am I in a flood zone or historic district?"
get_trash_and_recycling_schedule"What day is trash pickup? Is this a recycling week (GREEN/ORANGE)?"
lookup_address"Is this a valid address? What's its parcel ID and municipality?"
Safety
ToolAnswers questions like
get_crime_near"Any car break-ins near my apartment this month?"
summarize_crime"How have robberies in Charlotte changed since 2019?" "Which division has the most burglaries?"
get_traffic_crashes_near"Is the intersection by my kid's school dangerous?"
City services and neighborhood change
ToolAnswers questions like
get_311_requests_near"Has anyone already reported this pothole or streetlight?"
get_code_enforcement_cases"Does the house I'm renting have open housing-code violations?"
get_street_closures"Are any roads closed on my commute?"
get_capital_projects_near"What's being built near me, when is it done, and who do I contact?"
get_pending_rezonings"Is anyone trying to rezone land near my neighborhood?"
Places and transit
ToolAnswers questions like
find_nearby_placesNearest library, school, park, greenway, pharmacy, grocery store, EV charger, light rail station, bus stop, public Wi-Fi… (18 categories)
get_bus_route"How often does the 9 run on Sunday evenings?"
Government transparency
ToolAnswers questions like
get_city_budget"How much does the city budget for Police?"
get_city_salary_stats"What do Charlotte firefighters earn on average?" (aggregates only, no names)
Anything else in the catalog
ToolPurpose
search_datasetsKeyword search over the whole portal
describe_datasetFields, types, and record count for a layer
query_datasetSQL-filtered records from any layer, optionally near a location
summarize_datasetServer-side counts/sums grouped by fields

Setup

Requires Python 3.14 (developed on 3.14.7).

~/.pyenv/versions/3.14.7/bin/python -m venv .venv

.venv/bin/python -m pip install -e . --group dev

Use with Claude Code
claude mcp add queensestate -- /absolute/path/to/queensestate/.venv/bin/queensestate
Use with Claude Desktop

Add to claude_desktop_config.json:

{

"mcpServers": { "queensestate": { "command": "/absolute/path/to/queensestate/.venv/bin/queensestate" } } }

Other transports and debugging
.venv/bin/queensestate --transport http --port 8000        # http://127.0.0.1:8000/mcp

npx @modelcontextprotocol/inspector .venv/bin/queensestate # interactive inspector

The http transport authenticates its callers with Google OAuth and refuses to start without a public URL, a Google client, and an allow list — see Hosting. To try it locally:

QUEENSESTATE_PUBLIC_URL=http://localhost:8000 \

QUEENSESTATE_GOOGLE_CLIENT_ID=... QUEENSESTATE_GOOGLE_CLIENT_SECRET=... \ QUEENSESTATE_ALLOWED_EMAILS=you@gmail.com \ .venv/bin/queensestate --transport http --port 8000

Hosting

The hosted server runs on Google Cloud Run at https://queensestate.adamwanninger.com/mcp, and is its own OAuth 2.1 authorization server: it delegates the sign-in to Google purely to learn which account is calling, then checks that address against an allow list and mints its own tokens. Google's tokens are never passed through to the MCP client.

claude mcp add --transport http queensestate https://queensestate.adamwanninger.com/mcp

scripts/deploy-gcp.sh provisions and deploys the whole thing, and re-running it is also how you update. See deploy/GCP.md.

Hosting is only for the HTTP transport. Running the server locally over stdio needs no Google account, no allow list, and none of the cloud dependencies.

Development

.venv/bin/pytest                 # unit + in-memory MCP tests; no network access

.venv/bin/ruff format --check . && .venv/bin/ruff check . .venv/bin/mypy

Layout:

  • src/queensestate/arcgis.py: async ArcGIS REST / Hub client (timeouts, bounded retries, host allowlist)
  • src/queensestate/address.py: address matching against the county Master Address layer
  • src/queensestate/catalog.py: the curated layers behind the purpose-built tools
  • src/queensestate/server.py: the MCP tools

Data notes and limitations

  • Geocoding uses Mecklenburg County's Master Address layer, so only addresses inside the county resolve. Coordinates outside the county are rejected.
  • Freshness varies by dataset: CMPD incidents, 311 requests, and code enforcement are current within days; the Budget Report dataset currently runs FY2018–FY2023. Tools report what the portal publishes.
  • CMPD locations are generalized by the department for privacy.
  • 311 data records when requests were received, not when they were resolved.
  • Timestamps are ISO 8601 in Charlotte local time with the UTC offset (e.g. 2026-09-06T00:00:00-04:00). The underlying services store UTC.
  • Budget amounts include large negative lines (e.g. "00 Non Department", Charlotte Water), so get_city_budget reports both the net total and the sum of positive lines.
  • Statistics limits: some city map services ignore resultRecordCount on aggregate queries, so the client enforces row limits itself.
  • Live bus arrivals are not on the portal; pair this server with a CATS real-time source. Bus stop IDs from find_nearby_places match CATS stop IDs.
  • The generic tools only reach hosts that serve portal datasets (gis.charlottenc.gov, meckgis.mecklenburgcountync.gov, services.arcgis.com, gis.ci.charlotte.nc.us).
  • Mecklenburg County's server rejects default Python user agents, so the client sends its own.

Ideas for more tools

  • Neighborhood Quality of Life indicators by NPA (income, age, housing, amenities)
  • Charlotte Fire incident reports by address block
  • CMPD officer traffic-stop statistics
  • Sidewalk and bike network gaps near an address
  • Tree canopy and land surface temperature by neighborhood

License

MIT - see LICENSE.