# MORVS (io.github.morvs-ai/morvs): tool descriptions scored

- tools/list taken: 2026-11-02 (UTC)
- From: [Official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers/io.github.morvs-ai%2Fmorvs/versions/latest)
- Connected to: https://api.morvs.ai/mcp
- Homepage: https://morvs.ai/api/mcp/
- Repository: https://github.com/morvs-ai/morvs-plugins
- Scoring rules: v2
- Tools: 159
- Average: 56.9 / 100 (Cloudy)
- Near-identical pairs: 25

This page shows how MORVS (io.github.morvs-ai/morvs)'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: 159 tools. Above 40, models choose less accurately.
- Minor: 25 pairs with nearly the same description in all; the top 12 are shown.
- Minor: The server has no instructions. Say there, once, what the server is for and when to use it: Claude Code and Gemini CLI read the instructions before the tool descriptions.

## Tools

- `advisers_flagged`: 39 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: state, type.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `bsee_worst_operators`: 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.
- `chemical_accident_worst`: 39 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: sort.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `dataset_freshness`: 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.
- `kev_recent`: 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.
- `lobbying_by_client`: 39 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `nih_by_org`: 39 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: name.
  - Minor: Says nothing about what it returns.
- `nsf_by_org`: 39 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `patents_by_assignee`: 39 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `resolve`: 39 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: q, ticker, cik.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `company_insider_pulse`: 40 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `cluster_buys`: 41 / 100
  - Major: Says nothing about when to use it, or when not to.
  - 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.
- `cluster_sells`: 41 / 100
  - Major: Says nothing about when to use it, or when not to.
  - 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.
- `dossier`: 41 / 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.
- `estimate_filing_dates`: 41 / 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.
- `fed_enforcement_recent`: 41 / 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.
- `upcoming_sales_pressure`: 41 / 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.
- `common_owner_rollup`: 42 / 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: owner_associate_id. Name the tool or the place that returns it, or models look it up first.
- `company_profile`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `doj_by_company`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: name.
  - Minor: Says nothing about what it returns.
- `entity_relationships`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `short_interest_search`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `short_volume_search`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: q.
  - Minor: Says nothing about what it returns.
- `clinical_trials_recent`: 43 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `epa_facilities`: 43 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: state.
  - Minor: No `required` list, so every argument is optional.
- `company_risk_flags`: 44 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `courts_by_party`: 44 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `courts_recent`: 44 / 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.
- `doj_recent`: 44 / 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.
- `fails_to_deliver_top`: 44 / 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.
- `fda_firm_dossier`: 44 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `watchlist`: 44 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `csb_investigation_search`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `influence_chain`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `pharmacy_340b_clients`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: pharmacy_id.
  - Minor: Says nothing about what it returns.
- `trade_remedy_search`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `drug_label`: 46 / 100
  - Major: Says nothing about when to use it, or when not to.
- `fund_holdings`: 46 / 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: cik_or_series_id. Name the tool or the place that returns it, or models look it up first.
- `news`: 46 / 100
  - Major: Says nothing about when to use it, or when not to.
  - 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.
- `patents_recent`: 46 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `search`: 46 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `sanctuary_doj_list`: 47 / 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.
- `short_squeeze_candidates`: 47 / 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.
- `cross_vertical_active`: 49 / 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.
- `flagged_carriers`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
- `kev_by_vendor`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
- `screen_all`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
- `short_volume_most_shorted`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `pay_to_play_committees`: 50 / 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.
- `nhtsa_by_manufacturer`: 51 / 100
  - Major: Says nothing about when to use it, or when not to.
- `adviser_search`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
- `ag_census_county_search`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
- `broadcast_station_search`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
- `bsee_search`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: q.
- `building_permits_search`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
- `cfpb_by_company`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
- `chemical_accident_search`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
- `china_ai_us_lists`: 52 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `crop_insurance_search`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
- `documented_vessel_search`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
- `fails_to_deliver_search`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
- `fair_market_rent_search`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
- `federal_file_search`: 52 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `income_by_zip_search`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
- `migration_flows_search`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
- `pfas_system_lookup`: 52 / 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.
- `sanctions_check`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
- `search_340b`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: q.
- `fcc_grantee_search`: 53 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `nhtsa_recent`: 53 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
- `compare_entities`: 54 / 100
  - Major: Says nothing about when to use it, or when not to.
