Skip to main content
Glama

HometownWire Civic Record

Server Details

The public record of local government: what your officials actually say and do, word for word.

Status
Unhealthy
Last Tested
Transport
Streamable HTTP
URL

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 3.9/5 across 6 of 6 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool has a clearly distinct purpose: get_claim vs search_claims differ by retrieving by ID vs searching; get_document vs search_documents similarly; get_person vs list_people are specific retrieval vs listing. No overlaps.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern (get_, list_, search_) with singular nouns for get and plural for list/search, all in snake_case. Predictable and uniform.

Tool Count5/5

Six tools cover the core operations for a civic record query system: single-item retrieval (claim, document, person), listing (people), and search (claims, documents). Well-scoped without being too few or too many.

Completeness4/5

The tools adequately cover retrieval and search for claims, documents, and people. Minor gap: no list_documents or list_claims tool, but search can partially fill this. No update/modify tools, but server appears read-only, so acceptable.

Available Tools

6 tools
get_claimAInspect

Fetch one claim (statement) by its id. Returns full attribution, the original source recording URL, the permalink, and a ready-made Wikipedia {{cite web}} string.

ParametersJSON Schema
NameRequiredDescriptionDefault
claim_idYesClaim UUID
Behavior2/5

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

With no annotations, the description carries full burden but only lists return fields; it does not disclose behavioral traits like idempotency, side effects, or error handling.

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 well-structured sentences with no redundant information; each sentence serves a clear purpose.

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 simple retrieval tool with one parameter and no output schema, the description is largely complete, though it could mention behavior for missing IDs.

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?

Schema coverage is 100% (claim_id described as 'Claim UUID'). The description adds only that it's used to fetch by id, which does not significantly enhance understanding beyond the schema.

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 'Fetch one claim (statement) by its id' with a specific verb and resource, and lists return values that distinguish it from siblings like search_claims and get_document.

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 when to use (when you have a claim ID) but does not explicitly state when not to use or mention alternatives, despite sibling tools being available.

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

get_documentAInspect

Fetch one meeting document by id — full text (transcripts include speaker turns with per-turn anchors). Long documents are truncated; the permalink has the full text.

ParametersJSON Schema
NameRequiredDescriptionDefault
document_idYesDocument UUID
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 key behavioral trait of truncation for long documents and directs to the permalink for full text. This is helpful, though it omits other details like error handling or authentication requirements.

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 short sentences, front-loaded with the action and key detail. Every sentence provides value without redundancy.

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 simple get tool with one parameter and no output schema, the description covers essential details: what is fetched, content type, and truncation behavior. It is largely sufficient, though a brief note on return format would further enhance completeness.

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?

Schema coverage is 100%, so the baseline is 3. The description reiterates 'by id' but adds no new meaning beyond the schema's 'Document UUID' description. No additional parameter context is provided.

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 verb 'Fetch' and the resource 'one meeting document by id'. It specifies the content includes full text with speaker turns for transcripts, which distinguishes it from sibling tools like search_documents or other get 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 implies usage when a specific document_id is available, but it provides no explicit guidance on when to avoid this tool or alternatives. Sibling tools exist (e.g., search_documents) but no comparative instructions are given.

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

get_personAInspect

Fetch one Cincinnati civic actor by name: Wikidata-grounded bio, voting record tally, and recent transcript statements, with permalink.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPerson name as it appears in the record (e.g. "Anna Albi")
Behavior3/5

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

With no annotations, the description should disclose behavioral traits. It mentions returning bio, voting tally, and statements, and a permalink, but does not cover error handling, authentication, or side effects. Acceptable for a simple read operation.

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 immediately conveys the action and content. No extraneous words.

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?

Given the tool's low complexity and lack of output schema, the description adequately describes the returned data (bio, voting tally, statements, permalink). It is mostly complete, though it could mention the response format (e.g., JSON).

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 single parameter 'name' is fully described in the schema with an example. The description adds 'by name', confirming its role, but does not add meaning beyond the schema, which already has 100% coverage.

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 explicitly states 'Fetch one Cincinnati civic actor by name' with a clear verb and resource. It lists the returned data types (bio, voting tally, statements), distinguishing it from siblings like 'list_people' which returns multiple actors.

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 for looking up a specific person's detailed info but does not provide explicit guidance on when to use alternatives like 'get_claim' or 'search_documents'. It lacks when-not conditions.

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

