# Mail by Pony (com.mailbypony/mail-by-pony): tool descriptions scored

- tools/list taken: 2026-11-02 (UTC)
- From: [Official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers/com.mailbypony%2Fmail-by-pony/versions/latest)
- Connected to: https://www.mailbypony.com/mcp
- Homepage: https://www.mailbypony.com/agents
- Scoring rules: v2
- Tools: 39
- Average: 40.4 / 100 (Cloudy)
- Near-identical pairs: 1

This page shows how Mail by Pony (com.mailbypony/mail-by-pony)'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: 39 tools. Above 25, models start to tell tools apart less well.

## Tools

- `list_orders`: 20 / 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: client_reference.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `archive_draft`: 23 / 100
  - Major: The description only restates the name (5 words).
  - Major: The description is too short (5 words).
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: draft_id, version, idempotency_key.
  - 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: draft_id. Name the tool or the place that returns it, or models look it up first.
- `get_template`: 23 / 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: template_id.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: template_id. Name the tool or the place that returns it, or models look it up first.
- `reconcile_payment`: 23 / 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: order_id.
  - 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.
- `delete_template`: 30 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: template_id, idempotency_key.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: template_id. Name the tool or the place that returns it, or models look it up first.
- `get_order`: 30 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: order_id.
  - 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.
- `list_credit_transactions`: 30 / 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: cursor, limit.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `add_library_artwork`: 34 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: draft_id, version, artwork_id, idempotency_key.
  - 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: draft_id, artwork_id. Name the tool or the place that returns it, or models look it up first.
- `get_proof`: 34 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: proof_id.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: proof_id. Name the tool or the place that returns it, or models look it up first.
- `prepare_checkout`: 34 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: draft_id, version, idempotency_key.
  - 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: draft_id. Name the tool or the place that returns it, or models look it up first.
- `remove_attachment`: 34 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: draft_id, file_id, version, idempotency_key.
  - 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: draft_id, file_id. Name the tool or the place that returns it, or models look it up first.
- `get_credit_topup`: 35 / 100
  - Major: Arguments without a description: topup_id.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: topup_id. Name the tool or the place that returns it, or models look it up first.
- `get_batch`: 37 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: batch_id.
  - Minor: Required identifiers whose description does not say where the value comes from: batch_id. Name the tool or the place that returns it, or models look it up first.
- `preview`: 37 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: draft_id, version, idempotency_key.
  - 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: draft_id. Name the tool or the place that returns it, or models look it up first.
- `create_template`: 38 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: name, title, text, style, paper, envelope, pages, sender, content_type, idempotency_key.
  - Minor: Says nothing about what it returns.
- `list_drafts`: 38 / 100
  - Major: The description only restates the name (4 words).
  - Major: The description is too short (4 words).
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `list_templates`: 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.
- `cancel_order`: 39 / 100
  - Major: Arguments without a description: order_id, approved, grant_id, idempotency_key.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: The meaning of the boolean argument approved is unclear.
  - 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.
- `checkout`: 39 / 100
  - Major: Arguments without a description: preparation_id, consent_id.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: preparation_id, consent_id. Name the tool or the place that returns it, or models look it up first.
- `send_with_credits`: 39 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: send_intent_id, quote_id, proof_id, expected_total_minor, currency, grant_id, idempotency_key.
  - Minor: String arguments with no constraint or example: currency.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: send_intent_id, quote_id, proof_id. Name the tool or the place that returns it, or models look it up first.
- `request_status`: 40 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: tool, idempotency_key.
- `quote`: 42 / 100
  - Major: Arguments without a description: draft_id, version.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: draft_id. Name the tool or the place that returns it, or models look it up first.
- `quote_for_send`: 42 / 100
  - Major: Arguments without a description: draft_id, version, proof_id, client_reference, send_intent_id, idempotency_key.
  - 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: draft_id, proof_id. Name the tool or the place that returns it, or models look it up first.
- `create_credit_topup`: 43 / 100
  - Major: Arguments without a description: amount_minor, currency, idempotency_key.
  - Minor: String arguments with no constraint or example: currency.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `create_template_draft`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: template_id, title, recipient, sender, recipient_id, sender_id, idempotency_key.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: template_id. Name the tool or the place that returns it, or models look it up first.
- `create_batch`: 46 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: items, items[].title, items[].recipient, items[].sender, items[].recipient_id, items[].sender_id, idempotency_key.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `get_draft`: 47 / 100
  - Major: Arguments without a description: draft_id.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: draft_id. Name the tool or the place that returns it, or models look it up first.
- `create_draft`: 48 / 100
  - Major: Arguments without a description: title, text, content_type, paper, envelope, style, recipient, sender, decorations, pages, handwriting, original_hand, sender_id, recipient_id, idempotency_key.
  - Minor: Says nothing about what it returns.
- `get_credit_balance`: 48 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `update_draft`: 48 / 100
  - Major: Arguments without a description: title, text, content_type, paper, envelope, style, recipient, sender, decorations, pages, handwriting, original_hand, sender_id, recipient_id, idempotency_key, draft_id, version.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: draft_id. Name the tool or the place that returns it, or models look it up first.
- `catalog`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `list_agent_grants`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `upload_attachment`: 49 / 100
  - Major: Arguments without a description: version, kind, name, content_base64, draft_id, idempotency_key.
  - 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: draft_id. Name the tool or the place that returns it, or models look it up first.
- `get_connection_identity`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `get_checkout_preparation`: 53 / 100
  - Major: Arguments without a description: preparation_id.
  - Minor: Required identifiers whose description does not say where the value comes from: preparation_id. Name the tool or the place that returns it, or models look it up first.
- `create_payment_link`: 54 / 100
  - Major: Arguments without a description: draft_id, version, idempotency_key.
  - Minor: Required identifiers whose description does not say where the value comes from: draft_id. Name the tool or the place that returns it, or models look it up first.
- `list_address_references`: 54 / 100
  - Minor: Says nothing about what it returns.
- `show_letter`: 56 / 100
  - Major: Arguments without a description: draft_id, version.
  - Minor: Required identifiers whose description does not say where the value comes from: draft_id. Name the tool or the place that returns it, or models look it up first.
- `ui_diagnostic`: 57 / 100
  - Major: Says nothing about when to use it, or when not to.

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)
