# Bot do Afiliado (io.github.CssEoCAO/bot-do-afiliado): tool descriptions scored

- tools/list taken: 2026-11-02 (UTC)
- From: [Official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers/io.github.CssEoCAO%2Fbot-do-afiliado/versions/latest)
- Connected to: https://app.botdoafiliado.com/mcp
- Homepage: https://botdoafiliado.com/docs/
- Scoring rules: v2
- Tools: 30
- Average: 57.4 / 100 (Cloudy)
- Near-identical pairs: 0

This page shows how Bot do Afiliado (io.github.CssEoCAO/bot-do-afiliado)'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: 30 tools. Above 25, models start to tell tools apart less well.
- Minor: The server's instructions are 3634 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

- `preview_userbot_rules`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: rules.converter, rules.replacements, rules.replacements[].find, rules.replacements[].replace, rules.replacements[].isRegex, rules.discardIfContains.
  - Minor: String arguments with no constraint or example: rules.replacements[].find, rules.replacements[].replace.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: The meaning of the boolean argument rules.replacements[].isRegex is unclear.
- `set_userbot_config`: 48 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: settings.enabled, settings.approvalGroupId, settings.defaultDestinationId, settings.blocklist, channel.channelId, channel.title, channel.rules.replacements, channel.rules.replacements[].find, channel.rules.replacements[].replace, channel.rules.replacements[].isRegex, channel.rules.discardIfContains, channel.destinationChannelId, channel.enabled, rule.name, rule.keywords, rule.minLinks, rule.maxLinks, rule.destinationChannelId, rule.priority, rule.enabled.
  - Minor: String arguments with no constraint or example: settings.approvalGroupId, settings.defaultDestinationId, channel.channelId, channel.title, channel.rules.replacements[].find, channel.rules.replacements[].replace, channel.destinationChannelId, rule.name, rule.keywords, rule.destinationChannelId.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The meaning of the boolean argument settings.enabled is unclear.
  - Minor: The meaning of the boolean argument channel.rules.replacements[].isRegex is unclear.
  - Minor: The meaning of the boolean argument channel.enabled is unclear.
  - Minor: The meaning of the boolean argument rule.enabled is unclear.
- `get_userbot_history`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: channelId.
  - Minor: No `required` list, so every argument is optional.
- `list_userbot_queue`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
- `create_offer_post`: 53 / 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_template`: 54 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
- `list_coupon_categories`: 54 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
- `list_whatsapp_groups`: 54 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
- `remove_coupon`: 54 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
- `activity_history`: 55 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
- `run_command`: 55 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `activity_stats`: 57 / 100
  - Major: Says nothing about when to use it, or when not to.
- `get_bot_info`: 57 / 100
  - Major: Says nothing about when to use it, or when not to.
- `get_userbot_config`: 57 / 100
  - Major: Says nothing about when to use it, or when not to.
- `reject_userbot_offer`: 57 / 100
  - Major: Says nothing about when to use it, or when not to.
  - 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.
- `set_template`: 57 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: The description mentions none of its 3 or more arguments.
- `activate_coupon`: 59 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
- `convert_links`: 59 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
- `list_showcase_items`: 59 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
- `add_coupon`: 60 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
- `remove_showcase_item`: 60 / 100
  - Major: Says nothing about when to use it, or when not to.
  - 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.
- `list_coupons`: 61 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
- `approve_userbot_offer`: 62 / 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: 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_campaign`: 62 / 100
  - Major: Says nothing about when to use it, or when not to.
- `get_product`: 62 / 100
  - Major: Says nothing about when to use it, or when not to.
- `propose_offer_post`: 62 / 100
  - Major: Says nothing about when to use it, or when not to.
- `campaign_metrics`: 64 / 100
  - Major: Says nothing about when to use it, or when not to.
- `list_campaigns`: 64 / 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.
- `add_showcase_item`: 65 / 100
  - Major: Says nothing about when to use it, or when not to.
- `search_products`: 70 / 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)
