Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
QUEENSESTATE_PUBLIC_URLNoThe public URL for the HTTP transport, e.g. http://localhost:8000.
QUEENSESTATE_ALLOWED_EMAILSNoComma-separated allow list of email addresses permitted to use the HTTP transport.
QUEENSESTATE_GOOGLE_CLIENT_IDNoGoogle OAuth client ID for authenticating HTTP transport callers.
QUEENSESTATE_GOOGLE_CLIENT_SECRETNoGoogle OAuth client secret for authenticating HTTP transport callers.

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
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_address_profileA

Everything that serves or governs a location, in one call.

Returns city council district and representative, county commissioner, CMPD patrol division, first-due fire station, trash/recycling/yard-waste days, zoning, FEMA flood zone, historic district, ZIP code, and tax parcel ID.

lookup_addressB

Find an address in Mecklenburg County's official master address list.

Returns matches with coordinates, tax parcel ID, municipality, and ZIP code.

get_trash_and_recycling_scheduleB

Garbage, recycling, and yard-waste collection days for an address in Charlotte.

get_crime_nearA

CMPD police incident reports near a location: counts by offense and the latest reports.

Answers "is there much crime near 123 Main St?" or "any car break-ins near me lately?".

summarize_crimeA

Citywide CMPD incident counts grouped by offense, division, year, or neighborhood.

Use group_by='year' with an offense filter for trends, e.g. robberies per year since 2017.

get_traffic_crashes_nearA

Reported traffic crashes near a location, with counts by severity.

Useful for "is this intersection dangerous?" or traffic-calming requests.

get_311_requests_nearA

311 service requests reported near a location, with counts by request type.

Shows whether a problem (pothole, missed pickup, dumping, streetlight) was already reported.

get_code_enforcement_casesB

Housing and neighborhood code enforcement cases at or near an address.

Covers nuisance (junk, overgrown lots), minimum housing, zoning, graffiti, and parking violations. Useful for renters, buyers, and neighbors.

get_street_closuresA

Street and lane closures and detours published by CDOT, citywide or near a location.

get_capital_projects_nearB

City capital projects (roads, sidewalks, parks, facilities) near a location.

Includes phase, schedule, budget, and the project manager's contact information.

get_pending_rezoningsB

Rezoning petitions currently in process, citywide or near a location.

Shows the petitioner, existing and requested zoning, acreage, and a link to the petition.

find_nearby_placesA

Nearest public places of one type, sorted by straight-line distance.

Categories include libraries, public schools, parks, greenways, fire and police stations, post offices, pharmacies, grocery stores, medical facilities, child care, EV chargers, park-and-ride lots, light rail stations, bus stops, YMCAs, places of worship, and public Wi-Fi. Bus stop IDs can be used with CATS real-time arrival services.

get_bus_routeA

CATS bus routes with scheduled frequency (minutes between buses) by time of day.

For stops near an address use find_nearby_places with category 'bus_stop'.

get_city_budgetB

City of Charlotte budget totals for a fiscal year by department, fund, or expense type.

get_city_salary_statsA

Pay statistics for City of Charlotte employees: head count and annual pay rates.

Aggregated by department or job title for one quarter (the latest by default); individual employees are not listed.

search_datasetsA

Search the Charlotte Open Data Portal catalog (about 380 datasets) by keyword.

Use this to find data the purpose-built tools don't cover. Pass a result's layer_url to describe_dataset, query_dataset, or summarize_dataset.

describe_datasetA

Show a dataset layer's description, record count, and fields.

Call this before query_dataset or summarize_dataset to learn field names and types.

query_datasetB

Fetch records from any portal dataset layer with a SQL filter, optionally near a place.

summarize_datasetA

Count or aggregate any portal dataset server-side, grouped by up to three fields.

Answers questions like "how many 311 requests of each type were made in ZIP 28205?". Rows are sorted by the statistic, largest first, in a column named stat_value.

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 19 tools

Disambiguation5/5

Each tool targets a distinct civic data domain: crashes, crime, 311, code enforcement, closures, rezonings, budget, salaries, and open data. Even the three crime-related tools are cleanly separated by location vs. citywide aggregation.

Naming Consistency4/5

Most tools follow a clear verb_noun pattern like get_crime_near, summarize_crime, and describe_dataset. Minor deviations like lookup_address, find_nearby_places, and search_datasets break the strict 'get_' pattern, but the naming is still predictable and readable.

Tool Count4/5

Nineteen tools is slightly above the typical sweet spot, but the server covers a broad municipal data platform spanning many domains. Each tool has a clear role, and the dataset meta-tools justify the extra count by enabling open-ended queries beyond the purpose-built tools.

Completeness5/5

The tool surface is unusually complete: address lookup, property/government profiles, safety, traffic, 311, code enforcement, planning, transportation, budget, and salary data are all covered. The generic dataset search/describe/query/summarize tools eliminate dead ends by allowing access to the full open data catalog.

Maintenance

ActivityMaintained
ResponsivenessNo issues