Install
$ agentstack add mcp-oliverames-meta-mcp-server ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ● Network access Used
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
Meta MCP Server
Connect any AI assistant to Meta's entire business platform Facebook Pages · Instagram · Threads · Ads Manager · Commerce · Conversions API · Insights
200 tools • 7 platforms • Graph API v21.0
Quick Start • MCPB Download • What You Can Do • All 200 Tools • Configuration • Architecture
Why This Exists
Social media management across Meta's platforms — Facebook Pages, Instagram, Threads, Ads Manager, Commerce — requires juggling multiple dashboards, each with its own API quirks and token flows. This server consolidates the entire Meta Graph API surface into a single MCP interface, so your AI assistant can publish content, analyze performance, manage ad campaigns, and moderate engagement across all platforms in one conversation.
Every tool returns actionable error messages — not cryptic API codes. Token expired? You get a regeneration link. Missing permission? You see exactly which one and where to grant it. This means less debugging and more doing.
Quick Start
Install with MCPB
For Claude Desktop and other MCPB-compatible clients, download the local bundle from the v2.0.2 release:
Download meta-mcp-server-2.0.2.mcpb
The bundle includes the Meta favicon, production runtime dependencies, and setup prompts for Meta and optional Threads access tokens.
Add to your MCP client config:
{
"mcpServers": {
"meta": {
"command": "npx",
"args": ["-y", "@oliverames/meta-mcp-server"],
"env": {
"META_ACCESS_TOKEN": "your_token_here"
}
}
}
}
That's it. Your AI assistant now has access to 200 Meta tools.
> Need a token? Go to the Graph API Explorer, select your app, and generate one. See [Configuration](#configuration) for details.
From Source
git clone https://github.com/oliverames/meta-mcp-server.git
cd meta-mcp-server
npm install && npm run build
What You Can Do
Publish everywhere
Post to Facebook Pages (text, photo, video, Reels, Stories), Instagram (photos, reels, stories, carousels), and Threads (text, images, video, GIFs, links). Schedule content in advance or cross-post to multiple platforms in one call.
> Post our holiday hours to the Facebook page
> Schedule an Instagram carousel for tomorrow at 9am
> Cross-post this photo to both Facebook and Instagram
> Publish a GIF to Threads with reply controls
> Create a Facebook Reel from this video
> Post a Story to our Facebook page
> Publish an Instagram reel with alt text for accessibility
> Share a link post on Threads with a quote
Manage engagement
Read and reply to comments across platforms, hide inappropriate content without deleting it, manage Instagram DMs and broadcast channels, and set up automated responses for when you're away.
> Show me unanswered Instagram DMs
> Hide that offensive comment on our latest post
> Reply to the top 3 comments on yesterday's reel
> Set up an instant reply for new messages
> Set our away message to "Back Monday at 9am"
> Send a DM to that customer who reached out
> What comments did we get on last week's posts?
> Update our Messenger greeting text
Analyze performance
Get insights at every level — page, post, account, campaign, ad set, and individual ad. Over 70 page metrics, comprehensive Reels analytics (including skip rate and crossposted views), and full ad performance with video completion rates, ROAS, and quality rankings. Generate charts for reports.
> How did our Instagram perform this month?
> Show campaign spend broken down by age group
> What's the skip rate on our latest Reel?
> Generate a bar chart comparing this week vs last
> Get our Facebook page fan demographics
> What's our follower growth trend over 90 days?
> Show me post-level engagement for our top 5 posts
> Create a pie chart of spend by campaign
Run ad campaigns
Full campaign lifecycle — create, optimize, test, and automate. A/B testing with confidence levels, Advantage+ Shopping migration, interest/geo/demographic targeting search, reach estimates, automated rules, and comprehensive pixel management with server-side Conversions API.
> Create an A/B test comparing these two ad sets
> Migrate this campaign to Advantage+ Shopping
> Send a purchase conversion event via CAPI
> What's the reach estimate for women 25-34 in NYC?
> List all active campaigns and their ROAS
> Create an automated rule: pause ads over $5 CPA
> Check if our pixel is firing correctly
> Upload this image for a new ad creative
Manage commerce
Full product catalog management for Facebook and Instagram shops — add products, update inventory, organize collections, and manage availability. Everything a brand needs to run social commerce.
> List all products in our catalog
> Add this new product at $29.99, in stock
> Mark the seasonal items as out of stock
> Show me our "Summer Collection" product set
> Update the description on our best-selling item
> How many products are in each catalog?
> Delete the discontinued product line
> What products are currently available?
Go live and broadcast
Start Facebook Live video broadcasts for product launches and events, publish Stories for time-sensitive content, and reach your audience directly through Instagram broadcast channels with polls, links, and messages.
> Start a live video on our Facebook page
> Send a poll to our Instagram broadcast channel
> Schedule a live stream for Friday at 2pm
> Publish a story to Facebook with this photo
> End the live broadcast
> Send a product announcement to our broadcast channel
> What live videos have we done this month?
> What ads is our competitor running right now?
Research competitors
Search any advertiser's active ads through Meta's public Ad Library. See what creative, targeting, and spend your competitors are using — no account access needed. Look up any public Instagram business account's stats.
> What ads is Nike running in the US right now?
> Search the Ad Library for "sustainable fashion" ads
> Look up @competitor on Instagram — followers and posts
> Show me all active ads by this page ID
> What platforms are they running ads on?
> How much is our competitor spending on ads?
Stay in control
Debug tokens, check permissions, monitor rate limits, verify pixel health, and manage your Business Manager assets. Every error tells you exactly what went wrong and how to fix it — never a cryptic failure.
> Check my token status and permissions
> Am I close to Instagram's publishing limit?
> Run a health check on the Meta connection
> Is our pixel receiving events?
> List all ad accounts in our Business Manager
> Share this pixel with our agency's ad account
> What Threads rate limits do we have left?
> Debug why this API call is failing
Complete Tool Reference
Facebook Pages — 52 tools
Everything a brand needs to manage their Facebook presence, messaging, and live broadcasts.
| Tool | Description | |:---|:---| | meta_list_pages | List all Facebook Pages you manage (call first — caches page tokens) | | meta_get_page | Get detailed page info (category, followers, description, links) | | meta_get_post | Get a single post by ID | | meta_create_post | Create a text post on a page | | meta_create_photo_post | Create a photo post (URL or page photo ID) | | meta_create_video_post | Create a video post with optional title and description | | meta_update_post | Edit an existing post's message | | meta_delete_post | Delete a post | | meta_get_posts | Get a page's feed with pagination | | meta_get_published_posts | Get published posts only | | meta_get_scheduled_posts | Get scheduled (unpublished) posts | | meta_get_promotable_posts | Get posts eligible for ad promotion | | meta_get_visitor_posts | Get posts made by visitors on the page | | meta_get_post_comments | Get comments on a post with pagination | | meta_reply_post_comment | Reply to a comment as the page | | meta_delete_comment | Delete a comment | | meta_hide_comment | Hide or unhide a comment (non-destructive moderation) | | meta_like_object | Like or unlike a post or comment | | meta_get_post_reactions | Get reaction breakdown (like, love, haha, wow, sad, angry) | | meta_get_page_insights | Page analytics — 70+ metrics across impressions, engagement, fans, video | | meta_get_post_insights | Per-post analytics (impressions, engagement, clicks, reactions, video) | | meta_get_page_conversations | List page message conversations | | meta_get_conversation_messages | Get messages within a conversation | | meta_send_page_message | Send a message to a user (24-hour messaging window) | | meta_update_page | Update page details (about, description, website, hours, username, category, address) | | meta_update_page_picture | Update page profile picture from URL | | meta_update_page_cover | Update page cover photo from URL or existing photo | | meta_create_event | Create a page event | | meta_get_page_events | List events (upcoming, past, or canceled) | | meta_get_page_albums | List page photo albums | | meta_get_page_photos | Get photos (uploaded or tagged) | | meta_get_page_videos | List page videos | | meta_get_page_tagged | Get posts where the page is tagged | | meta_get_page_fan_demographics | Follower breakdown by age, gender, and country | | meta_get_page_ratings | Get page reviews and star ratings | | meta_get_page_locations | Location info for multi-location businesses | | meta_get_page_cta | Get the page's call-to-action button configuration | | meta_get_page_tabs | List page tabs and their configuration | | meta_get_page_picture | Get page profile picture URL | | meta_get_blocked_users | List blocked users | | meta_block_user | Block or unblock a user | | meta_subscribe_page_webhooks | Subscribe the page to webhook events | | meta_publish_page_story | Publish a Facebook Story (photo or video) | | meta_publish_page_reel | Publish a Facebook Reel | | meta_cross_post | Cross-post to Facebook + Instagram simultaneously | | meta_create_live_video | Start or schedule a live video broadcast | | meta_get_live_videos | List live videos on a page | | meta_end_live_video | End an active live broadcast | | meta_get_page_automated_responses | Get current auto-reply settings | | meta_set_instant_reply | Set the instant reply message | | meta_set_away_message | Set the away/out-of-office message | | meta_set_greeting | Set the Messenger greeting text |
Instagram — 37 tools
Full Instagram Business API — publishing with scheduling, DMs, broadcast channels, engagement, discovery, and analytics.
| Tool | Description | |:---|:---| | meta_list_instagram_accounts | List Instagram business accounts linked to your Facebook Pages | | meta_get_instagram_media | Get recent media for an Instagram account with pagination | | meta_get_instagram_single_media | Get a single media object by ID | | meta_publish_instagram_photo | Publish a photo with optional alt text and scheduling | | meta_publish_instagram_reel | Publish a reel with auto-polling and optional scheduling | | meta_publish_instagram_story | Publish a story (image or video with auto-polling) | | meta_publish_instagram_carousel | Publish a carousel (2–10 items, parallel processing, schedulable) | | meta_publish_instagram_container | Publish a pre-created media container | | meta_check_instagram_container | Check container processing status with actionable messages | | meta_get_instagram_account_insights | Account-level analytics with demographic breakdowns | | meta_get_instagram_media_insights | Per-post metrics including Reels skip rate, crossposted views | | meta_get_instagram_comments | Get comments on a media object | | meta_get_instagram_comment_replies | Get threaded replies to a comment | | meta_reply_instagram_comment | Reply to a comment | | meta_delete_instagram_comment | Delete a comment | | meta_hide_instagram_comment | Hide/unhide a comment (non-destructive moderation) | | meta_search_instagram_catalog_products | Search for products in an Instagram Shopping catalog by name | | meta_search_instagram_hashtag | Search hashtag top or recent media | | meta_get_instagram_recent_hashtags | Get your recently searched hashtags | | meta_get_instagram_user | Business discovery — look up any public business/creator by username | | meta_get_instagram_stories | Get currently active stories | | meta_get_instagram_live_media | Get live video media | | meta_get_instagram_mentioned_media | Get media where you're @mentioned | | meta_get_instagram_media_children | Get individual items in a carousel | | meta_get_instagram_product_tags | Get product tags on a media object | | meta_delete_instagram_media | Delete a media object | | meta_toggle_instagram_comments | Enable or disable comments on media | | meta_check_instagram_publishing_limit | Check rate limit status (100 posts per 24 hours) | | meta_get_instagram_conversations | List Instagram DM conversations | | meta_get_instagram_messages | Get messages in a DM conversation | | meta_send_instagram_message | Send a text DM | | meta_send_instagram_media_message | Send an image or link via DM | | meta_get_instagram_available_catalogs | List product catalogs available for Instagram Shopping on a professional account | | meta_get_instagram_broadcast_channels | List broadcast channels | | meta_get_broadcast_channel_messages | Get messages in a broadcast channel | | meta_send_broadcast_channel_message | Send a message to a broadcast channel | | meta_create_broadcast_channel_poll | Create a poll in a broadcast channel |
Ads Manager — 62 tools
Complete ad campaign lifecycle — create, optimize, test, analyze, and automate. Includes Advantage+ migration, A/B testing, and comprehensive pixel management.
| Tool | Description | |:---|:---| | meta_list_ad_accounts | List ad accounts you have access to | | meta_get_ad_account | Get ad account details (status, currency, spend cap, balance) | | meta_list_campaigns | List campaigns with status filtering and pagination | | meta_get_campaign | Get a single campaign's full details | | meta_create_campaign | Create a campaign (supports Advantage+ Shopping for OUTCOMESALES) | | meta_update_campaign | Update campaign name, status, budget, or migrate to Advantage+ | | meta_delete_campaign | Delete a campaign | | meta_migrate_campaign_to_advantage_plus | Migrate a campaign to Advantage+ Shopping (keeps campaign ID) | | meta_list_adsets | List ad sets with filtering | | meta_get_adset | Get a single ad set's targeting and budget details | | meta_create_adset | Create an ad set with targeting, budget, and placementsoftoptout | | meta_update_adset | Update ad set targeting, budget, or placementsoftopt_out | | meta_delete_adset | Delete an ad set | | meta_list_ads | List ads with status filtering | | meta_get_ad | Get a single ad's details | | meta_create_ad | Create an ad linking a creative to an ad set | | meta_update_ad | Update ad name, status, or creative | | meta_delete_ad | Delete an ad | | meta_list_ad_creatives | List ad creatives | | meta_get_ad_creative | Get a single creative's details | | meta_create_ad_creative | Create an ad creative with text, image, and link | | meta_get_ad_preview | Preview how an ad will appear in different placements | | meta_get_ad_rule | Get details for a specific automated ad rule | | meta_get_ad_account_users | List users with access to the ad account | | meta_upload_ad_image | Upload an image
…
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: oliverames
- Source: oliverames/meta-mcp-server
- License: MIT
- Homepage: https://www.npmjs.com/package/meta-mcp-server
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.