# LetsBot (net.letsbot/mcp): tool descriptions scored

- tools/list taken: 2026-11-02 (UTC)
- From: [Official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers/net.letsbot%2Fmcp/versions/latest)
- Connected to: https://letsbot.net/mcp
- Homepage: https://letsbot.net/en/whatsapp-mcp.html
- Scoring rules: v2
- Tools: 95
- Average: 53.6 / 100 (Cloudy)
- Near-identical pairs: 1

This page shows how LetsBot (net.letsbot/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: 95 tools. Above 40, models choose less accurately.
- 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

- `archive_contact`: 31 / 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.
  - Minor: Says nothing about what it returns.
- `block_contact`: 31 / 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.
  - Minor: Says nothing about what it returns.
- `forward_message`: 31 / 100
  - Major: The description only restates the name (9 words).
  - 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: message_id. Name the tool or the place that returns it, or models look it up first.
- `create_label`: 36 / 100
  - Major: The description only restates the name (8 words).
  - 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.
- `send_contact_card`: 36 / 100
  - Major: The description only restates the name (9 words).
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: organization.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `send_location`: 36 / 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.
  - Minor: String arguments with no constraint or example: latitude, longitude, name.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `send_list`: 37 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: sections[].title, sections[].rows, sections[].rows[].id, sections[].rows[].title, sections[].rows[].description.
  - Minor: String arguments with no constraint or example: body, sections[].title, sections[].rows[].id, sections[].rows[].title, sections[].rows[].description, title, footer.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `get_my_chats`: 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.
- `pin_contact`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `get_label_contacts`: 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: label_id. Name the tool or the place that returns it, or models look it up first.
- `send_audio`: 43 / 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.
- `send_image`: 43 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `send_reaction`: 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: message_id. Name the tool or the place that returns it, or models look it up first.
- `send_video`: 43 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `get_bot_conversations`: 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.
- `get_campaigns`: 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.
- `assign_label`: 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: label_id. Name the tool or the place that returns it, or models look it up first.
- `create_campaign`: 45 / 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: label_ids. Name the tool or the place that returns it, or models look it up first.
- `get_bot_settings`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `send_buttons`: 46 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: buttons[].id, buttons[].title.
  - Minor: String arguments with no constraint or example: body, buttons[].id, buttons[].title, title, footer.
  - Minor: Says nothing about what it returns.
- `assign_moderator`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `create_contact`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: name, email.
  - Minor: Says nothing about what it returns.
- `duplicate_bot_conversation`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `get_campaign_status`: 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: campaign_id. Name the tool or the place that returns it, or models look it up first.
- `get_order_status`: 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.
- `search_messages`: 47 / 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.
- `search_products`: 47 / 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.
- `send_template`: 47 / 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.
- `set_bot_conversation_active`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `update_ad_lead_settings`: 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.
- `get_report`: 48 / 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.
- `get_bot_status`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `get_contacts`: 49 / 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.
- `get_labels`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `get_moderators`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `get_quick_replies`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `create_quick_reply`: 50 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: The description mentions none of its 3 or more arguments.
- `delete_label`: 50 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `get_contact`: 50 / 100
  - Minor: Says nothing about what it returns.
- `mark_as_read`: 50 / 100
  - Minor: Says nothing about what it returns.
- `update_label`: 50 / 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.
- `ai_analyze_contact`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
- `ai_sentiment_analysis`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
- `ai_suggest_reply`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
- `ai_summarize_conversation`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
- `create_interactive_conversation`: 52 / 100
  - Minor: String arguments with no constraint or example: buttons[].title.
  - Minor: Says nothing about what it returns.
- `get_ad_lead_settings`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `get_messages`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: The description mentions none of its 3 or more arguments.
- `get_notification_template`: 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.
- `toggle_bot`: 52 / 100
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `draft_bot_flow`: 53 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `update_quick_reply`: 53 / 100
  - Major: Says nothing about when to use it, or when not to.
- `ai_improve_message`: 54 / 100
  - Major: Says nothing about when to use it, or when not to.
- `ai_translate_message`: 54 / 100
  - Major: Says nothing about when to use it, or when not to.
- `send_carousel`: 54 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: cards[].subtitle.
  - Minor: Says nothing about what it returns.
- `delete_bot_conversation`: 55 / 100
  - Minor: Says nothing about what it returns.
- `get_message_status`: 55 / 100
  - Minor: Says nothing about what it returns.
- `update_contact`: 55 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: email, city, country.
  - Minor: Says nothing about what it returns.
- `cancel_scheduled_activity`: 56 / 100
  - Minor: Says nothing about what it returns.
- `update_bot_conversation`: 56 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `update_bot_settings`: 57 / 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.
- `get_group_messages`: 58 / 100
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `get_groups`: 58 / 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.
- `ai_dashboard_summary`: 59 / 100
  - Major: Says nothing about when to use it, or when not to.
- `get_conversations_awaiting_reply`: 59 / 100
  - Minor: No `required` list, so every argument is optional.
- `cancel_campaign`: 60 / 100
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: campaign_id. Name the tool or the place that returns it, or models look it up first.
- `delete_contact`: 60 / 100
  - Minor: Says nothing about what it returns.
- `diagnose_messaging`: 60 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `get_abandoned_carts`: 60 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `get_assignment_rules`: 60 / 100
  - Minor: Says nothing about what it returns.
- `reassign_conversations`: 60 / 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: from_user_id, to_user_id. Name the tool or the place that returns it, or models look it up first.
- `reply_to_message`: 60 / 100
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: message_id. Name the tool or the place that returns it, or models look it up first.
- `send_group_message`: 60 / 100
  - Minor: Says nothing about what it returns.
- `update_notification_template`: 60 / 100
  - 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: id. Name the tool or the place that returns it, or models look it up first.
- `get_ai_assistant_settings`: 62 / 100
  - Minor: Says nothing about what it returns.
- `list_whatsapp_templates`: 62 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `send_text_message`: 62 / 100
  - Major: Says nothing about when to use it, or when not to.
- `set_store_automation_active`: 62 / 100
  - Minor: Says nothing about what it returns.
- `resume_campaign`: 63 / 100
  - Minor: Says nothing about what it returns.
- `get_store_setup_checklist`: 64 / 100
  - Minor: Says nothing about what it returns.
- `add_note`: 65 / 100
  - Minor: Says nothing about what it returns.
- `create_simple_conversation`: 66 / 100
  - Minor: Says nothing about what it returns.
- `update_assignment_rules`: 66 / 100
  - Minor: No `required` list, so every argument is optional.
- `delete_quick_reply`: 67 / 100
- `send_file`: 67 / 100
- `create_whatsapp_template`: 69 / 100
  - Minor: Arguments without a description: header.type, header.text, header.media_url, buttons[].type, buttons[].text, buttons[].url, buttons[].url_example, buttons[].phone_number.
  - Minor: String arguments with no constraint or example: header.text, header.media_url, buttons[].text, buttons[].url, buttons[].url_example, buttons[].phone_number.
- `save_cart_reminder`: 70 / 100
  - Minor: Says nothing about what it returns.
- `update_ai_assistant_settings`: 70 / 100
  - Minor: Says nothing about what it returns.
- `get_owner_briefing`: 72 / 100
  - Minor: Says nothing about what it returns.
- `list_scheduled_activity`: 72 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: The description mentions none of its 3 or more arguments.
- `list_store_automations`: 72 / 100
- `resend_campaign`: 73 / 100
  - Minor: Says nothing about what it returns.
- `send_group_file`: 73 / 100
- `get_account_overview`: 74 / 100
- `upload_file`: 78 / 100
  - Minor: Says nothing about what it returns.

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)
