# Simafri Suite (com.simafri/professional-email): tool descriptions scored

- tools/list taken: 2026-11-02 (UTC)
- From: [Official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers/com.simafri%2Fprofessional-email/versions/latest)
- Connected to: https://suite-mcp.simafri.com/mcp
- Homepage: https://www.simafri.com/en/suite/
- Scoring rules: v2
- Tools: 70
- Average: 47.9 / 100 (Cloudy)
- Near-identical pairs: 1

This page shows how Simafri Suite (com.simafri/professional-email)'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: 70 tools. Above 40, models choose less accurately.
- Minor: The server's instructions are 7503 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

- `delete_compose_draft`: 32 / 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.
  - 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_contact`: 32 / 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.
  - Minor: Required identifiers whose description does not say where the value comes from: contact_id. Name the tool or the place that returns it, or models look it up first.
- `list_contacts`: 32 / 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.
- `reject_draft`: 32 / 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.
  - 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_team_member`: 32 / 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.
- `rename_team`: 32 / 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.
- `add_team_member`: 35 / 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.
- `cancel_scheduled_send`: 35 / 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.
  - Minor: Required identifiers whose description does not say where the value comes from: scheduled_send_id. Name the tool or the place that returns it, or models look it up first.
- `delete_folder`: 35 / 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.
  - Minor: Required identifiers whose description does not say where the value comes from: folder_id. Name the tool or the place that returns it, or models look it up first.
- `delete_knowledge`: 35 / 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.
  - Minor: Required identifiers whose description does not say where the value comes from: doc_id. Name the tool or the place that returns it, or models look it up first.
- `delete_team`: 35 / 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.
- `forward_conversation`: 35 / 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.
  - Minor: Required identifiers whose description does not say where the value comes from: conversation_id. Name the tool or the place that returns it, or models look it up first.
- `update_folder`: 35 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: name.
  - Minor: The description mentions none of its 3 or more arguments.
  - 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: folder_id. Name the tool or the place that returns it, or models look it up first.
- `update_knowledge`: 35 / 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.
  - Minor: Required identifiers whose description does not say where the value comes from: doc_id. Name the tool or the place that returns it, or models look it up first.
- `list_brands`: 39 / 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.
- `add_mailbox_holder`: 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.
- `create_knowledge`: 40 / 100
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `list_compose_drafts`: 40 / 100
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `remove_mailbox_alias`: 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.
- `remove_queue_operator`: 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.
- `save_compose_draft`: 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.
- `set_signature`: 40 / 100
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `update_contact`: 40 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: address.
  - Minor: The description mentions none of its 3 or more arguments.
  - 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: contact_id. Name the tool or the place that returns it, or models look it up first.
- `list_blocked_senders`: 42 / 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.
- `list_sender_addresses`: 42 / 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.
- `list_teams`: 42 / 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.
- `add_mailbox_alias`: 43 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `delete_note`: 43 / 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: conversation_id, note_id. Name the tool or the place that returns it, or models look it up first.
- `add_queue_operator`: 45 / 100
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `create_attachment_upload`: 45 / 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.
- `create_folder`: 45 / 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.
- `create_team`: 45 / 100
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `list_folders`: 45 / 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.
- `list_scheduled_sends`: 45 / 100
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `remove_mailbox_holder`: 45 / 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.
- `search_conversations`: 45 / 100
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `set_archive_on_reply`: 45 / 100
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `set_auto_draft`: 45 / 100
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `unblock_sender`: 45 / 100
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `unsubscribe`: 45 / 100
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `create_contact`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: address.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `list_knowledge`: 47 / 100
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `list_mailboxes`: 47 / 100
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `list_people`: 47 / 100
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `update_note`: 48 / 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.
  - Minor: Required identifiers whose description does not say where the value comes from: conversation_id, note_id. Name the tool or the place that returns it, or models look it up first.
- `list_drafts`: 50 / 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.
- `remove_suppression`: 50 / 100
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `rename_conversation`: 50 / 100
  - 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: conversation_id. Name the tool or the place that returns it, or models look it up first.
- `send_email`: 50 / 100
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `approve_draft`: 51 / 100
  - 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: draft_id. Name the tool or the place that returns it, or models look it up first.
- `get_settings`: 52 / 100
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `list_suppressed_recipients`: 52 / 100
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `get_customer_card`: 53 / 100
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: conversation_id. Name the tool or the place that returns it, or models look it up first.
- `delete_conversation`: 55 / 100
  - 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: conversation_id. Name the tool or the place that returns it, or models look it up first.
- `list_conversations`: 56 / 100
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `poll_mailboxes`: 57 / 100
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `reply_to_conversation`: 61 / 100
  - 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: conversation_id. Name the tool or the place that returns it, or models look it up first.
- `invite_person`: 62 / 100
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `merge_conversation`: 63 / 100
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: conversation_id. Name the tool or the place that returns it, or models look it up first.
- `get_attachment`: 67 / 100
  - Minor: The description is long (410 words). It helps selection but costs steps and tokens.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `mark_not_spam`: 67 / 100
  - 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: conversation_id. Name the tool or the place that returns it, or models look it up first.
- `mark_unread`: 67 / 100
  - 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: conversation_id. Name the tool or the place that returns it, or models look it up first.
- `unassign_conversation`: 67 / 100
  - 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: conversation_id. Name the tool or the place that returns it, or models look it up first.
- `set_conversation_status`: 69 / 100
  - 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: conversation_id. Name the tool or the place that returns it, or models look it up first.
- `add_note`: 72 / 100
  - 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: conversation_id. Name the tool or the place that returns it, or models look it up first.
- `assign_conversation`: 72 / 100
  - 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: conversation_id. Name the tool or the place that returns it, or models look it up first.
- `get_conversation`: 72 / 100
  - 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: conversation_id. Name the tool or the place that returns it, or models look it up first.
- `mark_read`: 72 / 100
  - 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: conversation_id. Name the tool or the place that returns it, or models look it up first.
- `report_spam`: 72 / 100
  - 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: conversation_id. Name the tool or the place that returns it, or models look it up first.
- `file_conversation`: 74 / 100
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Major: It may be destructive, but destructiveHint is not set.
  - Minor: Required identifiers whose description does not say where the value comes from: conversation_id. Name the tool or the place that returns it, or models look it up first.

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)