- `data_demand_compare`: 54 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `debarments_check`: 54 / 100
- `drone_company_check`: 54 / 100
  - Major: Says nothing about when to use it, or when not to.
- `entity_material_events`: 54 / 100
  - Major: Says nothing about when to use it, or when not to.
- `short_interest_squeeze`: 54 / 100
  - Minor: Says nothing about what it returns.
- `ukraine_money_recipient`: 55 / 100
  - Minor: Says nothing about what it returns.
- `national_security_surveillance`: 56 / 100
  - Minor: No `required` list, so every argument is optional.
- `entity_timeline`: 57 / 100
  - Minor: Says nothing about what it returns.
- `house_price_index_search`: 57 / 100
  - Major: Says nothing about when to use it, or when not to.
- `pay_to_play_awards`: 57 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `prediction_market_exchange`: 57 / 100
  - Major: Says nothing about when to use it, or when not to.
- `prediction_market_filings`: 57 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `wiretap_orders`: 57 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `china_ai_filings`: 59 / 100
  - Minor: No `required` list, so every argument is optional.
- `data_broker_diff`: 59 / 100
  - Major: Says nothing about when to use it, or when not to.
- `foreign_agents_enforcement`: 59 / 100
  - Minor: Says nothing about what it returns.
- `foreign_agents_summary`: 59 / 100
  - Minor: Says nothing about what it returns.
- `inaugural_donors_summary`: 59 / 100
  - Minor: Says nothing about what it returns.
- `plate_reader_state_law`: 59 / 100
  - Major: Says nothing about when to use it, or when not to.
- `screen_batch`: 59 / 100
- `super_pac_donors_summary`: 59 / 100
  - Minor: Says nothing about what it returns.
- `who_gets_your_data_summary`: 59 / 100
  - Minor: The description is long (605 words). It helps selection but costs steps and tokens.
  - Minor: Says nothing about what it returns.
- `border_force_national`: 61 / 100
  - Minor: No `required` list, so every argument is optional.
- `drone_product_lookup`: 61 / 100
  - Major: Says nothing about when to use it, or when not to.
- `nhtsa_automation_investigations`: 61 / 100
  - Minor: No `required` list, so every argument is optional.
- `ukraine_money_totals`: 61 / 100
  - Minor: No `required` list, so every argument is optional.
- `arms_sales_notices`: 62 / 100
  - Minor: The description is long (459 words). It helps selection but costs steps and tokens.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `forced_labor_company_check`: 62 / 100
  - Minor: Says nothing about what it returns.
- `lobbying_by_issue`: 62 / 100
  - Major: Says nothing about when to use it, or when not to.
- `mdl_lookup`: 62 / 100
- `migrant_programs_program`: 62 / 100
  - Minor: The description is long (447 words). It helps selection but costs steps and tokens.
  - Minor: Says nothing about what it returns.
- `pfas_rule_impact`: 62 / 100
  - Major: Says nothing about when to use it, or when not to.
- `data_demand_source`: 64 / 100
- `election_voting_systems`: 64 / 100
  - Minor: No `required` list, so every argument is optional.
- `forced_labor_source_compare`: 64 / 100
- `foreign_agents_principal`: 64 / 100
- `foreign_agents_registrant`: 64 / 100
- `judgment_fund_payee`: 64 / 100
- `judgment_fund_payments`: 64 / 100
  - Minor: No `required` list, so every argument is optional.
- `pay_to_play_totals`: 64 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `pfas_system_history`: 64 / 100
  - Major: Says nothing about when to use it, or when not to.
- `plate_reader_decisions`: 64 / 100
  - Minor: No `required` list, so every argument is optional.
- `self_driving_company`: 64 / 100
- `super_pac_donors_recipient`: 64 / 100
- `breach_notices`: 65 / 100
  - Minor: Says nothing about what it returns.
- `migrant_programs_summary`: 66 / 100
  - Minor: The description is long (548 words). It helps selection but costs steps and tokens.
