Skip to main content
Glama

send_message

Send a Messenger message to a Facebook user or page using a numeric ID, username, or profile URL; requires a logged-in browser session.

Instructions

Send a Messenger message to a user or page. 'recipient' accepts a numeric uid, a username/vanity, or a profile URL. Requires a logged-in browser (FB_TRANSPORT_MODE=auto or cdp). Optional account name selecting the credential set under ~/.facebook-mcp/accounts//. Defaults to the configured account.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
textYes
accountNo
recipientYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
okYesWhether the message was sent
errorNoError message when ok=False
thread_idNoMessenger thread id
message_idNoSent message id

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.6/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 full behavioral burden. It usefully discloses the auth/transport prerequisite and where account credentials live, which is real context the schema cannot express. But for a mutation (message-send) tool it omits delivery semantics — immediacy, failure modes, rate limits, or irreversibility — leaving the behavioral picture incomplete.

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 recipient syntax, then prerequisites and account default — a logical ordering with little waste. It is slightly verbose (three clauses on transport/account paths) but each clause conveys usable information.

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?

An output schema exists, so return values need not be described, and the description covers prerequisites, recipient formats, and account selection for a 3-parameter tool. The remaining gap is mutation-side behavior (rate limits, failure handling), which keeps it short of fully complete.

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 description coverage is 0%, so the description must compensate and largely does: it explains that 'recipient' accepts a numeric uid, username/vanity, or profile URL, and that 'account' selects a credential set under ~/.facebook-mcp/accounts/<account>/ and defaults to the configured account. Only 'text' is left undocumented, but its meaning is self-evident.

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 opens with a concrete verb+resource ('Send a Messenger message to a user or page'), leaving no ambiguity about the operation. It does not reference any sibling tool, but the action is inherently distinct from the read-only siblings (search_people, get_user_recent_posts), so differentiation is implicit rather than stated.

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 description gives prerequisites ('Requires a logged-in browser (FB_TRANSPORT_MODE=auto or cdp)') which effectively tells the agent when the tool can be invoked. However, it never states when to prefer this over alternatives, nor any exclusions (e.g., unsolicited/spam messaging limits or rate limits). Usage is only implied by the tool's obvious purpose.

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