Skip to main content
Glama

Facebook / Messenger: Update chat

facebook_update_chat
Destructive

Update requested Facebook chat name, picture, read/archive or mute state. Pins and labels are unavailable. External action: preserve explicit user approval. Never retry after an uncertain failure; inspect current state first.

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": {
      "chat_id": "<chat_id>"
    },
    "name": "facebook_update_chat"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameNo
chat_idYesExact chat.id from facebook_list_inbox_chats. Preserve PAGE_<page_id>_<thread> for Page replies; never strip the Page prefix or substitute a user ID.
pictureNo
account_idNoOwned Facebook unipile_account_id from list_connected_accounts. Not a Facebook person or Page ID. Required when several Facebook accounts exist.
muted_untilNo
read_statusNo
archive_statusNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, idempotentHint=false and openWorldHint=true; the description adds non-obvious context on top: unsupported fields (pins/labels), that this is an external action requiring explicit user approval, and a concrete retry policy ('Never retry after an uncertain failure; inspect current state first'). It does not say what is irreversibly lost or how approval is expressed, which keeps it from a 5.

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?

Three short sentences, front-loaded with the capability and its exclusions before the operational warnings. 'External action: preserve explicit user approval' is compressed to the point of being cryptic about who approves and how, costing a bit of clarity.

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 destructive, non-idempotent, open-world mutation with a nested object parameter, no output schema, and 29% schema coverage, the description covers safety behavior but leaves parameter meaning thin—particularly the boolean-or-timestamp mute semantics. Adequate to call it safely, not adequate to call it correctly on first try.

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

Parameters2/5

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

Schema description coverage is only 29% across 7 parameters, so the description must compensate and largely does not. It never explains the ambiguous muted_until union (boolean vs. date-time), read_status/archive_status booleans, or the picture object's content/content_type/filename contract. 'read/archive or mute state' merely echoes parameter names already visible in the schema.

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 (Update) plus the resource (Facebook chat) and enumerates exactly which attributes can change: name, picture, read/archive, mute. The exclusion 'Pins and labels are unavailable' draws a useful boundary. It stops short of naming an alternative sibling (e.g. chat_update or messaging_set_chat_state), so an agent must infer routing from the facebook_ prefix.

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?

Usage is implied by 'Update requested Facebook chat ... state', and 'inspect current state first' tells the agent to read before writing, which is real procedural guidance. However, it never says when to prefer this tool over siblings like chat_update or messaging_set_chat_state, nor any account/permission prerequisites for choosing it.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.