Skip to main content
Glama
IvanBBaev

facebook-mcp

by IvanBBaev

Create Post

facebook_create_post

Create and publish Facebook Page posts as text, links, photo carousels, or link carousels. Supports instant publishing, drafting, or scheduling; dry-run previews before applying changes.

Instructions

Create a Page post: plain text, a link, a multi-link card carousel, or a multi-photo carousel. Publishes now, keeps it as a draft (published:false), or schedules it (scheduled_publish_time). Dry run by default — repeat the call with apply:true to actually publish.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
linkNoA URL to attach. Facebook renders its own preview from the URL's Open Graph tags — the title/image cannot be overridden here. Cannot be combined with photos.
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.
photosNoPhoto sources for a photo post: each is an https:// URL Meta fetches itself, or a local file path inside FB_MEDIA_DIR. Uploaded sequentially as UNPUBLISHED children, then attached to one feed post. Cannot be combined with link or child_attachments.
messageNoThe post text (up to 63206 characters). Unicode and emoji pass through byte-for-byte; no escaping is applied. At least one of message, link or photos is required.
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.
profileNoPage profile key (e.g. "brand-a") or a raw Page ID. Omitted ⇒ the default Page (FB_PAGE_ID).
publishedNofalse ⇒ create the post UNPUBLISHED (a draft that stays invisible until facebook_update_post action:"publish_now"). Omitted or true ⇒ publish immediately. Must be omitted when scheduled_publish_time is set.
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.
child_attachmentsNoCards of a multi-LINK carousel (a different post type from photos): between 2 and 5 entries, and the parent `link` must be set as well.
scheduled_publish_timeNoWhen to publish, as an ISO-8601 instant WITH an explicit offset — "2026-08-01T09:30:00+03:00" or "2026-08-01T06:30:00Z". A bare local time ("2026-08-01T09:30:00") and a raw epoch number are both REFUSED, because they have no unambiguous meaning. Must be more than 10 minutes and at most 75 days ahead. Setting this creates the post unpublished; do NOT also pass published:true.
Install Server

TDQS

A4/5.0
Behavior5/5

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

Beyond the annotations, which only say readOnlyHint is false, the description discloses the dry-run-by-default behavior, the need to repeat with apply:true to actually publish, and the three publishing modes (immediate, draft via published:false, scheduled). This is critical non-obvious behavioral context that an agent could not infer from the annotations alone.

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 only three sentences with no filler: post types are front-loaded, then publish modes, then the dry-run/apply caveat. Every sentence carries decision-relevant information and the structure makes the most important behavioral detail prominent.

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 10-parameter tool, the description covers the high-level post types, scheduling/draft behavior, and the critical dry-run default. It does not describe the success response shape, and it slightly oversimplifies the apply flag's server-configuration dependency, but the very detailed input schema fills most of those gaps.

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% and every paramter already carries detailed documentation, so the baseline is 3. The description adds a useful high-level mapping of post types to parameter combinations, but it does not add meaningful per-parameter semantics beyond what the input schema already provides.

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 names a specific resource and operation — 'Create a Page post' — and enumerates the supported post types (plain text, link, multi-link carousel, multi-photo carousel), so the tool's scope is clear. However, it does not explicitly distinguish itself from sibling tools like facebook_create_photo_post, leaving some overlap to be inferred.

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 implies when to use the tool by listing its supported content types and publish modes, but it never explicitly states when-not-to-use it or points to an alternative such as video or reel creation. Sibling names provide context, but the description itself does not offer explicit routing 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