Skip to main content
Glama

reagir

Reacts to a WhatsApp message with an emoji or removes an existing reaction using an empty emoji and message ID, enabling natural responses without sending a text reply.

Instructions

Reage com um emoji a uma mensagem (👍, ❤️, 😂...). Às vezes a resposta humana é SÓ uma reação — prefira isso a um balão de 'ok!' quando couber. Emoji vazio ('') REMOVE a reação. O msgId vem do ler_mensagens. A tool resolve sozinha a key completa (autor/fromMe) pelo histórico — participant/fromMe manuais só como override raro.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "grupo": "<grupo>",
      "msgId": "<msgId>",
      "emoji": "<emoji>"
    },
    "name": "reagir"
  }
}

Input Schema

NameRequiredDescriptionDefault
emojiYesemoji da reação; '' remove
grupoYesslug do grupo/DM, nome exato, OU jid
msgIdYesid da mensagem alvo (de ler_mensagens)
fromMeNooverride raro: true se a msg alvo é do coletor
participantNooverride raro: jid do autor da msg

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does disclose meaningful behavior: an empty emoji string destructively removes the reaction, and the tool auto-resolves the full message key (author/fromMe) from history. It does not cover failure modes (unknown msgId, group not found) or whether a new reaction replaces a prior one by the same sender.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action, then the usage rule, then the removal edge case, then the key-resolution note — every sentence earns its place. It is dense with parenthetical asides ('(👍, ❤️, 😂...)', '(autor/fromMe)') and Portuguese-specific jargon like 'key completa', which costs a bit of scannability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 5-parameter mutation tool with no annotations and no output schema, the description covers the essentials: what it does, when to prefer it, how to remove, where the id comes from, and that the key is auto-resolved. Only the return/confirmation behavior and error conditions are left implicit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description adds genuine meaning beyond the schema by explaining where msgId originates and by framing participant/fromMe as rare overrides that the tool usually resolves itself, which steers the agent away from setting them. It does not explain the accepted emoji format beyond the removal case, but the schema already covers that.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Reage com um emoji a uma mensagem') with concrete emoji examples, and immediately distinguishes it from the reply-based sibling behavior ('prefira isso a um balão de ok!'). It also flags the inverse operation (empty emoji removes the reaction), so an agent knows the tool covers add and remove.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit selection rule: when the human response would just be a reaction, use this instead of a reply bubble. It also routes the agent upstream for the target identifier ('O msgId vem do ler_mensagens') and states that participant/fromMe are rare manual overrides rather than normal inputs.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.