Skip to main content
Glama

Gwinnett Index

Server Details

Gwinnett County, GA zoning and land use. Resolves an address to its governing jurisdiction.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
willmobhill-arch/gwinnett-index
GitHub Stars
0

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.3/5 across 5 of 5 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool targets a distinct action: retrieving case details, fetching code sections, listing jurisdictions, resolving a specific address/parcel, and searching cases. There is no functional overlap, and the descriptions clearly separate their purposes.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern: get_case, get_code_section, list_jurisdictions, resolve_jurisdiction, search_cases. The naming is uniform and follows standard REST-like conventions.

Tool Count5/5

Five tools is well-scoped for a land-use index server. Each tool covers a core function without redundancy, and the count is neither too sparse nor too heavy for the domain.

Completeness4/5

The tool set covers the essential workflows: finding cases, retrieving case details, looking up code sections, and determining jurisdiction. Minor gaps exist (e.g., no direct tool for parcel geometry or zoning map), but the core functionality is complete.

Available Tools

5 tools
get_caseGet one land-use caseAInspect

Full record for a case number, including staff recommendation, Planning Commission recommendation, decision, parcels and a deep link to the source record.

ParametersJSON Schema
NameRequiredDescriptionDefault
case_numberYese.g. "REZ2025-00025"
jurisdictionNoDisambiguates if the number exists in more than one jurisdiction
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavior disclosure. It lists the contents of the returned record (staff recommendation, decision, parcels, deep link), which is helpful, but it doesn't mention potential errors, behavior for missing case numbers, access permissions, or pagination. It provides a partial picture but not exhaustive behavioral context.

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 a single, well-structured sentence that front-loads the primary purpose and then lists the specific record contents. Every word contributes to understanding the tool's output, with no unnecessary padding.

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

Completeness4/5

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

The description is adequately complete for a simple retrieval tool: it names the key fields returned and the schema fully documents parameters. While it doesn't mention error handling or jurisdiction-related behavior, these are minor gaps given the tool's simplicity and full schema coverage. The absence of an output schema is somewhat compensated by the explicit list of returned contents.

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

Parameters3/5

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

The input schema already provides 100% coverage of parameter descriptions, including an example for case_number and the disambiguation purpose for jurisdiction. The tool description adds no extra meaning about parameters beyond what the schema already states, so the baseline score is appropriate.

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 clearly states the tool's function with a specific verb ('get') and resource ('full record for a case number'). It distinguishes from siblings by focusing on retrieving a complete record by case number, while search_cases is for finding cases and get_code_section for code sections.

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

Usage Guidelines3/5

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

The description implies usage when you have a known case number and want the full record, but it does not explicitly contrast with alternatives like search_cases or mention when not to use it. No exclusions or alternative tools are named, so the guidance is more implied than explicit.

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

get_code_sectionGet a development code section or tableAInspect

Ordinance text or a dimensional-standards table by citation, with its adoption and amendment dates. Accepts "402.03", "§ 402.03", "Duluth UDC § 402.03" or "Table 2-B". Tables that have not been verified against the rendered source page say so in the response.

ParametersJSON Schema
NameRequiredDescriptionDefault
citationYese.g. "402.03" or "Table 2-B"
jurisdictionYesJurisdiction slug, e.g. "duluth"
Behavior3/5

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

With no annotations, the description carries the transparency burden. It discloses a useful behavioral trait: unverified tables are flagged in the response. However, it doesn't mention error handling, required permissions, or whether the operation is read-only, leaving some uncertainty.

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 two sentences, front-loaded with the core purpose, and then provides concrete examples plus a transparency note. Every sentence earns its place with zero fluff.

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

Completeness4/5

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

For a get-style tool with no output schema or annotations, the description adequately explains the return content (ordinance text/table, dates, verification status) and example inputs. It doesn't cover edge cases like invalid citations or jurisdiction issues, but given the simplicity, it's reasonably complete.

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

Parameters4/5

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

Schema coverage is 100%, but the description adds valuable meaning by showing accepted citation formats (e.g., '402.03', '§ 402.03', 'Duluth UDC § 402.03') and indicating the response contains adoption/amendment dates. This goes beyond the plain schema examples.

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 clearly states the tool retrieves ordinance text or dimensional-standards tables by citation, with adoption and amendment dates. It distinguishes itself from sibling tools like get_case and search_cases by focusing specifically on code sections and tables.

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

Usage Guidelines4/5

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

The description provides clear context on what the tool does and gives concrete citation formats, implying when to use it. However, it doesn't explicitly mention alternatives or exclusions, such as 'use search_cases for case law instead', though the sibling names offer some context.

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

list_jurisdictionsList jurisdictionsAInspect

All 19 jurisdictions indexed: Gwinnett County as a container, unincorporated Gwinnett as a jurisdiction in its own right, and the 17 municipalities — with their codes and boundary sources.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

With no annotations, the description carries the full burden. It discloses the exact data set covered (all 19 jurisdictions, enumerated) and mentions that each includes codes and boundary sources, giving a clear picture of what the tool returns. It does not explicitly state that it is read-only, but its list semantics imply no side effects.

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 a single sentence that immediately states the main point ('All 19 jurisdictions indexed') and then provides useful detail. Every word contributes to understanding the tool's scope, with no redundancy.

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?

