# TunnelMind Data API (ai.tunnelmind/data): tool descriptions scored

- tools/list taken: 2026-11-02 (UTC)
- From: [Official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers/ai.tunnelmind%2Fdata/versions/latest)
- Connected to: https://mcp-data.tunnelmind.ai/mcp
- Homepage: https://tunnelmind.ai/
- Scoring rules: v2
- Tools: 104
- Average: 52.1 / 100 (Cloudy)
- Near-identical pairs: 1

This page shows how TunnelMind Data API (ai.tunnelmind/data)'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: 104 tools. Above 40, models choose less accurately.

## Tools

- `delete_subscription`: 9 / 100
  - Major: The description only restates the name (3 words).
  - Major: The description is too short (3 words).
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: id.
  - Minor: String arguments with no constraint or example: id.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: id. Name the tool or the place that returns it, or models look it up first.
- `get_subscription`: 16 / 100
  - Major: The description is too short (7 words).
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: id.
  - Minor: String arguments with no constraint or example: id.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: id. Name the tool or the place that returns it, or models look it up first.
- `compliance_configure`: 20 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: enabled, regime, retention_days, export_formats.
  - Minor: String arguments with no constraint or example: regime.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The meaning of the boolean argument enabled is unclear.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `snapshot_data`: 22 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: date.
  - Minor: String arguments with no constraint or example: date.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `sigil_atap_ait_status`: 24 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: id.
  - Minor: String arguments with no constraint or example: id.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: id. Name the tool or the place that returns it, or models look it up first.
- `snapshot_diff`: 27 / 100
  - Major: Arguments without a description: date.
  - Minor: String arguments with no constraint or example: date.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `receipt_log_inclusion_proof`: 29 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: receipt_id, leaf_index, tree_size.
  - Minor: String arguments with no constraint or example: receipt_id.
  - Minor: No `required` list, so every argument is optional.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `snapshot_manifest`: 30 / 100
  - Major: Arguments without a description: date.
  - Minor: String arguments with no constraint or example: date.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `ghostroute_ai_lookup`: 37 / 100
  - Major: Arguments without a description: entity.
  - Minor: String arguments with no constraint or example: entity.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `ghostroute_asn_lookup`: 37 / 100
  - Major: Arguments without a description: asn.
  - Minor: String arguments with no constraint or example: asn.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `ghostroute_cert_lookup`: 37 / 100
  - Major: Arguments without a description: domain.
  - Minor: String arguments with no constraint or example: domain.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `ghostroute_ct_proofs`: 37 / 100
  - Major: Arguments without a description: domain, limit.
  - Minor: String arguments with no constraint or example: domain.
  - Minor: No `required` list, so every argument is optional.
- `sigil_ads_txt_history`: 37 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: domain, since, limit.
  - Minor: String arguments with no constraint or example: domain.
- `create_free_key`: 38 / 100
  - Major: Arguments without a description: email.
  - Minor: Says nothing about what it returns.
- `get_website_history`: 38 / 100
  - Major: Arguments without a description: domain.
  - Minor: String arguments with no constraint or example: domain.
  - Minor: Says nothing about what it returns.
- `compliance_export`: 39 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: from, to.
  - Minor: No `required` list, so every argument is optional.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `status_history`: 39 / 100
  - Major: Arguments without a description: days.
  - Minor: No `required` list, so every argument is optional.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `ghostroute_verify`: 40 / 100
  - Major: Arguments without a description: receipt_id.
  - Minor: String arguments with no constraint or example: receipt_id.
  - Minor: Required identifiers whose description does not say where the value comes from: receipt_id. Name the tool or the place that returns it, or models look it up first.
- `sigil_atap_roll_block`: 40 / 100
  - Major: Arguments without a description: ait.
  - Minor: String arguments with no constraint or example: ait.
- `sigil_verify_adscert`: 40 / 100
  - Major: Arguments without a description: domain.
  - Minor: String arguments with no constraint or example: domain.
- `sigil_verify_token`: 40 / 100
  - Major: Arguments without a description: token.
  - Minor: String arguments with no constraint or example: token.
- `signal_dark_pool_risk`: 40 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: domain.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `signal_team_signal`: 40 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `signal_tracker_density`: 40 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `tracker_verify`: 40 / 100
  - Major: Arguments without a description: node, receipt.
  - Minor: String arguments with no constraint or example: node.
  - Minor: The meaning of the boolean argument receipt is unclear.
- `sigil_verify_supply_chain`: 41 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: site_domain, app_bundle, schain, schain.complete, schain.nodes, schain.nodes[].asi, schain.nodes[].sid, schain.nodes[].hp, buyer.entity_slug, buyer.dsp_domain, buyer.dsp_id.
  - Minor: String arguments with no constraint or example: site_domain, app_bundle, schain.nodes[].asi, schain.nodes[].sid, buyer.entity_slug, buyer.dsp_domain.
- `compliance_ledger`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
- `ghostroute_ct_alerts`: 42 / 100
  - Major: Arguments without a description: limit.
  - Minor: No `required` list, so every argument is optional.
- `receipt_log_consistency_proof`: 42 / 100
  - Major: Arguments without a description: first, second.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `sigil_receipt_generate`: 42 / 100
  - Major: Arguments without a description: ait, format.
  - Minor: String arguments with no constraint or example: ait.
- `tollbooth_sites`: 42 / 100
  - Major: Arguments without a description: tier.
  - Minor: No `required` list, so every argument is optional.
- `sigil_verify_app_bundle`: 43 / 100
  - Major: Arguments without a description: bundle_id, platform, claimed_developer.
  - Minor: String arguments with no constraint or example: claimed_developer.
  - Minor: Required identifiers whose description does not say where the value comes from: bundle_id. Name the tool or the place that returns it, or models look it up first.
- `sigil_atap_register_ait`: 44 / 100
  - Major: Arguments without a description: profile, agent_type, capabilities, constraints, attestation_policy, expires_at.
  - Minor: String arguments with no constraint or example: profile.
- `sigil_verify_domain`: 45 / 100
  - Major: Arguments without a description: domain.
  - Minor: String arguments with no constraint or example: domain.
- `sigil_score_batch`: 46 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: entity_ids.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: entity_ids. Name the tool or the place that returns it, or models look it up first.
- `compliance_verify`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `sigil_atap_witness`: 47 / 100
  - Major: Arguments without a description: ait, event_type, payload.
  - Minor: String arguments with no constraint or example: ait.
- `signal_halo_score`: 48 / 100
  - Minor: Says nothing about what it returns.
- `profile_entity`: 49 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `sigil_verify_supply_path`: 49 / 100
  - Major: Arguments without a description: supply_path, supply_path.publisher_domain, supply_path.exchange, supply_path.seller_id, supply_path.seller_type, supply_path.ip_address, supply_path.device_type, supply_path.app_bundle, supply_path.app_bundle.bundle_id, supply_path.app_bundle.platform, supply_path.app_bundle.claimed_developer, buyer.entity_slug, buyer.dsp_domain, buyer.dsp_id.
  - Minor: String arguments with no constraint or example: supply_path.publisher_domain, supply_path.exchange, supply_path.seller_id, supply_path.ip_address, supply_path.device_type, supply_path.app_bundle.bundle_id, supply_path.app_bundle.platform, supply_path.app_bundle.claimed_developer, buyer.entity_slug, buyer.dsp_domain.
- `attributes_lookup`: 50 / 100
  - Major: Arguments without a description: node.
  - Minor: String arguments with no constraint or example: node.
- `create_subscription`: 50 / 100
  - Major: Arguments without a description: node, callback_url, events.
  - Minor: String arguments with no constraint or example: node.
- `receipt_lookup`: 50 / 100
  - Major: Arguments without a description: id.
  - Minor: String arguments with no constraint or example: id.
  - Minor: Required identifiers whose description does not say where the value comes from: id. Name the tool or the place that returns it, or models look it up first.
- `sigil_score_entity`: 50 / 100
  - Minor: Arguments without a description: entity_id.
  - Minor: String arguments with no constraint or example: entity_id.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: entity_id. Name the tool or the place that returns it, or models look it up first.
- `sigil_verify_ip_type`: 50 / 100
  - Major: Arguments without a description: ip.
  - Minor: String arguments with no constraint or example: ip.
- `verify_agent`: 50 / 100
  - Major: Arguments without a description: ip, ua.
  - Minor: String arguments with no constraint or example: ip, ua.
- `verify_agent_signature`: 50 / 100
  - Major: Arguments without a description: signature, signature_input, signature_agent, authority, method, path, scheme.
  - Minor: String arguments with no constraint or example: signature, signature_input, signature_agent, authority, method, path, scheme.
- `compliance_profile`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
- `get_demand_aggregate`: 52 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `get_feedback`: 52 / 100
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `get_freshness`: 52 / 100
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `get_referral_log`: 52 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `list_entities`: 52 / 100
  - Major: Arguments without a description: industry, limit, cursor.
  - Minor: String arguments with no constraint or example: industry, cursor.
  - Minor: No `required` list, so every argument is optional.
- `receipt_log_sth`: 52 / 100
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `list_domains`: 54 / 100
  - Major: Arguments without a description: category, min_score, limit, cursor.
  - Minor: String arguments with no constraint or example: cursor.
  - Minor: No `required` list, so every argument is optional.
- `list_subscriptions`: 54 / 100
- `sigil_score_weights`: 54 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `cancel_task`: 55 / 100
  - Major: Arguments without a description: task_id.
  - Minor: Required identifiers whose description does not say where the value comes from: task_id. Name the tool or the place that returns it, or models look it up first.
- `submit_feedback`: 55 / 100
  - Major: Arguments without a description: node, outcome, receipt_id, note.
  - Minor: String arguments with no constraint or example: node, receipt_id.
- `audit_export`: 57 / 100
  - Major: Arguments without a description: from, to, limit.
  - Minor: No `required` list, so every argument is optional.
- `explain_verdict`: 57 / 100
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `get_bgp_events`: 57 / 100
  - Minor: No `required` list, so every argument is optional.
- `get_self_view`: 57 / 100
  - Major: Arguments without a description: receipt.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The meaning of the boolean argument receipt is unclear.
- `get_stats`: 57 / 100
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `get_tool_registry`: 57 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: The description says the tool is deprecated. Name the replacement, and consider taking the tool out of tools/list: models avoid it when asked for what it does.
- `sigil_traverse`: 57 / 100
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `get_pricing`: 59 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `get_entity`: 60 / 100
  - Major: Arguments without a description: slug.
- `get_receipt`: 60 / 100
  - Major: Arguments without a description: receipt_id.
- `get_task`: 60 / 100
  - Major: Arguments without a description: task_id.
- `search`: 60 / 100
  - Major: Arguments without a description: q.
- `stream_task`: 60 / 100
  - Major: Arguments without a description: task_id.
- `ghostroute_batch_check`: 61 / 100
  - Minor: Arguments without a description: subjects.
- `sigil_verify_ads_txt_batch`: 62 / 100
  - Major: Arguments without a description: items[].publisher_domain, items[].exchange_domain, items[].seller_id, items[].seller_type.
  - Minor: String arguments with no constraint or example: items[].publisher_domain, items[].exchange_domain.
- `x402_echo`: 62 / 100
  - Minor: No `required` list, so every argument is optional.
- `preflight_should_i_act`: 63 / 100
  - Minor: Arguments without a description: thresholds.allow, thresholds.caution.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `ghostroute_ct_witness`: 64 / 100
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `tollbooth_export`: 64 / 100
  - Minor: Arguments without a description: kind, tier.
  - Minor: No `required` list, so every argument is optional.
- `get_analyst_config`: 65 / 100
  - Minor: Arguments without a description: surface.
  - Minor: No `required` list, so every argument is optional.
- `intel_agent`: 65 / 100
  - Minor: Arguments without a description: domain.
  - Minor: String arguments with no constraint or example: domain.
- `intel_http`: 65 / 100
  - Minor: Arguments without a description: domain.
  - Minor: String arguments with no constraint or example: domain.
- `intel_inject`: 65 / 100
  - Minor: Arguments without a description: domain.
  - Minor: String arguments with no constraint or example: domain.
- `intel_optout`: 65 / 100
  - Minor: Arguments without a description: domain.
  - Minor: String arguments with no constraint or example: domain.
- `intel_robots`: 65 / 100
  - Minor: Arguments without a description: domain.
  - Minor: String arguments with no constraint or example: domain.
- `intel_stack`: 65 / 100
  - Minor: Arguments without a description: domain.
  - Minor: String arguments with no constraint or example: domain.
- `cross_lens_lookup`: 67 / 100
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `cross_lens_verify`: 67 / 100
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `get_changes`: 67 / 100
  - Minor: No `required` list, so every argument is optional.
- `ghostroute_check`: 67 / 100
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `sigil_verify_ads_txt`: 67 / 100
- `tollbooth_stats`: 67 / 100
- `traction`: 67 / 100
- `verdict_lookup`: 67 / 100
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `check_receipt_revoked`: 69 / 100
  - Minor: No `required` list, so every argument is optional.
- `get_domain`: 70 / 100
- `get_referral`: 70 / 100
- `verify_receipt`: 70 / 100
  - Minor: Arguments without a description: receipt_id.
- `agent_registries_lookup`: 72 / 100
- `generate_receipt`: 72 / 100
  - Minor: No `required` list, so every argument is optional.
- `scan_injection`: 75 / 100
  - Major: It may be destructive, but destructiveHint is not set.
- `get_api_key`: 77 / 100
- `health_check`: 77 / 100
- `revoke_api_key`: 77 / 100
- `scan_mcp`: 78 / 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)
