Skip to main content
Glama
IvanBBaev

facebook-mcp

by IvanBBaev

Update Post

facebook_update_post
DestructiveIdempotent

Manage Facebook Page posts the app created: edit message, hide/pin, publish drafts or scheduled posts immediately, or move the publish time. Dry-run previews by default; apply writes only when confirmed.

Instructions

Edit a Page post the app itself created, or move it through the scheduled-post lifecycle. action:"edit" changes message/is_hidden/is_pinned; "publish_now" publishes a draft or scheduled post immediately; "reschedule" moves the publish time; "cancel_schedule" is not a Graph transition and is answered with the delete path to use instead. Dry run by default; an edit OVERWRITES the previous text, which Graph does not keep.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
applyNoSet true to actually perform the write. Omitted or false ⇒ the server decides from its configured write mode: usually a dry run that returns a plan preview and changes nothing, but a server (or package) configured apply-first performs the write. To be certain nothing happens, read the result: a dry run always reports the plan and says the write was NOT performed.
actionYesedit ⇒ change content (needs at least one of message, is_hidden, is_pinned). publish_now ⇒ publish a draft/scheduled post immediately, no other fields. reschedule ⇒ move the publish time, needs scheduled_publish_time and no content fields. cancel_schedule ⇒ NOT supported by Graph; the call explains that removing a scheduled post means deleting it with facebook_delete_post.
messageNoReplacement post text (action:"edit" only). This REPLACES the old text; the previous version is not recoverable through the API.
plan_idNoThe `planId` returned by a preceding dry-run preview of this same tool. Required for irreversible and spend-tier writes; plans expire a few minutes after they are created.
post_idYesThe post ID, normally "{page-id}_{post-id}". Only posts this same app created can be edited or deleted — a post made in the Facebook UI or by another app is not addressable here.
profileNoPage profile key (e.g. "brand-a") or a raw Page ID. Omitted ⇒ the default Page (FB_PAGE_ID).
is_hiddenNoaction:"edit" only. true ⇒ hide the post from the Page timeline without deleting it.
is_pinnedNoaction:"edit" only. true ⇒ pin the post to the top of the Page.
page_timezoneNoIANA timezone name of the Page (e.g. "Europe/Sofia"), used only to echo a scheduled instant in Page-local time next to UTC. Omitted ⇒ the server reads the Page's own timezone; if that read fails the echo is UTC-only.
scheduled_publish_timeNoaction:"reschedule" only. ISO-8601 WITH an explicit offset. Must be more than 10 minutes and at most 75 days ahead, and at most 29 days after the post was originally created.
Install Server

TDQS

A5/5.0
Behavior5/5

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

Beyond the annotations (destructiveHint, idempotentHint), the description discloses critical behavior: dry run by default, irreversible text overwrite, the need for a plan_id on irreversible writes, plan expiry, and time-window constraints on rescheduling. This is substantial behavioral context that the annotations alone do not provide.

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?

The description is dense but every sentence earns its place: purpose first, then action-by-action rules, then safety-critical caveats. It packs a lot of necessary detail for a four-mode mutation tool without fluff or repetition of the schema.

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

Completeness5/5

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

For a 10-parameter tool with no output schema, the description covers all essential operational context: dry-run behavior, write activation, plan requirements, timezone fallback, edit irreversibility, and the unsupported cancel path. An agent has enough to select the right action and pass correct parameters.

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

Parameters5/5

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

Even with 100% schema coverage, the description adds real semantic value: message replacement is irreversible, plan_id is required for irreversible/spend-tier writes, page_timezone is only for echoing local time, and cancel_schedule is answered with a delete-path explanation. These details materially change how an agent should use the parameters.

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

Purpose5/5

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

The description opens with a specific verb and resource: 'Edit a Page post the app itself created, or move it through the scheduled-post lifecycle.' It enumerates the four action modes and explicitly distinguishes cancel_schedule from the others by noting it is not a Graph transition, which separates this tool from its siblings.

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

Usage Guidelines5/5

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

Usage conditions are stated per action: 'edit' requires content fields, 'publish_now' needs no other fields, 'reschedule' needs scheduled_publish_time, and 'cancel_schedule' is explicitly routed to facebook_delete_post instead. It also warns that only posts the same app created are addressable, giving clear when-to-use and when-not-to-use guidance.

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

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/IvanBBaev/facebook-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server