Skip to main content
Glama

Server Details

Hosted, no install: read-only censorship incident records, country index data and coverage.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 28 days
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL

TDQS

A4.3/5.0

Scored across 4 tools

Disambiguation4/5

Each tool targets a distinct unit: one country's index entry, one incident by ID, aggregate incident record counts, and global measurement coverage. The only mild overlap is between voidly_incident_stats and voidly_measurement_summary, both of which return summary totals, but their descriptions clearly separate incidents from coverage metrics.

Naming Consistency4/5

All four tools share the voidly_ prefix and snake_case entity_descriptor form (country_data, incident_detail, incident_stats, measurement_summary), which is predictable. It is not verb_noun, so the pattern is entity-oriented rather than action-oriented, but it is internally consistent.

Tool Count4/5

Four tools is a lean but reasonable surface for a read-only hosted index covering countries, incidents, and measurement coverage. It sits at the thin end of the range, but each tool maps to a distinct query class rather than being redundant.

Completeness3/5

The read-only dataset is coherent, but obvious operations are missing: there is no way to search or list incidents by country or keyword, no per-site check, and no enumeration of available countries or incident IDs. These are acknowledged dead ends that will block common agent queries like 'list censorship incidents in Iran.'

Available Tools

4 tools
voidly_country_dataCountry dataA
Read-only
Inspect

Use this for questions like 'is the internet censored in Iran' or 'is X blocked in Y' where Y is a country: returns Voidly's country-level censorship index entry for one two-letter country code (status level, score, OONI anomaly rate and measurement count over the index's rolling window). It is a country-level signal, not a check of one website. This connector has no per-site test. A site with no measurement is unknown, not accessible. The score is the share of OONI measurements flagged anomalous over the index window, not a measure of how censored a country is. The response update time is not when the underlying measurements were observed.

NameRequiredDescriptionDefault
country_codeYesTwo-letter ISO country code.

TDQS

A4.4/5.0
Behavior5/5

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

Goes well beyond the readOnly/openWorld annotations by warning that the score is the share of anomalous OONI measurements over a rolling window, not a measure of how censored a country is, and that the response update time is not when measurements were observed. These are non-obvious semantic traps that would otherwise cause misreported answers.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the use case, then layered caveats, with no filler sentences. It is dense — four separate disclaimers run together in one block — but each earns its place by preventing a specific misinterpretation.

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?

There is no output schema, and the description compensates by enumerating the returned fields and their meaning plus the rolling-window semantics. For a single-parameter, read-only lookup, nothing needed to call or interpret the result is missing.

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 already 100% (two-letter ISO code, pattern-constrained, required). The description adds only the emphasis that it is exactly one code, restating what the schema enforces; the baseline 3 for a fully documented parameter 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?

States a specific verb and resource: it returns Voidly's country-level censorship index entry for one two-letter country code, and enumerates the fields (status level, score, OONI anomaly rate, measurement count). It also draws an explicit boundary — 'a country-level signal, not a check of one website' — so an agent can distinguish it from any per-site capability without opening the schema.

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?

Gives concrete triggering questions ('is the internet censored in Iran', 'is X blocked in Y') and an explicit exclusion (no per-site test; unmeasured sites are unknown, not accessible). It does not name or route to any of the sibling tools (voidly_incident_stats, voidly_measurement_summary), so the alternative-selection guidance is implied rather than complete.

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

voidly_incident_detailIncident recordA
Read-only
Inspect

Use this when you have a published Voidly incident ID (for example IR-2026-0253, from a Voidly page, report or citation) and need that censorship or shutdown incident's details: country, title, status, incident dates, source labels and measurement count. It cannot search incidents by country or keyword. Source labels are attribution, not independent corroboration; check status and dates before calling an incident current.

NameRequiredDescriptionDefault
incident_idYesPublished incident ID such as IR-2026-0253, or its hex hash ID.

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered; the description instead contributes domain caveats an agent could not infer: source labels are attribution rather than independent corroboration, and status/dates should be checked before treating an incident as current. It stops short of describing the response shape or error behavior for a bad ID.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the usage trigger, then returned fields, then the exclusion, then a caveat — a sensible priority order with no filler. The parenthetical provenance list is slightly dense but earns its place by telling the agent where to find the ID.

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?

With no output schema, the description carries the burden of describing returns and does so by enumerating the fields delivered. Combined with the ID-provenance precondition and the attribution caveat, an agent has everything needed to decide and call 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?

Schema coverage is 100%, so baseline would be 3. The description still adds value by explaining where the ID comes from ('from a Voidly page, report or citation') and giving a concrete example format that bridges to the schema's alternation pattern, though it does not mention the hex-hash alternative explicitly.

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?

