Skip to main content
Glama

Bloquear promoções

aspa_block_promotions
DestructiveIdempotent

Turn 'Bloquear Promoções' on or off for a contact to block or allow promotional messages, only after explicit user approval.

Instructions

Turn 'Bloquear Promoções' on or off for a contact. This is a real action visible to the customer or the team. Only call it after the user explicitly approved this exact action in the conversation.

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": {
      "contact": "<contact>",
      "blocked": "<blocked>"
    },
    "name": "aspa_block_promotions"
  }
}

Input Schema

NameRequiredDescriptionDefault
indexNoIndex from aspa_list_conversations, only to tell apart contacts with the same name.
blockedYes
contactYesContact name exactly as listed. Required for every action that changes a conversation.
conversation_idNoconversation_id returned by aspa_read_conversation. When given, the action is refused if the open conversation is a different one.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.8.0

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, openWorldHint=true, idempotentHint=true and readOnlyHint=false, so the risk profile is known structurally. The description adds genuinely new context that the effect is externally visible to the customer or team and that explicit approval is required, but it never says what actually changes for the contact, whether the change is reversible, or what confirmation is returned.

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

Conciseness5/5

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

Three short sentences, each carrying distinct weight: the action, the consequence, and the approval gate. The approval constraint is stated last as a stop condition, which is the right emphasis for a destructive tool.

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 destructive, open-world toggle with no output schema, the definition covers the essential safety contract and side-effect visibility. It leaves the meaning of the 'blocked' flag and post-call confirmation implicit, which is a modest but real gap.

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

Parameters3/5

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

Schema coverage is 75%, so contact, index and conversation_id are already documented and the description needn't repeat them. The one genuinely undocumented parameter is 'blocked' — the boolean that determines block versus unblock — and the description never explains its semantics, which is exactly where prose would have added value.

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

Purpose4/5

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

The description names a concrete toggle ('Turn ... on or off') applied to a named target ('for a contact'), so an agent can tell it mutates a per-contact marketing setting rather than sending or editing a message. It leans on the product label 'Bloquear Promoções' instead of explaining what is actually suppressed, and it draws no boundary against the broader aspa_update sibling, so it falls short of a 5.

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

Usage Guidelines4/5

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

It gives a hard precondition — only invoke after the user has explicitly approved this exact action in the conversation — which is precisely the guidance needed for a risky toggle. It does not, however, say when to prefer this over aspa_update or what to do if the agent is unsure whether the contact is already blocked.

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