Facebook MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FACEBOOK_APP_ID | No | Your Meta app ID. Used during login to exchange the short-lived token for permanent Page tokens. Found under Settings > Basic in your Meta developer app. | |
| FACEBOOK_AUDIT_LOG | No | File path for an audit log. Every write attempt is appended to this file, and the MCP server cannot read or edit it. | |
| FACEBOOK_APP_SECRET | No | Your Meta app secret. Used together with FACEBOOK_APP_ID during login to make Page tokens never expire. | |
| FACEBOOK_ALLOW_WRITE | No | Set to 'true' to enable posting, editing, replying, and other write operations. Without this the server is read-only and refuses any write attempt. | false |
| FACEBOOK_ALLOW_DELETE | No | Set to 'true' to enable destructive delete operations. Requires FACEBOOK_ALLOW_WRITE=true as well. | false |
| FACEBOOK_PREFERRED_PAGES | No | Comma-separated list of Page names to set the default order when multiple Pages are administered. Exact name matches beat prefix matches. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_pagesA | List every Facebook Page this server can act as, with its id and name. Call this first when you have more than one, so you can name the right Page on later calls. |
| get_pageA | Profile details for a Page: name, category, follower count, about text, website and whether it is published. |
| create_postA | Publish a text post, optionally with a link. Leave publish_at empty and draft false to post immediately. Set draft to keep it unpublished, or publish_at to schedule it. |
| create_photo_postA | Publish a photo from a public URL, with an optional caption. Same scheduling and draft options as a text post. |
| list_postsA | Published posts on a Page, newest first, with their reaction, comment and share counts. |
| list_scheduled_postsB | Posts that have not gone out yet: both scheduled ones and saved drafts, with the time each is due. |
| publish_draftA | Take a draft or scheduled post and publish it immediately. |
| update_postA | Change the text of a published post. Facebook shows an edit history to viewers. |
| delete_postA | Permanently delete a post. This cannot be undone, and is refused unless deletion is explicitly enabled. |
| list_commentsA | Comments on a post, with who wrote each one and when. Use this before replying or moderating. |
| reply_to_commentA | Post a public reply under a comment, as the Page. |
| hide_commentA | Hide a comment from everyone except its author and their friends. Reversible, and the usual answer for spam or abuse. Prefer this to deleting. |
| delete_commentA | Permanently delete a comment. Cannot be undone, and refused unless deletion is explicitly enabled. Hiding is usually the better answer. |
| get_page_insightsA | How the Page itself is doing over a date range: impressions, reach, engaged users and follower change. |
| get_post_insightsA | How one post did: impressions, reach, clicks and reactions. Post metrics are named differently from Page metrics, which is why this is a separate tool. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 15 tools
Each tool targets a distinct resource/action combination: pages, posts, scheduled posts, comments, and insights are cleanly separated. Paired tools like create_post/create_photo_post and hide_comment/delete_comment are clearly differentiated by type and behavior.
All tools use consistent snake_case verb_noun conventions such as list_*, get_*, create_*, delete_*, update_*, and publish_*, making the action and object predictable. Minor variations like reply_to_comment are still clearly understandable.
15 tools sit at the upper end of the ideal range, but each maps to a meaningful Facebook Pages operation. The count covers page management, post lifecycle, comments, and insights without redundant utilities.
The set covers the main Page post lifecycle (create, schedule, list, update, delete) plus comments and insights. Minor gaps exist, such as no top-level comment-on-post tool and no way to reverse a hidden comment, but core workflows remain workable.