Skip to main content
Glama
hoangvantuan

Facebook MCP Server

by hoangvantuan

Facebook MCP Server

This project is a MCP server for automating and managing interactions on a Facebook Page using the Facebook Graph API. It exposes tools to create posts, moderate comments, fetch post insights, and filter negative feedback β€” ready to plug into Claude, or other LLM-based agents.

Trust Score


πŸ€– What Is This?

This MCP provides a suite of AI-callable tools that connect directly to a Facebook Page, abstracting common API operations as LLM-friendly functions.

βœ… Benefits

  • Empowers social media managers to automate moderation and analytics.

  • Seamlessly integrates with Claude Desktop or any Agent client.

  • Enables fine-grained control over Facebook content from natural language.


Related MCP server: Just Facebook MCP Server

πŸ“¦ Features

Tool

Description

post_to_facebook

Create a new Facebook post with a message.

reply_to_comment

Reply to a specific comment on a post.

get_page_posts

Retrieve recent posts from the Page.

get_post_comments

Fetch comments on a given post.

delete_post

Delete a specific post by ID.

delete_comment

Delete a specific comment by ID.

hide_comment

Hide a comment from public view.

unhide_comment

Unhide a previously hidden comment.

delete_comment_from_post

Alias for deleting a comment from a specific post.

filter_negative_comments

Filter out comments with negative sentiment keywords.

get_number_of_comments

Count the number of comments on a post.

get_number_of_likes

Count the number of likes on a post.

get_post_impressions

Get total impressions on a post.

get_post_impressions_unique

Get number of unique users who saw the post.

get_post_impressions_paid

Get number of paid impressions on the post.

get_post_impressions_organic

Get number of organic impressions on the post.

get_post_engaged_users

Get number of users who engaged with the post.

get_post_clicks

Get number of clicks on the post.

get_post_reactions_like_total

Get total number of 'Like' reactions.

get_post_top_commenters

Get the top commenters on a post.

post_image_to_facebook

Post an image with a caption to the Facebook page.

send_dm_to_user

Send a direct message to a user.

update_post

Updates an existing post's message.

schedule_post

Schedule a post for future publication.

get_page_fan_count

Retrieve the total number of Page fans.

get_post_share_count

Get the number of shares on a post.

get_post_reactions_breakdown

Get all reaction counts for a post in one call.

bulk_delete_comments

Delete multiple comments by ID.

bulk_hide_comments

Hide multiple comments by ID.

bulk_unhide_comments

Unhide multiple comments by ID.

get_comment_replies

Get all replies to a specific comment.

get_post_permalink

Get the permalink URL of a post.

get_scheduled_posts

List all scheduled (unpublished) posts on the Page.

get_page_info

Get extended Page details (name, about, category, website).


This fork runs the server over HTTP (streamable-http) in Docker, designed for LAN/Tailscale access. Unlike upstream, the server holds no credentials β€” each client sends its Facebook access token + page id per request via HTTP headers. Original stdio project: hagaihen/facebook-mcp-server.

πŸš€ Deploy with Docker Compose

git clone git@github.com:hoangvantuan/fb_page_mcp.git
cd fb_page_mcp
docker compose up -d --build

Service fb-mcp listens on the endpoint http://<host>:9000/mcp (container 0.0.0.0:8000, published as 9000:8000, stateless, restart: unless-stopped, healthcheck included).

docker compose logs -f      # xem log
docker compose ps           # trαΊ‘ng thΓ‘i (Up healthy)
docker compose down         # dα»«ng

Architecture β€” credentials from the client

The server keeps no secret. facebook_api.py reads credentials from the current request's headers (via the MCP SDK request_ctx), so every client uses its own Page:

Header

Meaning

X-Facebook-Access-Token

Facebook Page access token

X-Facebook-Page-Id

Facebook Page ID

Missing either header β†’ the tool returns a clear Missing credentials error (no empty API call). run_http.py disables the SDK's DNS-rebinding protection so non-localhost Hosts (LAN/Tailscale IP) are accepted.

🧩 Connect from Claude Code

# host has exported FACEBOOK_ACCESS_TOKEN + FACEBOOK_PAGE_ID; single quotes keep
# the secret out of the config file (Claude Code resolves ${VAR} at runtime)
claude mcp add --transport http fb-mcp http://<HOST-OR-TAILSCALE-IP>:9000/mcp \
  --header 'X-Facebook-Access-Token: ${FACEBOOK_ACCESS_TOKEN}' \
  --header 'X-Facebook-Page-Id: ${FACEBOOK_PAGE_ID}'

Verify: claude mcp list shows fb-mcp connected β†’ call get_page_info.

Getting the credentials

Get a Page Access Token (not a User token) + Page ID from https://developers.facebook.com/tools/explorer (choose Get Page Access Token), granting pages_show_list, pages_read_engagement, pages_manage_posts, pages_manage_engagement, read_insights, and pages_messaging. GET /me?fields=id with the Page token returns the Page ID.

⚠️ Security note

No application-level auth. Anyone who can reach port 9000 and holds a valid token can call every tool. Use only on a trusted LAN/tailnet. To tighten: bind ports to a single host IP ("192.168.x.x:9000:8000"), firewall the port, or add a reverse proxy checking a bearer token.


🀝 Contributing

Contributions, issues, and feature requests are welcome!
Feel free to fork the repo and submit a pull request.

  • Create a branch: git checkout -b feature/YourFeature

  • Commit your changes: git commit -m 'feat: add new feature'

  • Push to the branch: git push origin feature/YourFeature

  • Open a pull request πŸŽ‰

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

–Maintainers
–Response time
–Release cycle
–Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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/hoangvantuan/fb_page_mcp'

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