Democracy AI / RealRep research
Server Details
Read public civic records and World Bank indicators with citations, dates and methodology.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- Repository
- theguysaccount/mcp-catalog
- GitHub Stars
- 0
TDQS
Scored across 3 tools
Each tool targets a distinct layer: catalog discovery, civic collection reading, and indicator observation reading. The main overlap is between read_public_catalog and read_public_civic_records, both of which touch collections/charts, but the descriptions draw a workable line between listing and reading.
All three tools use the same read_public_<noun> pattern, with clear and predictable resource-oriented names. There is no mixing of verb styles, casing, or conventions.
Three tools is a tight, well-scoped read-only surface for public-data research. It is slightly thin because there is no dedicated search or metadata helper, but each tool earns its place and none is redundant.
The surface covers discovery and reading of public indicators and civic collections, which fits the stated read-only purpose. However, there is no search-by-keyword, no way to enumerate countries or collection metadata, and no bulk or comparison helper beyond the constrained two-country indicator read.
Available Tools
3 toolsread_public_catalogARead-onlyIdempotentInspect
List available public World Bank indicators and Election.org civic research collections/charts. No personal notebooks, opinions, feedback, voice or account data.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is fully covered structurally. The description adds the useful context that only public data is exposed — no personal notebooks, feedback, voice or account data — which is a real scope boundary beyond the annotations, but nothing about catalog size, pagination, or freshness.
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?
Two short sentences, front-loaded with what is listed before the exclusion list. The second sentence is terse but each clause carries distinct scope information; nothing is redundant with the name or annotations.
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?
There is no output schema, so the description is the only place an agent could learn what a catalog entry looks like (IDs, titles, chart types). It names the content categories but not the shape of the returned list, leaving a gap for an agent that needs to chain into read_public_indicator.
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 tool takes zero parameters, so per the baseline there is nothing for the description to disambiguate. The description correctly does not waste text on parameter talk, though it also never clarifies whether the listing is filtered or complete.
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?
States a specific verb ("List") with a specific resource scope: public World Bank indicators plus Election.org civic collections/charts. An agent can distinguish it from read_public_indicator and read_public_civic_records because this is a catalog enumeration rather than a single-record fetch, though the siblings are never named explicitly.
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?
"No personal notebooks, opinions, feedback, voice or account data" gives a clear negative scope, which implicitly signals this is a discovery/listing step rather than a retrieval of specific data. However, it never states when to prefer this over read_public_indicator or read_public_civic_records, so routing must be inferred from the names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_public_civic_recordsBRead-onlyIdempotentInspect
Read existing public Election.org collections or a catalog chart. Preserve citations, methodology, coverage and dates. Does not read private participants, political profiles or user conversations.
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | ||
| chart | No | ||
| query | No | ||
| state | No | ||
| office | No | ||
| district | No | ||
| resource | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered. The description adds meaningful scope and behavior: it reads only public records, excludes private participants and conversations, and instructs preservation of citations, methodology, coverage, and dates. It does not cover pagination or rate limits, but with annotations present this is a solid addition.
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 three tightly written sentences with the purpose front-loaded, followed by preservation expectations and exclusions. Every sentence adds distinct information with no filler.
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?
The tool has 7 parameters, multiple large enums, 0% schema description coverage, and no output schema. The description covers high-level intent and exclusions but leaves the agent without guidance on how to populate most parameters or interpret return content, making it incomplete for this complexity.
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 0%, so the description must carry parameter meaning, but it only loosely references 'collections' and 'a catalog chart' and 'dates'. It does not explain the required resource enum, the many chart values, or parameters such as query, state, office, and district.
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 uses a specific verb ('Read') and identifies the resource scope as public Election.org collections or a catalog chart. It does not explicitly distinguish this tool from the sibling tools read_public_catalog and read_public_indicator, which keeps it from a 5.
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 exclusion statement ('Does not read private participants, political profiles or user conversations') gives useful when-not guidance. However, it does not say when to choose this tool over read_public_catalog or read_public_indicator, so usage guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_public_indicatorARead-onlyIdempotentInspect
Read sourced World Bank indicator observations with units, notes, update dates and missing values. Compare at most two three-letter country codes. Never substitute estimated chart points.
| Name | Required | Description | Default |
|---|---|---|---|
| metric | Yes | ||
| compare | No | ||
| country | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld and non-destructive, so safety is covered. The description adds genuinely new behavioral context: data is 'sourced' (provenance), carries units, notes and update dates, may contain missing values, and estimated/interpolated points must not be used as substitutes. That is meaningful disclosure beyond the annotations.
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?
Three tight sentences with the returned-data profile front-loaded, followed by the comparison limit and the anti-substitution rule. Each sentence carries content, though 'Never substitute estimated chart points' is terse enough to be slightly cryptic out of context.
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?
With no output schema and 0% schema coverage, the description does well to name return fields. But it leaves gaps an agent needs: what time range is returned, what 'country' accepts relative to 'compare', how missing values are represented, and whether the catalog tool must be called first for metric semantics.
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 0%, so the description must compensate. It clarifies that 'compare' takes a three-letter country code and is capped at two countries, and implies 'country' is analogous, but it never explains the six 'metric' enum values, their units, or the temporal scope of the observations.
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?
States a specific verb and resource: 'Read sourced World Bank indicator observations', and enumerates the returned fields (units, notes, update dates, missing values). It implicitly separates itself from read_public_catalog and read_public_civic_records by naming the World Bank indicator domain, but never explicitly contrasts with those siblings.
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?
'Compare at most two three-letter country codes' gives a hard constraint on the comparison path, and 'Never substitute estimated chart points' rules out an anti-pattern. However, there is no explicit guidance on when to use this versus read_public_catalog (e.g., to discover metric names) or what to do when a value is missing.
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.
3 tool updates
- First observed
read_public_catalog - First observed
read_public_civic_records - First observed
read_public_indicator
Related MCP Connectors
Read sourced U.S. civic records: candidates, offices, campaign finance, elections and governments.
61Query 29,500+ World Bank development indicators for 200+ countries across 60+ years.
Access World Bank development indicators for 200+ countries.
World Bank World Development Indicators: curated country-year economy, health, education and more.
Related MCP Servers
- AlicenseAqualityBmaintenanceEnables AI assistants to discover, retrieve, and compare official international development indicators from sources such as the World Bank, FAOSTAT, WHO, UNICEF, and IMF, while preserving source identifiers, units, and citations.102MIT
- AlicenseAqualityCmaintenanceOfficial economic statistics with full citations — World Bank, IMF WEO, ECB — plus verify_stat to check a claimed figure against the official series. Free, remote, no auth.121MIT
- AlicenseNot gradedqualityCmaintenanceEnables read-only lookup and comparison of sourced, dated migration data — 39 countries and 27,000+ cities, visa and residence routes, passport entry rules, cost of living, salaries, crime, air quality and climate. Every fact returned includes its value, unit, geographic grain, observation date, source and grade, with unknown values left explicit rather than estimated.MIT
- FlicenseNot gradedqualityDmaintenanceExposes World Bank development data to AI agents via local CSV resources and live API tools, enabling queries about GDP, population, and other indicators.-
Glama MCP Gateway
Add one secure layer between your agents and this server.