Skip to main content
Glama
inyogeshwar

Meta Social Technologies MCP Server

by inyogeshwar

react_to_message

React to or remove an emoji reaction from a specific Instagram Direct Message using message and recipient IDs, enabling targeted DM engagement.

Instructions

React to a specific Instagram Direct Message with an emoji (e.g. double-tap heart "❤️", "👍", "🔥", etc.) or unreact.

Input Schema

NameRequiredDescriptionDefault
actionNoAction to perform: "react" (default) or "unreact".
reactionNoEmoji to react with (default: "❤️" for double-tap heart). Leave empty or pass action="unreact" to remove reaction.
message_idYesUnique Message ID (mid) of the message to react to.
recipient_idYesInstagram Scoped User ID (IGSID) of the chatter.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the disclosure burden. It does add platform-specific context — that the default reaction is the double-tap heart ❤️ — and distinguishes the additive vs. removal operation, but it omits what happens on repeated reactions (replace vs. stack), permission/scope requirements, and error behavior.

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?

A single front-loaded sentence that names the action, target, and the unreact variant with no procedural filler. The parenthetical emoji examples are slightly noisy but illustrate expected input format.

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

Completeness3/5

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

For a 4-parameter mutation tool with no annotations and no output schema, the definition covers the core operation but leaves gaps: no statement of the return value or confirmation shape, no mention of permission scope, and no note on whether an existing reaction is overwritten when react is called twice.

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 description coverage is 100%, including an enum on action and defaults documented on reaction, so the schema already does the semantic heavy lifting. The description only echoes the emoji examples and the react/unreact duality without adding format or constraint detail beyond the schema, which is the baseline-3 case.

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?

States a specific verb (react/unreact) on a specific resource (a specific Instagram Direct Message) with an emoji, which is unambiguous. No sibling tool performs reactions, so the operation is distinguishable, but the description never explicitly contrasts itself with send_instagram_dm or reply-style tools.

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

Usage Guidelines3/5

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

The phrase 'or unreact' implies the two modes and the schema exposes action=react|unreact, so the intended usage is inferable. However, there is no explicit guidance on when to react versus send a DM, and no statement of prerequisites (e.g. message must exist in the thread, required permissions).

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