Who Represents This Address
Server Details
AI-operated: US address to districts, legislators, governor and mayor; Google Civic-compatible
Glama couldn't complete the latest health check. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.
If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.
- Status
- Unhealthy
- Uptime
- 78.8% over 22 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Scored across 2 tools
The two tools have clearly distinct purposes: one handles a single address and the other handles a batch of 1 to 40 addresses. There is no real risk of selecting the wrong tool because the batch variant is explicitly documented.
Both tool names follow the same find_representatives verb_noun pattern, with the batch variant clearly indicated by the _batch suffix. This is a predictable and consistent naming convention.
With only two tools, the server is at the very low end of the expected range, even though the single/batch split is deliberate. It is acceptable for this narrow purpose but feels slightly thin for a standalone MCP server.
The server covers federal, state, and some local executive officials well, but its own descriptions note that city council, county, and school-board officials are not included. This is a notable gap for a tool meant to answer 'who represents this address' at the local level.
Available Tools
2 toolsfind_representativesFind representatives for a U.S. addressAInspect
Operated by an AI (RJH Signal Technologies LLC). Given a free-text U.S. street address, returns its 119th Congress district, state legislative districts (upper and lower) and current officeholders (U.S. senators, U.S. representative or delegate, state legislators) as JSON, plus state_executives (the state's governor, lieutenant governor, attorney general and other statewide officials that Open States lists) and local boundaries (county, city or town, school districts, census tract). local.mayor is filled only for the roughly 280 cities Open States covers, matched exactly to the Census incorporated place; otherwise null. No city council, county or school-board officials. Free tier: 50 lookups per day per IP address; send X-API-Key for Pro.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Free-text U.S. street address including city, state and ZIP, e.g. 2 E Main St, Madison, WI 53703 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations available, the description carries the full burden and it delivers: disclosing the AI operator, the free-tier rate limit of '50 lookups per day per IP address' and the Pro API-key alternative, plus precise edge-case behavior for local.mayor (only ~280 cities, exact Census match, 'otherwise null'). These are highly actionable behavioral constraints an agent needs before invoking.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but dense: rate limits, exact-match semantics, inclusion/exclusion scope, and null behaviors each earn their place. It is slightly weakened by front-loading the vendor/AI disclosure ('Operated by an AI...') ahead of the core purpose and by running several distinct facts into one long paragraph.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Complexity is moderate, but with no output schema the description must explain what the JSON contains, and it does so in granular detail: federal, state, and local districts, officeholders, state_executives, local boundaries, and the mayor null case. It lacks only error/geocoding-failure behavior and explicit routing to the batch sibling, which keeps it from a full 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the schema already documents address as free-text including city, state and ZIP with a concrete example and maxLength. The description only repeats 'free-text U.S. Street address' and adds no new parameter syntax, format, or constraints beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb-resource pairing: 'returns its 119th Congress district, state legislative districts (upper and lower) and current officeholders...' for a single United States free-text street address. The singular 'a' street address distinguishes it from the find_representatives_batch sibling, and the scope of outputs is enumerated exhaustively.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear usage context: the tool is for a single U.S. street address, geocoded to Congress/state/local districts and officeholders. It adds a usable exclusion, listing what will NOT be returned ('No city council, county or school-board officials'), which is an effective when-not-to-use signal. It does not explicitly name find_representatives_batch as the alternative for multiple addresses.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_representatives_batchFind representatives for up to 40 U.S. addressesAInspect
Operated by an AI (RJH Signal Technologies LLC). Same as find_representatives for a list of 1 to 40 U.S. street addresses in one call (send it as a single JSON-RPC message, not inside a JSON-RPC array); returns {results:[...one lookup result (including state_executives and local.mayor) or error per address, in order], count, usage}. Each address counts as one lookup: the free tier (50 per day per IP address) refuses a batch larger than what is left today; Pro (X-API-Key) counts against the monthly quota.
| Name | Required | Description | Default |
|---|---|---|---|
| addresses | Yes | U.S. street addresses including city, state and ZIP |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully carries the behavioral burden. It discloses the operator, per-address lookup counting, free tier limits and refusal behavior, Pro quota behavior, the single-message JSON-RPC requirement, and the approximate return structure including per-address results/errors, count, and usage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and information-rich, covering operator disclosure, batch usage, result shape, and quota rules in three sentences. The operator disclosure is somewhat auxiliary for tool selection, but overall there is no wasted repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there is no output schema and no annotations, the description appropriately covers invocation format, auth/quota modes, top-level return shape, and per-address error behavior. It does not enumerate every field in a lookup result, but the provided structure is sufficient for an agent to call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already fully describes the single 'addresses' parameter with item constraints, min/max items, and a description. The tool description adds batch-level context and quota semantics, but it does not need to explain the parameter further, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Same as find_representatives for a list of 1 to 40 U.S. street addresses in one call,' clearly identifying the operation, resource, and batch scope. It also differentiates this tool from the sibling find_representatives by emphasizing the list/one-call behavior and not being inside a JSON-RPC array.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly frames the tool as the batch counterpart to find_representatives and gives specific invocation constraints such as sending it as a single JSON-RPC message. It does not explicitly state a decision rule like 'use find_representatives for a single address,' but the context strongly implies the appropriate use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Changed
find_representatives_batch1 field changed- changed
Input schema / properties / addresses / maxItemsPrevious value: -100New value: +40
1 tool update
- Added
find_representatives_batch
1 tool update
- First observed
find_representatives
Related MCP Connectors
Resolve any government entity worldwide and submit service requests. Open civic data for AI agents.
U.S. civic data for AI agents: reps, votes, bills, finance, lobbying, cited gov sources. 47 tools.
Federal and 50-state legislative data for AI: bills, text, votes, members, and committees.
Address validation & geocoding for AI agents: 240+ countries, UK PAF, free US/CA enrichment
Related MCP Servers
- AlicenseAqualityDmaintenanceGiven a U.S. street address, returns the people who represent it (U.S. Senators, House member, Governor, and state legislators) using free public data, with no API keys required for federal officials.5MIT
- FlicenseNot gradedqualityBmaintenanceEnables users to look up every layer of local government for any Cook County address, including representatives, finances, and agendas, with provenance and certainty levels for data.-
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to look up US and Canadian parcel records either by full address string or by lat/lon point, returning parcel number, owner, mailing address, land use, zoning, acreage, and boundary geometry. It can be run as a local stdio server or reached through a hosted gateway endpoint.353 npmMIT
- AlicenseAqualityDmaintenanceAn MCP server that gives AI agents clean, token-efficient access to US civic & property data — geocoding, census tracts, Opportunity Zones, ACS demographics, and FEMA flood zones — sourced entirely from free federal open data.544 npm1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.