list_peopleAInspect

List every civic actor HometownWire tracks (current councilmembers with vote counts, plus Wikidata-known historical councilmembers).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses what the tool returns (current councilmembers with vote counts and historical councilmembers), which gives useful behavioral context. However, it does not mention any potential side effects, rate limits, or authorization needs.

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, efficient sentence that communicates the tool's purpose and scope without any extraneous information. Every word is necessary.

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?

Given no output schema, the description explains the return values (current councilmembers with vote counts and historical councilmembers). It is fairly complete for a parameterless list tool, though it lacks details on pagination, sorting, or potential data volume.

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?

There are zero parameters, and schema coverage is 100% (trivially). Per the rules, a baseline of 4 is appropriate because there is no need for the description to add parameter meaning.

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 verb 'List' and the specific resource ('civic actor HometownWire tracks'), with explicit detail on scope including current councilmembers with vote counts and historical councilmembers. This effectively distinguishes from sibling tools like get_person or search_claims.

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 use for getting the full list of people, but it does not provide explicit guidance on when to use this tool versus alternatives like search_claims or get_person. There is no mention of limitations or context-specific recommendations.

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

search_claimsAInspect

Search statements made by public officials in Cincinnati public meetings (speaker-attributed, extracted from meeting transcripts). Returns claims with speaker, date, and a permalink suitable for citation.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax results (default 10, max 25)
queryYesWhat was said about… (free text)
speakerNoOptional speaker name filter (e.g. "Albi")
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses return fields (speaker, date, permalink) but does not explicitly state if the operation is read-only or mention potential side effects, rate limits, or sorting behavior. While a search is likely safe, the lack of explicit transparency is a minor gap.

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 concise sentence that immediately states the tool's purpose and key details. Every word adds value, with no redundancy or 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 3 parameters, no output schema, and no annotations, the description adequately covers purpose, return fields, and parameter context. It could be improved by mentioning pagination or result ordering, but it provides sufficient information for basic usage.

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 description coverage is 100%, providing a baseline of 3. The description adds value by explaining 'query' as 'free text' and clarifying 'speaker' as an optional name filter, which enriches the parameter meaning beyond the schema descriptions.

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 searches claims from public officials in Cincinnati public meetings, specifying the source (meeting transcripts) and return attributes (speaker, date, permalink). This verb+resource+scope definition distinguishes it from sibling tools like 'get_claim' (single claim) and 'search_documents' (different domain).

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 indicates when to use the tool (free text search, with optional speaker filter) but does not explicitly state when not to use it or mention alternatives. However, the sibling tool list implies other options for specific needs, providing implicit guidance.

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

search_documentsAInspect

Full-text search over Cincinnati public-meeting documents (agendas, minutes, transcripts). Returns matching documents with snippets and permalinks.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax results (default 10, max 25)
queryYesSearch terms
Behavior2/5

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

With no annotations, the description carries full burden but only mentions return format; it fails to disclose behavioral traits such as pagination, sorting, rate limits, or behavior on empty results, leaving gaps for an AI agent.

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 front-loading key information without extraneous words, earning a top score for conciseness.

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 search tool without output schema, the description adequately explains return values but lacks details on pagination, ordering, or advanced features, resulting in moderate completeness.

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?

Schema coverage is 100% with clear parameter descriptions; the description adds no extra meaning beyond the schema, so baseline score of 3 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 it performs full-text search over Cincinnati public-meeting documents with specific resource types (agendas, minutes, transcripts) and indicates return values (snippets, permalinks), effectively distinguishing from sibling tools like search_claims.

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?

While the description implies use for searching documents, it does not provide explicit guidance on when to use this tool versus alternatives like search_claims or get_document, nor does it mention exclusions or prerequisites.

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!

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources