# CorpusIQ (io.corpusiq/multi-source-mcp): tool descriptions scored

- tools/list taken: 2026-11-02 (UTC)
- From: [Official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers/io.corpusiq%2Fmulti-source-mcp/versions/latest)
- Connected to: https://mcp2.corpusiq.io/mcp
- Homepage: https://www.corpusiq.io/
- Repository: https://github.com/CorpusIQ/mcp-manifest
- Scoring rules: v2
- Tools: 121
- Average: 57.9 / 100 (Cloudy)
- Near-identical pairs: 202

This page shows how CorpusIQ (io.corpusiq/multi-source-mcp)'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: 121 tools. Above 40, models choose less accurately.
- Minor: 202 pairs with nearly the same description in all; the top 12 are shown.
- Major: 114 tools repeat the same note (99 words). Say it once in the server's instructions, and let each description say what only that tool does. The note does not count toward the tools' scores.
- Minor: The server's instructions are 3763 characters. Claude Code reads only the first 2,048 by default (Codex 0.154.0 reads them whole). Put what the server is for first.

## Tools

- `get_youtube_channel_videos`: 13 / 100
  - Major: The description only restates the name (7 words).
  - 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: channel_id, handle, max_results, page_token.
  - Minor: String arguments with no constraint or example: channel_id, handle, page_token.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `get_my_youtube_analytics`: 16 / 100
  - Major: The description only restates the name (9 words).
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: start_date, end_date, dimensions.
  - Minor: String arguments with no constraint or example: start_date, end_date.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `search_youtube`: 16 / 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.
  - Major: Arguments without a description: query, max_results.
  - Minor: String arguments with no constraint or example: query.
  - Minor: Says nothing about what it returns.
- `get_youtube_channel`: 17 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: channel_id, handle, username.
  - Minor: String arguments with no constraint or example: channel_id, handle, username.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `get_youtube_comments`: 18 / 100
  - Major: The description only restates the name (7 words).
  - 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: video_id, max_results, order, page_token.
  - Minor: String arguments with no constraint or example: video_id, page_token.
  - 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: video_id. Name the tool or the place that returns it, or models look it up first.
- `canonical_decisions_list`: 21 / 100
  - Major: The description only restates the name (8 words).
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: limit.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `get_my_youtube_videos`: 23 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: max_results, page_token.
  - Minor: String arguments with no constraint or example: page_token.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `canonical_pending_cancel`: 32 / 100
  - Major: Arguments without a description: pending_write_id.
  - Minor: String arguments with no constraint or example: pending_write_id.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: pending_write_id. Name the tool or the place that returns it, or models look it up first.
- `get_gunbroker_billing_summary`: 32 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: days, page_index, page_size.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `list_gunbroker_feedback`: 32 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: days, page_index, page_size.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `list_gunbroker_fraud_claims`: 32 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: page_index, page_size.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `list_gunbroker_items_scheduled`: 32 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: page_index, page_size.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `list_gunbroker_orders`: 32 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: days, page_index, page_size.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `list_gunbroker_watched_items`: 32 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: page_index, page_size.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `find_gunbroker_ffl_by_zip`: 35 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: radius_miles.
  - Minor: Says nothing about what it returns.
- `search_gunbroker_items`: 35 / 100
  - Major: Arguments without a description: min_price, max_price, page_index, page_size.
  - Minor: String arguments with no constraint or example: keywords.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `get_youtube_transcript`: 36 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: video_id, language.
  - Minor: String arguments with no constraint or example: video_id.
  - Minor: Required identifiers whose description does not say where the value comes from: video_id. Name the tool or the place that returns it, or models look it up first.
- `get_my_youtube_video_analytics`: 37 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: video_id, start_date, end_date.
  - Minor: String arguments with no constraint or example: video_id, start_date, end_date.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: video_id. Name the tool or the place that returns it, or models look it up first.
- `canonical_facts_list`: 43 / 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.
- `list_gunbroker_items_sold`: 45 / 100
  - Major: Arguments without a description: days, page_index, page_size.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `list_gunbroker_items_unsold`: 45 / 100
  - Major: Arguments without a description: days, page_index, page_size.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `remove_my_youtube_brand_channel`: 45 / 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: channel_id. Name the tool or the place that returns it, or models look it up first.
- `canonical_facts_set`: 46 / 100
  - Major: Arguments without a description: key, value, category.
  - Minor: String arguments with no constraint or example: key, value.
  - Minor: The description mentions none of its 3 or more arguments.
- `get_gunbroker_item`: 47 / 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: item_id. Name the tool or the place that returns it, or models look it up first.
- `get_gunbroker_order`: 47 / 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: order_id. Name the tool or the place that returns it, or models look it up first.
- `github_release_quality_dashboard`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: owner, repository, since, until, max_pages, cadence_days, milestone_number, n_sims, seed.
  - Minor: The description mentions none of its 3 or more arguments.
- `set_my_primary_youtube_channel`: 47 / 100
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: channel_id. Name the tool or the place that returns it, or models look it up first.
- `list_gunbroker_categories`: 49 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `get_my_youtube_geography`: 50 / 100
  - Minor: Arguments without a description: start_date, end_date.
  - Minor: String arguments with no constraint or example: start_date, end_date.
  - Minor: No `required` list, so every argument is optional.
- `get_gunbroker_account_summary`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `get_youtube_video`: 52 / 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: video_ids. Name the tool or the place that returns it, or models look it up first.
- `list_gunbroker_items_selling`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: page_index, page_size.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `semrush_dashboard`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: domain, database, months.
- `canonical_pending_commit`: 53 / 100
  - Minor: Arguments without a description: pending_write_id.
  - Minor: String arguments with no constraint or example: pending_write_id.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: pending_write_id. Name the tool or the place that returns it, or models look it up first.
- `ahrefs_dashboard`: 55 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: domain, country.
- `get_gunbroker_connection_status`: 56 / 100
  - Major: Says nothing about when to use it, or when not to.
- `featured_seo_audit`: 57 / 100
  - Major: Says nothing about when to use it, or when not to.
- `list_runbooks`: 57 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `disconnect_gunbroker_connection`: 59 / 100
  - Minor: Says nothing about what it returns.
- `get_user_statistics`: 59 / 100
  - Minor: No `required` list, so every argument is optional.
- `activecampaign_connector`: 62 / 100
- `ahrefs_connector`: 62 / 100
- `airtable_connector`: 62 / 100
- `amazon_seller_connector`: 62 / 100
- `calendar_connector`: 62 / 100
- `callrail_connector`: 62 / 100
- `crm_connector`: 62 / 100
- `email_connector`: 62 / 100
- `ga4_connector`: 62 / 100
- `google_ads_connector`: 62 / 100
- `klaviyo_connector`: 62 / 100
- `list_skills`: 62 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `mailchimp_connector`: 62 / 100
- `meta_ads_connector`: 62 / 100
- `metric_spec_get`: 62 / 100
- `metric_spec_list`: 62 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `notion_connector`: 62 / 100
- `podium_connector`: 62 / 100
- `postscript_connector`: 62 / 100
- `quickbooks_connector`: 62 / 100
- `search_console_connector`: 62 / 100
- `semrush_connector`: 62 / 100
- `shopline_connector`: 62 / 100
- `slack_connector`: 62 / 100
- `tiktok_connector`: 62 / 100
- `canonical_facts_get`: 63 / 100
  - Minor: String arguments with no constraint or example: key.
  - Minor: Says nothing about what it returns.
- `reset_connector_token`: 63 / 100
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: connector_id. Name the tool or the place that returns it, or models look it up first.
- `featured_competitive_intelligence_brief`: 64 / 100
- `featured_executive_summary_writer`: 64 / 100
- `featured_sales_call_prep_brief`: 64 / 100
- `metric_spec_set`: 64 / 100
- `select_runbook`: 64 / 100
  - Minor: The description mentions none of its 3 or more arguments.
- `bing_webmaster_dashboard`: 65 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: site_url.
  - Minor: The description mentions none of its 3 or more arguments.
- `enable_connector`: 65 / 100
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: connector_id. Name the tool or the place that returns it, or models look it up first.
- `github_connector`: 65 / 100
- `metric_spec_drift_report`: 66 / 100
- `run_runbook`: 66 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Required identifiers whose description does not say where the value comes from: runbook_id. Name the tool or the place that returns it, or models look it up first.
- `axonaut_connector`: 67 / 100
- `bing_webmaster_connector`: 67 / 100
- `calendly_connector`: 67 / 100
- `constantcontact_connector`: 67 / 100
- `cross_source_ads_connector`: 67 / 100
- `cross_source_email_connector`: 67 / 100
- `ebay_connector`: 67 / 100
- `featured_cash_recovery_engine`: 67 / 100
- `linkedin_ads_connector`: 67 / 100
- `list_my_youtube_channels`: 67 / 100
  - Major: Says nothing about when to use it, or when not to.
- `logout_all`: 67 / 100
- `mailchimp_dashboard`: 67 / 100
  - Major: Says nothing about when to use it, or when not to.
- `monday_connector`: 67 / 100
- `odoo_connector`: 67 / 100
- `posthog_connector`: 67 / 100
- `quickbooks_dashboard`: 67 / 100
  - Major: Says nothing about when to use it, or when not to.
- `salesforce_connector`: 67 / 100
- `shopify_dashboard`: 67 / 100
  - Major: Says nothing about when to use it, or when not to.
- `stripe_connector`: 67 / 100
- `stripe_dashboard`: 67 / 100
  - Major: Says nothing about when to use it, or when not to.
- `truth_sources_remove`: 67 / 100
- `add_my_youtube_brand_channel`: 68 / 100
  - Minor: Says nothing about what it returns.
- `get_gunbroker_inventory_summary`: 68 / 100
  - Minor: Arguments without a description: page_size, max_pages, matching_listing_limit.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The description mentions none of its 3 or more arguments.
- `canonical_decisions_add`: 69 / 100
- `connect_gunbroker`: 69 / 100
- `dashboard_render`: 69 / 100
  - Minor: Arguments without a description: metric.
  - Minor: Required identifiers whose description does not say where the value comes from: property_id. Name the tool or the place that returns it, or models look it up first.
- `get_my_usage_stats`: 69 / 100
  - Minor: No `required` list, so every argument is optional.
- `metric_spec_remove`: 69 / 100
- `axonaut_dashboard`: 70 / 100
  - Major: Says nothing about when to use it, or when not to.
- `close_connector`: 70 / 100
- `posthog_dashboard`: 70 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: The description mentions none of its 3 or more arguments.
- `canonical_context_get`: 72 / 100
  - Minor: No `required` list, so every argument is optional.
- `get_connector_status`: 72 / 100
  - Minor: No `required` list, so every argument is optional.
- `get_my_youtube_channel`: 72 / 100
  - Minor: No `required` list, so every argument is optional.
- `metric_spec_resolve`: 72 / 100
- `truth_sources_register`: 72 / 100
- `web_fetch_connector`: 72 / 100
- `ask_corpusiq`: 74 / 100
- `resolve_connector`: 74 / 100
  - Minor: The description mentions none of its 3 or more arguments.
- `disable_connector`: 75 / 100
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: connector_id. Name the tool or the place that returns it, or models look it up first.
- `invoke_skill`: 75 / 100
- `truth_sources_list`: 77 / 100
- `chart_render`: 80 / 100
  - Major: Arguments without a description: title, data, data[].label, data[].value, data[].secondary, template, width, height.
- `drive_connector`: 90 / 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)
