Skip to main content
Glama

Facebook / Messenger: Remove friend

facebook_remove_friend
Destructive

Remove this resolved Facebook friend. 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": {
      "user_id": "<user_id>"
    },
    "name": "facebook_remove_friend"
  }
}

Input Schema

NameRequiredDescriptionDefault
user_idYesNumeric Facebook profile.id from facebook_get_profile, facebook_list_friends or facebook_list_contacts. Not a name, vanity URL, connection account_id or Page messaging ID.
account_idNoOwned Facebook unipile_account_id from list_connected_accounts. Not a Facebook person or Page ID. Required when several Facebook accounts exist.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.9/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 earns credit by adding policy the annotations cannot express: that this is an external action needing explicit user approval and that retries after ambiguous failures are prohibited—directly exploiting the non-idempotent, destructive profile.

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 with the action stated first and the safety directives following; every sentence carries operational content. No filler or repetition of schema detail.

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 two-parameter destructive social action with no output schema and full schema documentation, the description supplies the essential safety posture (approval, no-retry, inspect-first). It omits the post-action effect (relationship becomes non-friend and can be re-requested), which is a minor 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 100% and the user_id description already spells out the numeric format and exclusions (not a name, vanity URL, connection account_id, or Page messaging ID), plus the account_id disambiguation rule. The description adds only the word 'resolved,' implying prior resolution, so it neither needs to nor does compensate further.

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 and resource ('Remove this resolved Facebook friend') and the qualifier 'resolved' signals it acts on an already-resolved person, which separates it from request-level actions. It doesn't explicitly name the near-siblings it is not (facebook_unfollow_user, facebook_cancel_friend_request), so an agent must infer that distinction.

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?

Provides concrete operational conditions: requires explicit user approval and forbids retrying after an uncertain failure, instead directing the agent to inspect state first. It stops short of routing to an alternative tool (e.g., unfollow vs. remove), so it is clear context without full when/when-not coverage.

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.