CAT
/MCP
SkillsMCPMarketplacesDigestToolsAdvertise

This week in Claude

Every Monday: Claude Code, Agent SDK, MCP, and the Anthropic platform moves worth your time.

Skills by Category
Frontend DevelopmentBackend & APIsTesting & QASecurityDevOps & CI/CDGit & Pull RequestsDocumentationCode Review & QualityAI & Agent BuildingSkill Development
MCP Servers by Category
Sales & MarketingWeb & Browser AutomationDatabasesAI & LLM ToolsCloud & InfrastructureCommunication & MessagingDeveloper ToolsDesign & CreativeDocuments & KnowledgeSearch & Web Crawling
Marketplaces by Category
AI Agents & OrchestrationLLM IntegrationDevelopment ToolsFrontend & UIBackend & APIsDatabasesTesting & Code QualityDevOps & CloudSecurity & ComplianceGit & Version Control

Cross AI Tools

Discover Claude Code plugins, extensions, and tools. Automatically updated directory of Anthropic Claude AI marketplaces with development tools, productivity plugins, and integrations.

Resources

  • Browse Skills
  • Browse MCP Servers
  • Browse Marketplaces
  • Plugins Reference

Community

  • About
  • Tools
  • Feedback
  • Privacy Policy
  • Advertise

Built for the Claude Code community with Claude Code by @mertduzgun

Independent project, not affiliated with Anthropic

Facebook Pages Mcp

lanternrow/facebook-pages-mcp
28 toolsauthSTDIOregistry active
Summary

Connects to Facebook Pages via Meta Graph API v25.0 for organic analytics and content management. Exposes page info, post publishing, comment threads, video metrics, and insights with date range filtering. Built specifically to avoid the June 2026 metric deprecations, so it uses page_views_total instead of the legacy page_impressions family. Handles both personal and Business Manager page tokens, includes long-lived token exchange helpers, and supports cursor-based pagination across all list endpoints. Reach for this when you need Claude to pull engagement data, analyze post performance, or publish directly to pages you manage.

CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →

Tools

Public tool metadata for what this MCP can expose to an agent.

28 tools
fb_list_pagesList all Facebook Pages the user manages. Returns page ID, name, category, and access token for each page. Use this to find the page_id for other tools.1 params

List all Facebook Pages the user manages. Returns page ID, name, category, and access token for each page. Use this to find the page_id for other tools.

Parameters* required
_infostring
No parameters required. Uses the configured Page Access Token to list all managed pages.
fb_get_pageGet detailed information about a Facebook Page: name, category, followers, fan count, about, description, website, and more.2 params

Get detailed information about a Facebook Page: name, category, followers, fan count, about, description, website, and more.

Parameters* required
fieldsstring
Comma-separated fields to return (e.g. "name,category,fan_count,followers_count,about,website"). Default: all basic fields.
page_idstring
Facebook Page ID (numeric). Use fb_list_pages to find this.
fb_get_page_tokenGet the Page Access Token for a specific page. Useful when managing multiple pages — each page has its own token.1 params

Get the Page Access Token for a specific page. Useful when managing multiple pages — each page has its own token.

Parameters* required
page_idstring
Facebook Page ID to get the access token for
fb_list_postsList posts from a Facebook Page feed. Returns post ID, message, creation time, picture, and permalink. Supports pagination via limit parameter.3 params

List posts from a Facebook Page feed. Returns post ID, message, creation time, picture, and permalink. Supports pagination via limit parameter.

Parameters* required
limitnumber
Number of posts to return (default: 25, max: 100)
fieldsstring
Comma-separated fields (e.g. "id,message,created_time,shares,likes.summary(true)")
page_idstring
Facebook Page ID
fb_get_postGet details of a single Facebook post by ID. Returns message, creation time, picture, permalink, and engagement counts.2 params

Get details of a single Facebook post by ID. Returns message, creation time, picture, permalink, and engagement counts.

Parameters* required
fieldsstring
Comma-separated fields to return (e.g. "id,message,created_time,shares,likes.summary(true),comments.summary(true)")
post_idstring
Facebook Post ID (format: pageId_postId)
fb_create_postCreate a new post on a Facebook Page. Can include text message and/or link. Set published=false to create an unpublished (draft) post.4 params

Create a new post on a Facebook Page. Can include text message and/or link. Set published=false to create an unpublished (draft) post.

Parameters* required
linkstring
URL to attach to the post (creates link preview)
messagestring
Text content of the post
page_idstring
Facebook Page ID to post to
publishedboolean
Set to false to create an unpublished/draft post (default: true)
fb_update_postUpdate the text message of an existing Facebook post. Only the message field can be edited after creation.2 params

Update the text message of an existing Facebook post. Only the message field can be edited after creation.

Parameters* required
messagestring
New text content for the post
post_idstring
Facebook Post ID to update (format: pageId_postId)
fb_delete_postPermanently delete a Facebook post. This action cannot be undone.1 params

Permanently delete a Facebook post. This action cannot be undone.

Parameters* required
post_idstring
Facebook Post ID to delete (format: pageId_postId)
fb_schedule_postSchedule a post to be published at a future time. The scheduled_time must be between 10 minutes and 75 days from now (Unix timestamp in seconds).4 params

Schedule a post to be published at a future time. The scheduled_time must be between 10 minutes and 75 days from now (Unix timestamp in seconds).

Parameters* required
linkstring
Optional URL to attach to the post
messagestring
Text content of the scheduled post
page_idstring
Facebook Page ID
scheduled_timenumber
Unix timestamp (seconds) for when to publish. Must be 10min-75days from now.
fb_list_commentsList comments on a Facebook post or object. Returns comment ID, message, author, time, like count, and hidden status.2 params

List comments on a Facebook post or object. Returns comment ID, message, author, time, like count, and hidden status.

Parameters* required
limitnumber
Number of comments to return (default: 25)
object_idstring
Post ID or object ID to get comments from
fb_create_commentAdd a comment to a Facebook post. The page will be shown as the comment author.2 params

Add a comment to a Facebook post. The page will be shown as the comment author.

Parameters* required
messagestring
Comment text
object_idstring
Post ID to comment on
fb_reply_commentReply to an existing comment. Creates a threaded reply under the specified comment.2 params

Reply to an existing comment. Creates a threaded reply under the specified comment.

Parameters* required
messagestring
Reply text
comment_idstring
Comment ID to reply to
fb_delete_commentPermanently delete a comment. This action cannot be undone.1 params

Permanently delete a comment. This action cannot be undone.

Parameters* required
comment_idstring
Comment ID to delete
fb_hide_commentHide or unhide a comment. Hidden comments are only visible to the author and page admins. Useful for moderation.2 params

Hide or unhide a comment. Hidden comments are only visible to the author and page admins. Useful for moderation.

Parameters* required
is_hiddenboolean
true to hide, false to unhide
comment_idstring
Comment ID to hide/unhide
fb_upload_photoUpload a photo to a Facebook Page from a URL. Can include a caption. Set published=false for an unpublished photo (use in multi-photo posts).4 params

Upload a photo to a Facebook Page from a URL. Can include a caption. Set published=false for an unpublished photo (use in multi-photo posts).

Parameters* required
urlstring
Public URL of the photo to upload
captionstring
Caption text for the photo
page_idstring
Facebook Page ID
publishedboolean
Set to false for unpublished photo (default: true)
fb_list_photosList photos uploaded to a Facebook Page. Returns photo ID, name, link, creation time, and image URLs at various sizes.2 params

List photos uploaded to a Facebook Page. Returns photo ID, name, link, creation time, and image URLs at various sizes.

Parameters* required
limitnumber
Number of photos to return (default: 25)
page_idstring
Facebook Page ID
fb_delete_photoPermanently delete a photo from a Facebook Page.1 params

Permanently delete a photo from a Facebook Page.

Parameters* required
photo_idstring
Photo ID to delete
fb_upload_videoUpload a video to a Facebook Page from a URL. Supports title and description. For large videos (>1GB), use chunked upload via Facebook UI.4 params

Upload a video to a Facebook Page from a URL. Supports title and description. For large videos (>1GB), use chunked upload via Facebook UI.

Parameters* required
titlestring
Video title
page_idstring
Facebook Page ID
file_urlstring
Public URL of the video file to upload
descriptionstring
Video description
fb_list_videosList videos uploaded to a Facebook Page. Returns video ID, title, description, creation time, duration, and source URL.2 params

List videos uploaded to a Facebook Page. Returns video ID, title, description, creation time, duration, and source URL.

Parameters* required
limitnumber
Number of videos to return (default: 25)
page_idstring
Facebook Page ID
fb_delete_videoPermanently delete a video from a Facebook Page.1 params

Permanently delete a video from a Facebook Page.

Parameters* required
video_idstring
Video ID to delete
fb_get_page_insightsGet analytics metrics for a Facebook Page. Common metrics: page_impressions, page_engaged_users, page_post_engagements, page_fan_adds. Period: day, week, days_28.5 params

Get analytics metrics for a Facebook Page. Common metrics: page_impressions, page_engaged_users, page_post_engagements, page_fan_adds. Period: day, week, days_28.

Parameters* required
sincestring
Start date in YYYY-MM-DD format or Unix timestamp
untilstring
End date in YYYY-MM-DD format or Unix timestamp (max 90 days range)
metricstring
Comma-separated metrics (e.g. "page_impressions,page_engaged_users,page_post_engagements")
periodstring
Aggregation period: "day", "week", or "days_28" (default: day)
page_idstring
Facebook Page ID
fb_get_post_insightsGet analytics for a specific post. Common metrics: post_impressions, post_engaged_users, post_clicks, post_reactions_by_type_total.2 params

Get analytics for a specific post. Common metrics: post_impressions, post_engaged_users, post_clicks, post_reactions_by_type_total.

Parameters* required
metricstring
Comma-separated metrics (e.g. "post_impressions,post_engaged_users,post_clicks")
post_idstring
Facebook Post ID (format: pageId_postId)
fb_get_page_fansGet total fan (follower) count for a Facebook Page over time. Returns daily values showing the total page likes.1 params

Get total fan (follower) count for a Facebook Page over time. Returns daily values showing the total page likes.

Parameters* required
page_idstring
Facebook Page ID
fb_get_page_viewsGet page view count over time. Returns total number of times the Page profile was viewed.2 params

Get page view count over time. Returns total number of times the Page profile was viewed.

Parameters* required
periodstring
Aggregation period: "day", "week", or "days_28" (default: day)
page_idstring
Facebook Page ID
fb_list_conversationsList Messenger conversations for a Facebook Page. Returns conversation ID, last update time, snippet, message count, and participants.2 params

List Messenger conversations for a Facebook Page. Returns conversation ID, last update time, snippet, message count, and participants.

Parameters* required
limitnumber
Number of conversations to return (default: 25)
page_idstring
Facebook Page ID
fb_get_messagesGet messages from a specific Messenger conversation. Returns message ID, text, sender, and time.2 params

Get messages from a specific Messenger conversation. Returns message ID, text, sender, and time.

Parameters* required
limitnumber
Number of messages to return (default: 25)
conversation_idstring
Conversation ID from fb_list_conversations
fb_send_messageSend a text message via Messenger to a user. Requires the recipient PSID (Page-Scoped ID). Note: 24-hour messaging window applies — can only respond within 24h of the user's last message.3 params

Send a text message via Messenger to a user. Requires the recipient PSID (Page-Scoped ID). Note: 24-hour messaging window applies — can only respond within 24h of the user's last message.

Parameters* required
textstring
Message text to send (max 2000 characters)
page_idstring
Facebook Page ID
recipient_idstring
Recipient PSID (Page-Scoped User ID). Found in conversation participants.
fb_send_typingShow or hide the typing indicator in Messenger. Use before sending a message for a more natural conversation feel.3 params

Show or hide the typing indicator in Messenger. Use before sending a message for a more natural conversation feel.

Parameters* required
actionstring
Typing action: "typing_on", "typing_off", or "mark_seen" (default: typing_on)
page_idstring
Facebook Page ID
recipient_idstring
Recipient PSID (Page-Scoped User ID)

facebook-pages-mcp

npm version License: MIT

MCP server for Facebook Pages organic analytics and management, powered by Meta Graph API v25.0.

Built for Claude Code and any MCP-compatible AI tool. Gives your AI assistant direct access to your Facebook Page data — posts, insights, comments, and more.

Part of The SEO Engine toolkit by Lantern Row — AI-powered SEO and social media tooling for agencies and businesses.

Why this exists

  • No good Facebook Pages MCP server existed. Instagram has several. Facebook Pages had none that worked on a current API version.
  • Meta deprecated legacy metrics on June 15, 2026. page_impressions, page_reach, and page_impressions_unique no longer return data. This server uses the replacement metrics from day one.
  • Business Manager support. Most businesses manage Pages through Meta Business Manager, not personal accounts. This server works with both.

Quick start

Option 1: npx (no install)

{
  "mcpServers": {
    "facebook-pages": {
      "command": "npx",
      "args": ["-y", "facebook-pages-mcp"],
      "env": {
        "FB_PAGE_ACCESS_TOKEN": "your_page_access_token",
        "FB_PAGE_ID": "your_page_id"
      }
    }
  }
}

Option 2: Clone and build

git clone https://github.com/lanternrow/facebook-pages-mcp.git
cd facebook-pages-mcp
npm install
npm run build

Then add to your Claude Code MCP settings:

{
  "mcpServers": {
    "facebook-pages": {
      "command": "node",
      "args": ["/path/to/facebook-pages-mcp/dist/index.js"],
      "env": {
        "FB_PAGE_ACCESS_TOKEN": "your_page_access_token",
        "FB_PAGE_ID": "your_page_id"
      }
    }
  }
}

Getting your Page Access Token

Step 1: Create a Meta App

  1. Go to Meta for Developers and click Create App
  2. Name your app and choose the "Manage everything on your Page" use case
  3. Connect it to your Business Portfolio

Step 2: Generate a token in the Graph API Explorer

  1. Open the Graph API Explorer
  2. Select your app from the Meta App dropdown
  3. Add permissions: pages_show_list, pages_read_engagement, business_management
  4. Click Generate Access Token and complete the OAuth flow
  5. When asked about Pages, select "Opt in to all current and future Pages"

Step 3: Get your Page Access Token

If your Pages are managed through Business Manager (most businesses):

# First, find your business ID
GET /me/businesses?fields=id,name

# Then get Page tokens for that business
GET /{business-id}/owned_pages?fields=id,name,access_token

If your Pages are on your personal account:

GET /me/accounts?fields=id,name,access_token

Copy the access_token and id for the Page you want.

Step 4: Exchange for a long-lived token (recommended)

Short-lived tokens expire in ~1 hour. Exchange for a long-lived token (~60 days):

GET /oauth/access_token
  ?grant_type=fb_exchange_token
  &client_id={your-app-id}
  &client_secret={your-app-secret}
  &fb_exchange_token={short-lived-token}

Tip: For Pages you admin, Page tokens derived from a long-lived User Token never expire.

Tools

Read tools

ToolDescription
get_page_infoPage metadata: name, category, follower count, contact info, cover photo
get_page_insightsPage-level analytics with date ranges and period aggregation (day/week/28-day)
get_published_postsPaginated list of posts authored by the Page
get_post_insightsPer-post engagement: impressions, clicks, reactions by type
get_post_commentsPaginated comments with author info and like/reply counts
get_video_insightsVideo performance: views, watch time, reactions
get_page_feedFull feed including visitor posts

Write tools

ToolDescription
create_postPublish text, link, or photo posts to the Page

Utility tools

ToolDescription
refresh_token_infoCheck token validity, expiration, and granted scopes

Metrics and the June 2026 deprecation

Meta deprecated these page-level metrics on June 15, 2026:

DeprecatedReplacement
page_impressionspage_views_total
page_reachPage Viewer metric (rolling out)
page_impressions_uniqueMedia Viewers metric (rolling out)

This server uses only non-deprecated metrics: page_views_total, page_fans, page_fan_adds, page_fan_removes, page_actions_post_reactions_total.

Architecture

src/
  index.ts          # MCP server entry point, tool registration
  client.ts         # Graph API HTTP client (native fetch, no dependencies)
  types.ts          # TypeScript interfaces for API responses
  tools/
    pages.ts        # get_page_info, get_page_feed
    insights.ts     # get_page_insights, get_video_insights
    posts.ts        # get_published_posts, get_post_insights, get_post_comments, create_post
    utils.ts        # refresh_token_info
  • Zero external HTTP dependencies — uses Node 18+ native fetch
  • Rate limit tracking — captures x-app-usage and x-page-usage headers
  • Cursor-based pagination — all list endpoints support after cursor and configurable limits
  • Zod validation — all tool inputs validated with descriptive error messages

Environment variables

VariableRequiredDescription
FB_PAGE_ACCESS_TOKENYesLong-lived Page Access Token
FB_PAGE_IDYesDefault Facebook Page ID (numeric)

Development

npm run dev    # Watch mode — recompiles on save
npm run build  # Production build
npm start      # Run the server

Contributing

Issues and PRs welcome. If Meta changes the API (they will), please open an issue.

License

MIT — see LICENSE.


Built as part of The SEO Engine by Lantern Row.

Featured
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →

Configuration

FB_PAGE_ACCESS_TOKEN*secret

Long-lived Facebook Page Access Token

FB_PAGE_ID*

Default Facebook Page ID (numeric)

Categories
Monitoring & Observability
Registryactive
Packagefacebook-pages-mcp
TransportSTDIO
AuthRequired
UpdatedMay 25, 2026
View on GitHub

Related Monitoring & Observability MCP Servers

View all →
Mcp Observability

io.github.infoinlet-marketplace/mcp-observability

Observability for incident agents — query Loki (LogQL), Prometheus (PromQL), Elasticsearch.
Monitor

betterdb-inc/monitor

BetterDB MCP server - Valkey observability for Claude Code and other MCP clients
1.1k
Datadog

com.mcparmory/datadog

Monitor infrastructure, manage agents and deployments, track metrics, logs, and events
25
Observability Mcp

thotischner/observability-mcp

Unified observability gateway for AI agents — Prometheus, Loki & more, with anomaly detection.
5
Datadog Mcp

io.github.tantiope/datadog-mcp

Full Datadog API access: monitors, logs, metrics, traces, dashboards, and observability tools
4
Datadog

io.github.us-all/datadog

Datadog MCP — 165 tools for metrics, monitors, logs, APM, RUM, incidents, CI/CD, fleet
1