# Mekler AI (ai.mekler/agent-discovery): tool descriptions scored

- tools/list taken: 2026-11-02 (UTC)
- From: [Official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers/ai.mekler%2Fagent-discovery/versions/latest)
- Connected to: https://api.mekler.ai/mcp
- Scoring rules: v2
- Tools: 32
- Average: 43.3 / 100 (Cloudy)
- Near-identical pairs: 2

This page shows how Mekler AI (ai.mekler/agent-discovery)'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

- Minor: 32 tools. Above 25, models start to tell tools apart less well.
- 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

- `get_service`: 24 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: id, referral_code.
  - 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.
- `rotate_trial`: 27 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: old_wallet, new_wallet, request_id, network, old_proof, new_proof.
  - Minor: String arguments with no constraint or example: old_wallet, new_wallet, request_id.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `search_services`: 27 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: query, referral_code.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `get_trial_access`: 32 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: operation.
  - Minor: String arguments with no constraint or example: operation.
  - Minor: Says nothing about what it returns.
- `get_scan_status`: 34 / 100
  - Major: Arguments without a description: job_id, recovery_capability.
  - Minor: String arguments with no constraint or example: job_id, recovery_capability.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: job_id. Name the tool or the place that returns it, or models look it up first.
- `referral_receipts`: 34 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: arguments, proof, new_proof.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `referral_accept_terms`: 37 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: arguments, proof, new_proof.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `referral_acknowledge`: 37 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: arguments, proof, new_proof.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `referral_notices`: 37 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: arguments, proof, new_proof.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `referral_register`: 37 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: arguments, proof, new_proof.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `referral_rotate`: 37 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: arguments, proof, new_proof.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `referral_status`: 37 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: arguments, proof, new_proof.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `referral_program`: 38 / 100
  - Major: The description only restates the name (9 words).
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `get_scan_report`: 39 / 100
  - Major: Arguments without a description: report_id.
  - Minor: String arguments with no constraint or example: report_id.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: report_id. Name the tool or the place that returns it, or models look it up first.
- `retrieve_health_checks`: 39 / 100
  - Major: Arguments without a description: listing_id, route_id, since, limit, cursor.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `retrieve_listing`: 42 / 100
  - Major: Arguments without a description: listing_id.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: listing_id. Name the tool or the place that returns it, or models look it up first.
- `retrieve_listing_history`: 42 / 100
  - Major: Arguments without a description: listing_id, route_id, series, interval, since, limit, cursor.
  - 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: listing_id. Name the tool or the place that returns it, or models look it up first.
- `search_listings`: 42 / 100
  - Major: Arguments without a description: text, host, category, grade, owner_verified, featured, sort, limit, cursor, network, source, tier, include_delisted.
  - Minor: The meaning of the boolean argument owner_verified is unclear.
  - Minor: The meaning of the boolean argument featured is unclear.
  - Minor: The meaning of the boolean argument include_delisted is unclear.
  - Minor: Says nothing about what it returns.
- `list_offer_changes`: 47 / 100
  - Major: Arguments without a description: listing_id, since, limit, cursor.
  - Minor: Says nothing about what it returns.
- `list_conformance_checks`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `list_categories`: 50 / 100
  - Minor: Says nothing about what it returns.
- `export_listings`: 52 / 100
  - Major: Arguments without a description: idempotency_key, payment_signature.
- `get_trial_offer`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `list_grade_changes`: 52 / 100
  - Major: Arguments without a description: idempotency_key, cursor, limit, payment_signature.
  - Minor: The description mentions none of its 3 or more arguments.
- `reissue_owner_token`: 52 / 100
  - Major: Arguments without a description: origin, recovery_code.
- `start_ownership_proof`: 52 / 100
  - Major: Arguments without a description: origin, requester_key, contact_email, email_consent.
  - Minor: The meaning of the boolean argument email_consent is unclear.
  - Minor: Says nothing about what it returns.
- `confirm_ownership_proof`: 54 / 100
  - Major: Arguments without a description: challenge_id, requester_key, contact_code, update_id.
- `list_networks`: 54 / 100
  - Minor: Says nothing about what it returns.
- `request_listing_update`: 54 / 100
  - Major: Arguments without a description: action, listing_id, origin, request_id, revision, requester_key, changes, changes.name, changes.description, changes.category, changes.url, changes.routes, changes.routes[].method, changes.routes[].path, control_credential.
- `update_listing_preferences`: 54 / 100
  - Major: Arguments without a description: listing_id, revision, hidden, suppress_branding, revoke, control_credential.
  - Minor: The meaning of the boolean argument hidden is unclear.
  - Minor: The meaning of the boolean argument suppress_branding is unclear.
  - Minor: The meaning of the boolean argument revoke is unclear.
- `summarize_directory_status`: 57 / 100
  - Minor: Says nothing about what it returns.
- `scan_origin`: 65 / 100
  - Major: Arguments without a description: quote_mode, paths, recovery_capability, payment_signature.
  - Minor: String arguments with no constraint or example: recovery_capability, payment_signature.

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)