For a parameterless list tool with no output schema, the description fully explains what is returned and the composition of the result set (container vs. jurisdiction, municipalities). It is complete enough for an agent to select and invoke the tool correctly.

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

Parameters4/5

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

The tool has zero parameters, so the baseline is 4. The description does not need to add parameter details, and none are missing.

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 clearly identifies the tool as a listing operation for jurisdictions, specifying the exact scope: all 19 jurisdictions, including Gwinnett County as a container, unincorporated Gwinnett, and 17 municipalities. This distinguishes it from sibling tools like resolve_jurisdiction or search_cases by making it the canonical enumeration endpoint.

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

Usage Guidelines4/5

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

The description implies usage for obtaining a complete list of jurisdictions with their codes and boundary sources, but it does not explicitly contrast with alternatives. However, its scope statement is clear enough that an agent would understand when to select this tool over the siblings.

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

resolve_jurisdictionResolve governing jurisdiction — ALWAYS CALL FIRSTAInspect

ALWAYS CALL THIS FIRST for any Gwinnett County address or parcel. Returns which government actually regulates the land — one of 17 cities, or unincorporated Gwinnett County (67.3% of the county) — with its code citation, a confidence band and the distance to the nearest jurisdiction boundary. A mailing address is NOT the jurisdiction: most "Duluth, GA" addresses are not in the City of Duluth.

ParametersJSON Schema
NameRequiredDescriptionDefault
pinNoGwinnett parcel PIN, e.g. "7119 100"
band_mNoUncertainty band in metres (default 150)
addressNoStreet address, e.g. "3175 Peachtree Industrial Blvd, Duluth GA"
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses the return values (jurisdiction, code citation, confidence band, distance) and the 'always call first' behavior. It doesn't mention potential errors or side-effect safety, but the tone implies a read-only query, and the output details provide substantial transparency.

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?

Two sentences with no wasted words. Front-loaded with the critical 'ALWAYS CALL THIS FIRST' directive, followed by precise output details and a high-value caveat. Every sentence earns its place.

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

Completeness4/5

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

Despite lacking an output schema, the description explains key return fields and the core caveat. It could explicitly state that pin and address are alternative identifiers, but this is implied by 'any Gwinnett County address or parcel'. Overall, quite complete for its complexity.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3. The description adds meaningful context beyond the schema, particularly the warning that a mailing address does not determine jurisdiction, which directly informs how to interpret the 'address' parameter. It also implicitly ties 'confidence band' to 'band_m'.

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 clearly states the tool's function: resolving governing jurisdiction for Gwinnett County addresses or parcels. It specifies the output (one of 17 cities or unincorporated county, code citation, confidence band, distance to boundary) and distinguishes itself from siblings by declaring 'ALWAYS CALL FIRST' as a prerequisite.

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?

Provides explicit usage guidance: 'ALWAYS CALL THIS FIRST' for any Gwinnett County address or parcel, establishing its role relative to sibling tools. Adds a crucial caveat about mailing addresses not being equivalent to jurisdiction, which helps agents avoid common errors.

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

search_casesSearch land-use casesAInspect

Search 11,848 zoning and land-use cases (1970–2026) by applicant, use, address, case number, type, year range or zoning district. County records cover UNINCORPORATED Gwinnett only.

ParametersJSON Schema
NameRequiredDescriptionDefault
zoneNoZoning district, e.g. "R-100", "C-2", "R-TH"
limitNo1–100, default 25
queryNoFree text: applicant, proposed use, address or case number
year_toNo
case_typeNoREZ, SUP, RZC, RZR, RZM, CIC, MIH, CRZ, BRD …
year_fromNo
jurisdictionNoJurisdiction slug, e.g. "unincorporated-gwinnett" or "duluth"
Behavior4/5

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

With no annotations, the description adds valuable behavioral context: the case count, date range (1970–2026), and the jurisdictional limitation. It does not describe pagination or response format, but for a non-destructive search tool the main operational constraints are disclosed.

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 two sentences long, front-loaded with the primary purpose, and packs in all essential scope details without repeating schema information or adding filler.

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

Completeness4/5

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

For a tool with seven optional parameters and no output schema, the description gives a solid overview of what can be searched and the data boundary. It could be more explicit about return shape or filter combination behavior, but it is sufficiently complete for a read-only search tool.

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

Parameters4/5

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

Schema coverage is 71% and the description compensates by naming concrete search fields ('applicant, use, address, case number, type, year range or zoning district'), which also gives meaning to the undocumented year_from/year_to parameters. The jurisdiction limitation clarifies the jurisdiction parameter's intent.

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 uses a specific verb ('Search') and a resource ('11,848 zoning and land-use cases'), then enumerates the main search dimensions. It clearly distinguishes search_cases from the sibling get_case, which is for retrieving individual cases.

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

Usage Guidelines4/5

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

The description gives clear context about the tool's scope, including useful filters and the critical limitation that 'County records cover UNINCORPORATED Gwinnett only.' It does not explicitly name alternatives or contrast with get_case, but it provides enough boundary for when this search tool applies.

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

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.