- `who_gets_your_data_government`: 66 / 100
  - Minor: The description is long (445 words). It helps selection but costs steps and tokens.
  - Minor: No `required` list, so every argument is optional.
- `breach_notice_organization`: 67 / 100
- `federal_file_system`: 67 / 100
  - 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.
- `forfeiture_agency`: 67 / 100
- `forfeiture_payments`: 67 / 100
  - Minor: No `required` list, so every argument is optional.
- `media_money_terminations`: 67 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `police_grant_awards`: 67 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `agent_access`: 69 / 100
  - Minor: The description is long (455 words). It helps selection but costs steps and tokens.
  - Minor: No `required` list, so every argument is optional.
- `arms_sales_contractor`: 69 / 100
  - Minor: The description is long (449 words). It helps selection but costs steps and tokens.
- `border_force_area`: 69 / 100
- `bought_by_your_police_vendor`: 69 / 100
  - Minor: The description is long (484 words). It helps selection but costs steps and tokens.
- `data_broker_check`: 69 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `lobbying_client`: 69 / 100
- `migrant_programs_terminations`: 69 / 100
  - Minor: The description is long (432 words). It helps selection but costs steps and tokens.
  - Minor: No `required` list, so every argument is optional.
- `pay_to_play_contractor`: 69 / 100
- `self_driving_reports`: 69 / 100
- `who_gets_your_data_government_award`: 69 / 100
- `who_gets_your_data_handoffs`: 69 / 100
  - Minor: No `required` list, so every argument is optional.
- `who_gets_your_data_lookup`: 69 / 100
  - Minor: The description is long (562 words). It helps selection but costs steps and tokens.
- `sanctuary_state_reports`: 70 / 100
- `arms_sales_summary`: 71 / 100
  - Minor: The description is long (463 words). It helps selection but costs steps and tokens.
- `media_money_summary`: 71 / 100
  - Minor: The description is long (498 words). It helps selection but costs steps and tokens.
- `election_equipment_jurisdiction`: 72 / 100
- `police_grant_recipient`: 72 / 100
- `arms_sales_buyer`: 74 / 100
  - Minor: The description is long (429 words). It helps selection but costs steps and tokens.
- `drug_money_agreements`: 74 / 100
  - Minor: No `required` list, so every argument is optional.
- `drug_money_summary`: 74 / 100
  - Minor: The description is long (585 words). It helps selection but costs steps and tokens.
- `foreign_agents_country`: 74 / 100
- `inaugural_donors_donor`: 74 / 100
- `media_money_family`: 74 / 100
  - Minor: The description is long (581 words). It helps selection but costs steps and tokens.
- `migrant_programs_recipient`: 74 / 100
  - Minor: The description is long (512 words). It helps selection but costs steps and tokens.
- `super_pac_donors_donor`: 74 / 100
- `bought_by_your_police`: 76 / 100
  - Minor: The description is long (579 words). It helps selection but costs steps and tokens.
  - Minor: No `required` list, so every argument is optional.
- `media_money_advertising`: 76 / 100
  - Minor: The description is long (429 words). It helps selection but costs steps and tokens.
  - Minor: No `required` list, so every argument is optional.
- `what_your_pension_owns`: 76 / 100
  - Minor: The description is long (485 words). It helps selection but costs steps and tokens.
  - Minor: No `required` list, so every argument is optional.
- `agent_access_changes`: 77 / 100
- `agent_access_check_url`: 77 / 100
  - Minor: The description is long (457 words). It helps selection but costs steps and tokens.
- `agent_access_institution`: 77 / 100
  - Minor: The description is long (447 words). It helps selection but costs steps and tokens.
- `agent_access_route`: 77 / 100
  - Minor: The description is long (464 words). It helps selection but costs steps and tokens.
- `drug_money_company`: 77 / 100
  - Minor: The description is long (595 words). It helps selection but costs steps and tokens.
- `drug_money_drug`: 77 / 100
  - Minor: The description is long (493 words). It helps selection but costs steps and tokens.
- `what_your_pension_owns_fund`: 79 / 100
  - Minor: The description is long (430 words). It helps selection but costs steps and tokens.

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)
