Skip to main content
Glama

Electoral districts (and boundaries)

list_districts

District metadata by state and type (GET /v1/districts): congressional, state senate, state house. Pass district_id with boundary:true to get the polygon as GeoJSON (GET /v1/districts/{id}/boundary) — it is large, so set simplify (degrees, e.g. 0.01) to shrink it. Match districts NUMERICALLY (district_number), never by label text.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
typeNocongressional | sldu (state senate/upper) | sldl (state house/lower)
limitNo
stateNoPostal code.
offsetNo
boundaryNotrue = return the GeoJSON polygon for district_id.
simplifyNoSimplification tolerance in degrees.
district_idNoA district id from a previous list call (for boundary:true).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral burden. It discloses two non-obvious behaviors: boundary output is large and can be reduced via simplify, and district matching must be numeric rather than by label text. It does not mention side effects (though it appears read-only), auth, rate limits, or default return format, so coverage is partial.

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?

Three concise sentences, each with a distinct job: core metadata listing, boundary/simplify usage, and matching warning. Information is front-loaded with the resource and filters in the first sentence. No redundant or filler content.

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

Completeness3/5

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

For a 7-parameter tool with no output schema and no annotations, the description explains the core modes and the non-obvious boundary behavior well. It leaves out the default response shape (list of district objects with fields like district_number) and pagination semantics (limit/offset), which an agent would need to fully rely on the 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 adds meaning beyond the raw schema: it enumerates the three district types, explains the boundary:true + district_id combination, gives a concrete simplify tolerance example, and warns about numeric matching. It does not address limit/offset, but those are conventional and the remaining parameters are well-covered.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool exposes district metadata filtered by state and type, naming the three types (congressional, state senate, state house). It also describes the boundary-retrieval mode, making the two main behaviors clear, though it never explicitly says 'list' (the tool name supplies that verb) and doesn't contrast with sibling list tools.

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 gives explicit operational guidance for the boundary mode ('Pass district_id with boundary:true') and advises using simplify to shrink large geometries. It also warns to match districts numerically. However, it does not mention when to prefer this tool over siblings or provide any exclusion criteria, so an agent must infer that this is the only district-tool.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources