# Voidly Hosted MCP (io.github.voidly-ai/voidly-hosted): tool descriptions scored

- tools/list taken: 2026-11-02 (UTC)
- From: [Official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers/io.github.voidly-ai%2Fvoidly-hosted/versions/latest)
- Connected to: https://api.voidly.ai/mcp
- Homepage: https://voidly.ai/
- Scoring rules: v2
- Tools: 80
- Average: 50.9 / 100 (Cloudy)
- Near-identical pairs: 4

This page shows how Voidly Hosted MCP (io.github.voidly-ai/voidly-hosted)'s tool descriptions scored, the issues found and the names of its tools and parameters. The descriptions are the server's own: read them where the copy came from.

Forecall asked the URL this server lists in the official MCP Registry for its tools/list once, on the date above, without calling any tool. The server may have changed since.

## Across the server

- Major: 80 tools. Above 40, models choose less accurately.

## Tools

- `voidly_alert_poll`: 34 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: raw_body, did, timestamp, nonce, signature.
  - Minor: Says nothing about what it returns.
- `get_upcoming_elections`: 35 / 100
  - Major: The description only restates the name (6 words).
  - Major: The description is too short (6 words).
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `voidly_bounty_status`: 37 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: bounty_id, did, timestamp, nonce, signature.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: bounty_id. Name the tool or the place that returns it, or models look it up first.
- `get_atlas_score`: 38 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `get_high_risk_countries`: 39 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `voidmail_send_status`: 39 / 100
  - Major: Arguments without a description: operationId.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: operationId. Name the tool or the place that returns it, or models look it up first.
- `voidly_bounty_claim`: 40 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: bounty_id, raw_body, did, timestamp, nonce, signature.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: bounty_id. Name the tool or the place that returns it, or models look it up first.
- `get_incident_evidence`: 41 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: incident_id. Name the tool or the place that returns it, or models look it up first.
- `get_classifier_info`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `voidly_trigger_poll`: 42 / 100
  - Major: Arguments without a description: raw_body.
  - Minor: Says nothing about what it returns.
- `voidmail_read_email`: 42 / 100
  - Major: Arguments without a description: emailId.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: emailId. Name the tool or the place that returns it, or models look it up first.
- `watch_delete`: 42 / 100
  - Major: Arguments without a description: subscription_id, confirm.
  - Minor: The meaning of the boolean argument confirm is unclear.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: subscription_id. Name the tool or the place that returns it, or models look it up first.
- `get_incident_report`: 43 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: incident_id. Name the tool or the place that returns it, or models look it up first.
- `get_global_heatmap`: 44 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `voidpay_storefront`: 44 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: slug.
  - Minor: String arguments with no constraint or example: slug.
- `board_search`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: board, q, tag, cursor, limit.
- `voidmail_list_inbox`: 45 / 100
  - Major: Arguments without a description: limit, offset, unreadOnly.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: The meaning of the boolean argument unreadOnly is unclear.
  - Minor: Says nothing about what it returns.
- `export_incidents`: 46 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `get_censorship_technique_trend`: 46 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
  - Major: It may be destructive, but destructiveHint is not set.
- `get_data_freshness`: 46 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `get_election_risk`: 46 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `get_incident_stats`: 46 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `get_multi_horizon_forecast`: 46 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `get_shutdown_risk_leaderboard`: 46 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `board_read`: 47 / 100
  - Major: Arguments without a description: postId, cursor, limit.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Required identifiers whose description does not say where the value comes from: postId. Name the tool or the place that returns it, or models look it up first.
- `voidly_bounty_submit`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: bounty_id, raw_body, did, timestamp, nonce, signature.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Required identifiers whose description does not say where the value comes from: bounty_id. Name the tool or the place that returns it, or models look it up first.
- `voidly_watch_poll`: 47 / 100
  - Minor: Arguments without a description: limit.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `board_reply_private`: 48 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: postId.
  - Minor: Required identifiers whose description does not say where the value comes from: postId. Name the tool or the place that returns it, or models look it up first.
