Facebook Pages MCP

Facebook Pages MCP Server

The organic side of Facebook, from an AI client: publishing and scheduling Page posts, moderating comments, reading Page insights and running many client Pages — and why it is a separate connection from Meta Ads.

A Facebook Pages MCP server connects Claude, ChatGPT, Cursor or any MCP client to the Pages API — the organic side of Facebook, as opposed to Meta Ads. The assistant can publish a text, link, photo, multi-photo or video post, schedule one for later, edit or delete it, pin it, read the Page feed with reactions and comments, reply to or hide a comment, read Page insights, and manage the Page’s roles, CTA button and details. MCP Ads carries more than 40 Page tools inside its Meta tool set, and it runs them across every Page every connected Facebook login can reach, which is what agencies with a portfolio of client Pages actually need. The part most pages like this leave out comes further down: which of these Meta has approved for customers today, and which are still in Meta’s App Review.

What a call looks like

These are real tool names from the live server, with the shape of what they return.

YouWhich of my Pages is the Tel Aviv clinic one?
Toolmeta_ads_find_page
{
  "pages": [
    { "id": "104512345678903", "name": "Smile Dental - Tel Aviv", "category": "Dentist & Dental Office", "login": "agency@..." }
  ],
  "searched": 37
}
YouSchedule a four-photo post of the new menu for Friday at 9am.
Toolmeta_ads_create_page_post
{
  "id": "104512345678903_122145678901234567",
  "scheduled": true,
  "scheduled_publish_time": 1759471200,
  "photos": 4
}
YouShow me comments on the last post, and hide the spam ones.
Toolmeta_ads_post_comments
{
  "data": [
    { "id": "122145678901234567_987654321", "from": { "name": "Dana K." }, "message": "Are you open on Saturdays?", "created_time": "2026-09-24T08:12:44+0000" },
    { "id": "122145678901234567_987654322", "from": { "name": "Crypto Wins" }, "message": "DM me to double your money", "created_time": "2026-09-24T09:01:03+0000" }
  ]
}
YouTurn Tuesday’s post into an ad in the "Local - Retargeting" ad set.
Toolmeta_ads_boost_existing_post
{
  "creative_id": "120215678901234567",
  "ad_id": "120215678901234890",
  "object_story_id": "104512345678903_122145678901234567",
  "status": "PAUSED"
}

Pages are not Meta Ads, and that matters for setup

Meta treats Page publishing and ads as different products with different permissions, and MCP Ads keeps them as two connections on purpose. The Meta Ads connection carries ads permissions: it can list the Pages an ad can run from and boost a post, but it cannot publish to a feed. Page work needs the Facebook & Instagram pages connection, which asks for the Page permissions. The split is not tidiness: Meta refuses an entire login dialog if any permission in it is unapproved, so bundling Page publishing into the ads login would take ads down with it whenever Page permissions were in review. If you connected Meta Ads and the assistant says it cannot post, this is why — connect Pages separately.

What the Page tools cover

These are the real tool names in the Meta tool reference. Every Page tool finds the right Page token from your connected Facebook logins, so you pass a page_id and never a token.

  • Finding Pages — meta_ads_pages, meta_ads_find_page (by name or id, across every connected login), meta_ads_business_pages (every Page in a Business Manager)
  • Publishing — meta_ads_create_page_post (text, link, one photo, 2 to 10 photos as one post, or a video from a public URL; published now or scheduled with a Unix timestamp), meta_ads_update_page_post, meta_ads_delete_page_post, meta_ads_page_scheduled_posts, meta_ads_pin_post, meta_ads_bulk_create_page_post
  • Reading the Page — meta_ads_page_feed, meta_ads_page_post, meta_ads_page_post_reactions, meta_ads_page_photos, meta_ads_page_videos, meta_ads_page_albums, meta_ads_page_photo_album, meta_ads_page_stories, meta_ads_page_events, meta_ads_page_reviews, meta_ads_page_mentions
  • Comments and inbox — meta_ads_post_comments, meta_ads_reply_to_comment, meta_ads_hide_comment, meta_ads_delete_comment, meta_ads_page_conversations, meta_ads_conversation_messages, meta_ads_reply_to_page_message (the inbox tools also need Meta’s pages_messaging permission)
  • Insights — meta_ads_page_insights and meta_ads_page_insights_extended for reach, engagement, followers and views
  • Page administration — meta_ads_page_info, meta_ads_update_page_info, meta_ads_set_page_cta, meta_ads_page_roles, meta_ads_add_page_role, meta_ads_remove_page_role, meta_ads_block_page_user, meta_ads_unblock_page_user, meta_ads_set_page_publish_status, meta_ads_create_page_event, meta_ads_create_page_photo_album
  • Live video — meta_ads_create_live_video returns a stream URL and key for OBS or ffmpeg; meta_ads_publish_live_video and meta_ads_end_live_video take it live and end it

Built for a portfolio of client Pages

Most Facebook MCP servers on GitHub are configured with one Page token. The Page tools here were written for agencies. Several Facebook logins can be connected at once — useful when some clients gave access to the agency Business Manager and others to a personal profile — and every Page from every login is searchable in one call. meta_ads_bulk_create_page_post publishes the same post to several Pages and reports each Page separately, so one client’s expired token or missing permission does not block the other nine. The same pattern exists for Instagram with meta_ads_bulk_create_instagram_post, which takes Page ids and posts to each Page’s linked Instagram account.

What Meta has approved today, stated plainly

Posting, comment moderation and Page insights need Page permissions that Meta grants only through App Review. At the time of writing, pages_manage_posts, pages_manage_engagement, pages_read_user_content, read_insights and pages_manage_metadata are still in Meta’s review for our app, and Meta honours unapproved permissions only for people who hold a role on that app. For a customer that means Meta will refuse publishing, comment replies and hides, reviews and mentions, Page insights and Page-detail edits until the review passes. What works for everyone today rests on permissions Meta has approved: listing your Pages (pages_show_list), reading Page engagement (pages_read_engagement), and everything that turns a Page post into an ad, such as meta_ads_boost_existing_post (pages_manage_ads with the ads permissions). We will update this page when that changes; until then, treat the publishing tools as coming rather than available, and use the free trial to check before you plan around them.

Safety defaults for organic posts

Organic posts do not spend money, but they are public the moment they publish, so the defaults lean the same careful way. Every write — a post, an edit, a delete, a hide, a role change — is its own tool that runs only when you ask, and a viewer-role user in your MCP Ads workspace cannot call any of them. Scheduling is explicit: meta_ads_create_page_post publishes immediately unless you ask for a time, in which case it creates an unpublished scheduled post you can list with meta_ads_page_scheduled_posts before it goes out. Hiding a comment is reversible and is the moderation step the assistant is steered towards; deleting is a separate tool you have to ask for. A boosted post is created in the ad set you name, and ads created by MCP Ads start paused.

Other Facebook Pages MCP servers

Meta’s own MCP server, the Meta-hosted Ads MCP at mcp.facebook.com/ads, manages paid ads and does not publish to Pages. For organic Pages there are several open-source servers on GitHub, including HagaiHen/facebook-mcp-server and lmtNoLimit/mcp-facebook, which post, moderate comments and read insights with a Page access token you generate from your own Meta developer app. If you run one or two Pages and already have an app with the Page permissions approved, a self-hosted server is free and does the job. MCP Ads is the better fit for many client Pages across several logins, for Pages worked alongside Meta Ads, Google Ads and GA4 in the same conversation, and for teams that need viewer and editor roles. It is $49/month flat after a 3-day free trial; see pricing and the quickstart.

Questions

I connected Meta Ads. Why can’t the assistant post to my Page?

Because Page publishing is a separate connection with separate permissions. Connect Facebook & Instagram pages in the dashboard as well. The organic publishing guide explains the split.

Can it post videos and photo sets?

Yes. meta_ads_create_page_post takes a single image, 2 to 10 images published together as one post, or a video from a public URL that Meta downloads itself. A link cannot be attached to a video or multi-photo post; put it in the text instead.

Can customers publish to their Pages today?

Not yet. Meta has not approved the Page publishing, engagement and insights permissions for our app, so Meta refuses those calls for customer accounts. Listing Pages and boosting posts as ads work now.

Can it reply to Page messages?

The inbox tools exist (meta_ads_page_conversations, meta_ads_reply_to_page_message), but they need Meta’s pages_messaging permission on the Page token, so treat them as unavailable unless your connection has it.

Does it work with Pages in Business Manager?

Yes. Tick the Pages on Meta’s consent screen when you connect; the server looks each ticked Page up directly, so Business Manager Pages appear even for a login without a personal role on them.

Related

Connect an account and try it

Add MCP Ads to Claude or ChatGPT with one URL, authorise an ad account in the browser, and ask it something.