Just Facebook MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FACEBOOK_PAGE_ID | Yes | Your Facebook Page ID | |
| FACEBOOK_ACCESS_TOKEN | Yes | Your Facebook Page access token |
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": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| post_to_facebookA | Create a new Facebook Page post with a text message. Input: message (str) Output: dict with post ID and creation status |
| reply_to_commentC | Reply to a specific comment on a Facebook post. Input: post_id (str), comment_id (str), message (str) Output: dict with reply creation status |
| get_page_postsB | Fetch the most recent posts on the Page. Input: None Output: dict with list of post objects and metadata |
| get_post_commentsC | Retrieve all comments for a given post. Input: post_id (str) Output: dict with comment objects |
| delete_postB | Delete a specific post from the Facebook Page. Input: post_id (str) Output: dict with deletion result |
| delete_commentC | Delete a specific comment from the Page. Input: comment_id (str) Output: dict with deletion result |
| delete_comment_from_postC | Alias to delete a comment on a post. Input: post_id (str), comment_id (str) Output: dict with deletion result |
| filter_negative_commentsC | Filter comments for basic negative sentiment. Input: comments (dict) Output: list of flagged negative comments |
| get_number_of_commentsB | Count the number of comments on a given post. Input: post_id (str) Output: integer count of comments |
| get_number_of_likesB | Return the number of likes on a post. Input: post_id (str) Output: integer count of likes |
| get_post_insightsB | Fetch all insights metrics (impressions, reactions, clicks, etc). Input: post_id (str) Output: dict with multiple metrics and their values |
| get_post_impressionsB | Fetch total impressions of a post. Input: post_id (str) Output: dict with total impression count |
| get_post_impressions_uniqueC | Fetch unique impressions of a post. Input: post_id (str) Output: dict with unique impression count |
| get_post_impressions_paidC | Fetch paid impressions of a post. Input: post_id (str) Output: dict with paid impression count |
| get_post_impressions_organicB | Fetch organic impressions of a post. Input: post_id (str) Output: dict with organic impression count |
| get_post_engaged_usersC | Fetch number of engaged users. Input: post_id (str) Output: dict with engagement count |
| get_post_clicksC | Fetch number of post clicks. Input: post_id (str) Output: dict with click count |
| get_post_reactions_like_totalB | Fetch number of 'Like' reactions. Input: post_id (str) Output: dict with like count |
| get_post_reactions_love_totalC | Fetch number of 'Love' reactions. Input: post_id (str) Output: dict with love count |
| get_post_reactions_wow_totalC | Fetch number of 'Wow' reactions. Input: post_id (str) Output: dict with wow count |
| get_post_reactions_haha_totalB | Fetch number of 'Haha' reactions. Input: post_id (str) Output: dict with haha count |
| get_post_reactions_sorry_totalC | Fetch number of 'Sorry' reactions. Input: post_id (str) Output: dict with sorry count |
| get_post_reactions_anger_totalB | Fetch number of 'Anger' reactions. Input: post_id (str) Output: dict with anger count |
| get_post_top_commentersB | Get the top commenters on a post. Input: post_id (str) Output: list of user IDs with comment counts |
| post_image_to_facebookC | Post an image with a caption to the Facebook page. Input: image_url (str), caption (str) Output: dict of post result |
| send_dm_to_userC | Send a direct message to a user. Input: user_id (str), message (str) Output: dict of result from Messenger API |
| update_postC | Updates an existing post's message. Input: post_id (str), new_message (str) Output: dict of update result |
| schedule_postB | Schedule a new post for future publishing. Input: message (str), publish_time (Unix timestamp) Output: dict with scheduled post info |
| get_page_fan_countB | Get the Page's total fan/like count. Input: None Output: integer fan count |
| get_post_share_countB | Get the number of shares for a post. Input: post_id (str) Output: integer share count |
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 30 tools
Most tools have distinct purposes, but there is notable overlap between delete_comment and delete_comment_from_post, which could cause confusion. Additionally, many get_post_* tools for reactions and impressions have similar structures but target different metrics, which might lead to misselection if the agent doesn't carefully read descriptions.
The naming follows a consistent verb_noun pattern (e.g., delete_comment, get_post_comments, post_to_facebook) with only minor deviations like filter_negative_comments (which uses a verb-adjective-noun structure) and send_dm_to_user (which includes an abbreviation). Overall, it's highly readable and predictable.
With 30 tools, the count feels heavy for a Facebook Page management server, especially given the redundancy in some areas (e.g., multiple reaction-specific tools). While it covers many features, it could be streamlined without losing functionality, making it borderline excessive for typical agent use.
The tool set provides comprehensive coverage for Facebook Page management, including CRUD operations for posts and comments, engagement metrics (likes, reactions, impressions), scheduling, messaging, and sentiment analysis. There are no obvious gaps, and agents can handle full workflows from posting to analytics.