- `get_classifier_score`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `get_country_profile`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `get_country_status`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `get_early_warning_protocol`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `get_incident_detail`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: incident_id. Name the tool or the place that returns it, or models look it up first.
- `get_national_blocklist`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `voidly_bounties`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `voidmail_sending_limits`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `board_post`: 50 / 100
  - Major: Arguments without a description: bodyJson, did, timestamp, nonce, signature, replyTo.
- `get_censorship_by_category`: 51 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
  - Major: It may be destructive, but destructiveHint is not set.
- `get_censorship_techniques`: 51 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
  - Major: It may be destructive, but destructiveHint is not set.
- `get_risk_forecast`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `voidly_join`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `voidmail_send_once`: 52 / 100
  - Major: Arguments without a description: operationId, to, subject, text.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: operationId. Name the tool or the place that returns it, or models look it up first.
- `get_censorship_by_region`: 53 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
- `get_censorship_intent`: 53 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
- `get_most_blocked_domains`: 53 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
- `get_most_censored`: 53 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
- `get_network_depth`: 53 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
- `voidly_start`: 53 / 100
  - Major: Arguments without a description: did, nonce, pow, signature.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The description mentions none of its 3 or more arguments.
- `voidpay_services`: 53 / 100
  - Major: Arguments without a description: limit, cursor, search, query, query.limit, query.after, query.definitionDigest, x402Cursor, x402Category.
- `watch`: 53 / 100
  - Minor: Arguments without a description: min_severity.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `get_active_incidents`: 54 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `get_data_confidence`: 54 / 100
  - Minor: Says nothing about what it returns.
- `get_measurement_freshness`: 54 / 100
  - Minor: Says nothing about what it returns.
- `voidpay_checkout_link`: 55 / 100
  - Major: Arguments without a description: slug, publicationDigest, projectionId.
  - Minor: String arguments with no constraint or example: slug.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Required identifiers whose description does not say where the value comes from: projectionId. Name the tool or the place that returns it, or models look it up first.
- `country_brief`: 56 / 100
  - Major: Says nothing about when to use it, or when not to.
- `get_anomaly_dbscan`: 56 / 100
  - Major: Says nothing about when to use it, or when not to.
- `get_categories`: 56 / 100
  - Major: Says nothing about when to use it, or when not to.
- `get_category_leaders`: 56 / 100
  - Major: Says nothing about when to use it, or when not to.
- `get_censorship_summary`: 56 / 100
  - Major: Says nothing about when to use it, or when not to.
- `get_co_blocking`: 56 / 100
  - Major: Says nothing about when to use it, or when not to.
- `get_country_compare`: 56 / 100
  - Major: Says nothing about when to use it, or when not to.
- `get_domain_timeline`: 56 / 100
  - Major: Says nothing about when to use it, or when not to.
- `get_isp_categories`: 56 / 100
  - Major: Says nothing about when to use it, or when not to.
- `get_isp_risk_index`: 56 / 100
  - Major: Says nothing about when to use it, or when not to.
- `get_platform_scores`: 56 / 100
  - Major: Says nothing about when to use it, or when not to.
- `get_shutdown_risk`: 56 / 100
  - Major: Says nothing about when to use it, or when not to.
- `get_shutdown_risk_accountability`: 56 / 100
  - Major: Says nothing about when to use it, or when not to.
- `voidly_home`: 57 / 100
  - Minor: Says nothing about what it returns.
- `voidpay_status`: 57 / 100
  - Major: Says nothing about when to use it, or when not to.
- `agent_relay_stats`: 59 / 100
  - Major: Says nothing about when to use it, or when not to.
- `get_censorship_index`: 59 / 100
  - Major: Says nothing about when to use it, or when not to.
- `start_here`: 60 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `voidly_capabilities`: 60 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `get_classifier_scope`: 61 / 100
- `voidly_watch_add`: 61 / 100
  - Minor: Arguments without a description: incident_type, min_severity.
  - Minor: Says nothing about what it returns.
- `voidmail_setup`: 61 / 100
- `get_early_warning_commitments`: 63 / 100
  - Minor: No `required` list, so every argument is optional.
- `watch_list`: 64 / 100
- `get_category_coverage`: 66 / 100
- `get_incidents_since`: 69 / 100

Is your server listed here and you would rather it were not? Email support@forecall.dev, and we will take it off within 7 days.

[All scored servers](https://forecall.dev/en/servers)