Names a specific verb ('need that ... incident's details') and resource (one published incident record), then enumerates exactly what comes back: country, title, status, dates, source labels, measurement count. It also states what it is not ('cannot search incidents by country or keyword'), which cleanly separates it from siblings like voidly_country_data and voidly_incident_stats.

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?

The precondition is explicit and operational: 'Use this when you have a published Voidly incident ID (for example IR-2026-0253, from a Voidly page, report or citation).' The exclusion is equally explicit — no country or keyword search — routing an agent to the search-oriented siblings when it lacks an ID.

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

voidly_incident_statsIncident countsA
Read-only
Inspect

Use this for questions about how many incident records Voidly holds, such as 'how many censorship incidents has Voidly logged' or the date range of the record. Returns all-country counts of incident records by severity, type and status, the citable_censorship count, and the earliest and latest incident dates. The total includes connectivity-disruption signals and suspected single-source rows, so it is not a count of confirmed censorship; use citable_censorship for that. It does not filter by country and has no per-site check. A count does not show that censorship is happening now.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already declare readOnlyHint and openWorldHint, but the description adds substantive caveats the annotations cannot: the total includes connectivity-disruption signals and suspected single-source rows, it is not a confirmed-censorship count, citable_censorship is the confirmed figure, and a count does not prove ongoing censorship. This goes well beyond structured metadata.

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?

Front-loads the use case, then delivers return contents, then the critical caveat about the total not being confirmed censorship, then scope limits. Every sentence carries distinct information with no filler.

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?

With no output schema, the description must explain what comes back, and it does: the breakdown dimensions, citable_censorship, and the earliest/latest dates. Combined with the scope limits and interpretation caveat, an agent has everything needed to call it and to interpret the result 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 takes zero parameters, so per the baseline this sits at 4. The description correctly emphasizes that the result is all-country and unfiltered, which is the relevant semantic point for a paramless tool.

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?

States a specific outcome: all-country counts of incident records broken out by severity, type and status, plus citable_censorship and earliest/latest dates. It explicitly contrasts scope with siblings by noting it does not filter by country and has no per-site check.

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?

Opens with an explicit use trigger ('Use this for questions about how many incident records...') backed by natural-language example questions. It also states what the tool does not do, which implicitly routes country-scoped or per-site requests to voidly_country_data or voidly_incident_detail.

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

voidly_measurement_summaryMeasurement summaryA
Read-only
Inspect

Use this for a global overview of Voidly's censorship measurement coverage: how many countries, networks and domains are measured, and the window dates of the confirmed-block layer. Country and domain pairs Voidly labels confirmed means blocking was seen on 3 or more networks in the layer window; treat them as leads to check, not verdicts, and check confirmed_block_layer.window_end. When the source marks that layer under review, its counts are withheld and review.verdict is unknown. Domains outside the measured set have no finding.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior5/5

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

Beyond the readOnly/openWorld annotations, it defines what 'confirmed' means (3+ networks in the window), warns the label is a lead not a verdict, points at confirmed_block_layer.window_end, and discloses that under-review layers withhold counts and leave review.verdict unknown. That is substantive interpretation and failure-mode context an agent could not infer from structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the use case, then caveats; every sentence carries semantic weight. Slight deduction for dense, run-on phrasing ('Country and domain pairs Voidly labels confirmed means...') that costs some readability.

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?

With no input params and no output schema, the description carries the burden and does so: what is counted, which layer's window is relevant, how to read 'confirmed', and what happens under review. An agent can call and interpret results without further information.

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 takes zero parameters, so the baseline is 4; the description correctly describes it as a parameterless global summary and spends its words on interpretation instead.

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?

States a specific resource and scope: counts of countries, networks and domains measured plus the window dates of the confirmed-block layer. 'Global overview' contrasts clearly with the per-country sibling voidly_country_data, though no sibling is named explicitly.

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?

'Use this for a global overview...' sets a clear context for invocation, and 'Domains outside the measured set have no finding' bounds what the tool can answer. It stops short of naming alternatives (voidly_country_data, voidly_incident_stats) for drill-down needs.

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. 4 tool updates
    • First observedvoidly_country_data
    • First observedvoidly_incident_detail
    • First observedvoidly_incident_stats
    • First observedvoidly_measurement_summary

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables clients to search, read, and verify sealed forecasts and public-record cards, inspect resolution calendars, engine strands, sensor alerts, and wire headlines, and check whether stories are independent events or echoes. All access is read-only and requires no key, account, or dependencies.
    9 npm
    1
    Apache 2.0
  • A
    license
    A
    quality
    A
    maintenance
    Read-only access to a self-hosted GeoLens geospatial catalog: dataset search, schemas, GeoJSON features, saved maps, and sandboxed read-only SQL over PostGIS.
    6
    284
    Apache 2.0
  • A
    license
    B
    quality
    A
    maintenance
    Enables anonymous read-only queries of dated, evidence-qualified citizenship-by-investment research across eleven programmes, exposing eight tools for listing, retrieving, comparing, costing, travel rules, sources, change history and coverage. Runs as a hosted Streamable HTTP endpoint or a local stdio adapter with no accounts, keys or storage.
    8
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources