Meta MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| meta_list_pagesA | Lists all Facebook Pages managed by the authenticated user. IMPORTANT: Call this tool first before any page or Instagram operations — it caches the page access tokens needed for subsequent calls. Returns:
Tip: The page tokens are cached automatically. You do not need to manage them manually. |
| meta_get_pageA | Gets detailed information about a specific Facebook Page. Args:
Returns page details including name, category, description, follower counts, and linked Instagram account. |
| meta_create_postA | Creates a new post on a Facebook Page. Requires: meta_list_pages must be called first to load page tokens. Args:
Returns: Post ID of the created post. Notes:
|
| meta_get_postsA | Lists posts from a Facebook Page feed. Requires: meta_list_pages called first to load page tokens. Args:
Returns: List of posts with message, permalink, created time, and post ID. |
| meta_delete_postA | Deletes a post from a Facebook Page. This action is permanent and cannot be undone. Args:
|
| meta_create_photo_postB | Publishes a photo post to a Facebook Page. Args:
|
| meta_create_video_postA | Publishes a video post to a Facebook Page. Args:
|
| meta_get_page_conversationsA | Lists conversations (messages) in a Facebook Page inbox. Args:
Requires pages_messaging permission. |
| meta_get_conversation_messagesA | Gets messages from a specific Page conversation. Args:
|
| meta_send_page_messageA | Sends a message from a Facebook Page to a user (in an existing conversation). Args:
Requires pages_messaging permission. Only works within the 24-hour messaging window. |
| meta_get_page_insightsA | Gets analytics/insights for a Facebook Page. Requires: meta_list_pages called first. Args:
Returns: Time-series data for each metric. |
| meta_get_post_insightsA | Gets performance metrics for a specific Facebook Page post. Requires: meta_list_pages called first. Args:
All post metrics use 'lifetime' period (cumulative from post creation). |
| meta_update_pageA | Updates a Facebook Page's profile information. Args:
Requires pages_manage_metadata permission. |
| meta_get_post_commentsA | Gets comments on a Facebook Page post. Args:
|
| meta_reply_post_commentB | Replies to a comment on a Facebook Page post. Args:
|
| meta_delete_commentA | Deletes a comment on a Facebook Page post. Permanent action. Args:
|
| meta_like_objectA | Likes or removes a like from a page post or comment, acting as the Page. Args:
|
| meta_get_scheduled_postsA | Lists scheduled (unpublished) posts for a Facebook Page. Args:
|
| meta_get_page_albumsC | Lists photo albums on a Facebook Page. Args:
|
| meta_get_page_eventsA | Lists events created by a Facebook Page. Args:
|
| meta_get_page_taggedB | Gets posts that tag this Facebook Page. Args:
|
| meta_get_page_fan_demographicsB | Gets fan/follower demographic breakdowns for a Facebook Page via insights. Args:
|
| meta_get_post_reactionsB | Gets reaction counts (like, love, haha, wow, sad, angry) on a post. Args:
|
| meta_update_postA | Updates an existing Facebook Page post's message text. Args:
|
| meta_get_page_videosB | Lists videos uploaded to a Facebook Page. Args:
|
| meta_get_visitor_postsC | Gets posts published by visitors on the Facebook Page wall. Args:
|
| meta_get_published_postsA | Gets posts published by the Page itself (excludes visitor posts, unlike the feed edge). Args:
|
| meta_get_blocked_usersB | Lists users blocked by the Facebook Page. Args:
|
| meta_block_userA | Blocks or unblocks a user from a Facebook Page. Blocked users cannot post or comment. Args:
|
| meta_get_page_tabsA | Lists custom tabs on a Facebook Page. Args:
|
| meta_get_page_pictureA | Gets the profile picture URL for a Facebook Page. Args:
|
| meta_get_postA | Gets detailed information about a specific Facebook post. Args:
|
| meta_create_eventB | Creates an event on a Facebook Page. Args:
|
| meta_get_page_locationsB | Lists location pages for a business with multiple locations. Args:
|
| meta_get_page_ctaA | Gets the call-to-action button configured on a Facebook Page. Args:
|
| meta_get_page_photosB | Lists photos uploaded to a Facebook Page. Args:
|
| meta_get_page_ratingsB | Gets ratings and reviews for a Facebook Page. Args:
|
| meta_subscribe_page_webhooksA | Subscribes your app to receive webhook updates for a Facebook Page. Args:
Call without subscribed_fields to check current subscriptions. |
| meta_get_promotable_postsA | Gets posts that are eligible for boosting/promotion on a Facebook Page. Args:
|
| meta_update_page_pictureA | Updates a Facebook Page's profile picture. Args:
Requires pages_manage_metadata permission. |
| meta_update_page_coverA | Updates a Facebook Page's cover photo. Args:
Provide either cover_url or photo_id. Requires pages_manage_metadata permission. |
| meta_hide_commentA | Hides or unhides a comment on a Facebook Page post. Hidden comments are only visible to the comment author and their friends. This is a non-destructive alternative to deletion — useful for moderation. Args:
Requires pages_manage_engagement permission. |
| meta_publish_page_storyB | Publishes a story (photo or video) to a Facebook Page. Requires: meta_list_pages called first to load page tokens. Args:
Returns the story ID on success. |
| meta_create_live_videoA | Creates a live video broadcast on a Facebook Page. Requires: meta_list_pages called first to load page tokens. Args:
If planned_start_time is provided, the broadcast is created as SCHEDULED_UNPUBLISHED; otherwise it goes LIVE_NOW. Returns the stream URL and live video ID. |
| meta_get_live_videosA | Lists live videos on a Facebook Page. Requires: meta_list_pages called first to load page tokens. Args:
Returns live video details including title, status, views, and creation time. |
| meta_end_live_videoB | Ends an active live video broadcast. Requires: meta_list_pages called first to load page tokens. Args:
Ends the broadcast immediately. |
| meta_get_page_automated_responsesA | Gets the current automated messaging settings for a Facebook Page. Requires: meta_list_pages called first to load page tokens. Args:
Returns: Instant reply message, away message, greeting text, and ice breakers configuration. |
| meta_set_instant_replyA | Sets the instant reply message for a Facebook Page. This is the automatic message sent immediately when someone messages the page. Requires: meta_list_pages called first to load page tokens. Args:
|
| meta_set_away_messageA | Sets the away message for a Facebook Page. This is shown when the page is set to away mode. Requires: meta_list_pages called first to load page tokens. Args:
|
| meta_set_greetingB | Sets the Messenger greeting text for a Facebook Page. This is shown to users before they send their first message. Requires: meta_list_pages called first to load page tokens. Args:
|
| meta_publish_page_reelA | Publishes a Reel (short-form video) to a Facebook Page. Requires: meta_list_pages must be called first to load page tokens. Args:
Returns: The reel/video ID on success. Notes:
|
| meta_cross_postA | Publishes the same content to both a Facebook Page and Instagram simultaneously. Requires: meta_list_pages must be called first to load page tokens. Args:
Logic:
Returns: Results from both platforms (which succeeded, which failed). |
| meta_list_instagram_accountsA | Lists all Instagram professional accounts linked to the user's Facebook Pages. Requires: meta_list_pages must be called first. Returns: Instagram account IDs, usernames, follower counts. The account ID is needed for all other Instagram tools. |
| meta_get_instagram_mediaA | Lists media (posts, reels, stories) from an Instagram professional account. Args:
|
| meta_publish_instagram_photoA | Publishes a single image post to an Instagram professional account. Two-step process: creates a media container then publishes it. Args:
Returns: Media ID of the published post. Scheduling: Pass scheduled_publish_time (Unix timestamp, 10 min – 75 days in future) to schedule the post instead of publishing immediately. Limitations:
|
| meta_publish_instagram_reelA | Publishes a video reel to an Instagram professional account. Args:
Returns: Media ID of the published reel. Notes:
|
| meta_publish_instagram_storyA | Publishes an image or video story to an Instagram professional account. Args:
Returns: Media ID of the published story. |
| meta_publish_instagram_carouselA | Publishes a carousel post (2–10 images/videos) to Instagram. Three-step process:
Args:
Returns: Media ID of the published carousel. Scheduling: Pass scheduled_publish_time (Unix timestamp, 10 min – 75 days in future) to schedule instead of publishing immediately. |
| meta_check_instagram_publishing_limitA | Checks how many of the 100 API-published posts per 24-hour limit have been used. Args:
Returns: Current usage and quota remaining. |
| meta_get_instagram_account_insightsA | Gets performance insights for an Instagram professional account. Args:
Note: account_repost_count (Dec 2025) returns the total number of reposts across the account for the given period.
Note: demographic metrics require 100+ followers. online_followers only available for last 30 days. |
| meta_get_instagram_media_insightsA | Gets performance metrics for a specific Instagram media object. Args:
New Reels metrics (Dec 2025): - reels_skip_rate: Percentage of viewers who skip within first 3 seconds - repost_count: Number of reposts of this media - crossposted_views: Total views across Instagram and Facebook (for crossposted content) - facebook_views: Facebook-specific views for crossposted Reels
|
| meta_get_instagram_commentsC | Gets comments on an Instagram media object. Args:
|
| meta_reply_instagram_commentA | Replies to a comment on an Instagram media object. Args:
Returns: Comment ID of the reply. |
| meta_search_instagram_hashtagA | Searches for a hashtag and gets its ID, then retrieves top or recent media. Two-step process: first looks up the hashtag ID, then fetches media. Args:
Note: Limited to 30 unique hashtag searches per 7 days per IG account. |
| meta_get_instagram_userA | Gets public profile info for any Instagram business/creator account by username. Uses the Business Discovery API — no follow/connection required. Args:
Returns: Bio, follower/following counts, media count, profile picture, and recent media. |
| meta_get_instagram_storiesA | Gets currently active stories for an Instagram professional account. Args:
Returns: List of active story media objects. Stories expire after 24 hours. |
| meta_delete_instagram_mediaA | Deletes an Instagram media object (post, reel, story). This is permanent. Args:
|
| meta_toggle_instagram_commentsA | Enables or disables comments on an Instagram media object. Args:
|
| meta_delete_instagram_commentA | Deletes a comment on an Instagram media object. This is permanent. Args:
|
| meta_get_instagram_comment_repliesB | Gets replies to a specific Instagram comment. Args:
|
| meta_get_instagram_media_childrenA | Gets individual media items in a carousel/album post. Args:
|
| meta_check_instagram_containerA | Checks the publishing status of an Instagram media container (used for reels/videos that need processing). Args:
Returns: status_code — IN_PROGRESS, FINISHED, ERROR, EXPIRED. |
| meta_get_instagram_mentioned_mediaB | Gets media where the Instagram account was @mentioned in a caption or comment. Args:
Requires instagram_manage_comments permission. |
| meta_get_instagram_recent_hashtagsA | Gets hashtags recently searched by the Instagram account. Args:
Note: Limited to 30 unique hashtag searches per 7 days. This returns the recent searches. |
| meta_get_instagram_live_mediaB | Gets live video broadcasts from an Instagram account. Args:
|
| meta_get_instagram_product_tagsB | Gets product tags on an Instagram media object. Requires Instagram Shopping. Args:
|
| meta_publish_instagram_containerA | Publishes a pre-created Instagram media container. Use after checking container status is FINISHED. Useful for reels/videos where container creation and publishing are done in separate steps. Args:
|
| meta_get_instagram_single_mediaC | Gets detailed information about a specific Instagram media object. Args:
|
| meta_get_instagram_conversationsA | Lists Instagram Direct Message conversations. Args:
Requires instagram_manage_messages permission. Uses user token (not page token). |
| meta_get_instagram_messagesA | Gets messages in an Instagram Direct Message conversation. Args:
Messages are returned in reverse chronological order from the API and displayed in chronological order. |
| meta_send_instagram_messageA | Sends a text DM to an Instagram user. Args:
Note: Only works within the 24-hour human agent messaging window or 7-day standard messaging window. The recipient must have messaged the account first. Returns: Message ID. |
| meta_send_instagram_media_messageA | Sends an image or link via Instagram Direct Message. Args:
Provide either image_url or link_url (not both). Same messaging window restrictions as text DMs. Returns: Message ID. |
| meta_get_instagram_broadcast_channelsA | Lists broadcast channels for an Instagram professional account. Broadcast channels enable one-to-many messaging from creators/brands to subscribers. Args:
Returns: Channel IDs, names, descriptions, subscriber counts. |
| meta_get_broadcast_channel_messagesA | Gets messages in an Instagram broadcast channel. Args:
Returns: Paginated list of messages with type, content, and timestamps. |
| meta_send_broadcast_channel_messageA | Sends a message to an Instagram broadcast channel. Args:
Returns: Message ID of the sent message. |
| meta_create_broadcast_channel_pollA | Creates a poll in an Instagram broadcast channel. Args:
Returns: Poll/message ID. |
| meta_hide_instagram_commentA | Hides or unhides a comment on an Instagram media object. Hidden comments are only visible to the comment author. This is a non-destructive alternative to deletion — useful for moderation. Args:
|
| meta_get_instagram_available_catalogsA | Lists product catalogs available for Instagram Shopping on a professional account. Args:
Returns: Catalog IDs and names that can be used for product tagging on this account. Requires: instagram_shopping_tag_products permission. |
| meta_search_instagram_catalog_productsA | Searches for products in an Instagram Shopping catalog by name. Args:
Returns: Matching products that can be tagged in Instagram posts. |
| meta_list_ad_accountsA | Lists all Meta ad accounts accessible to the authenticated user. Returns ad account IDs (prefixed with act_), names, currency, status, and spend info. Call this first to get ad account IDs needed for campaign and insights tools. |
| meta_list_campaignsA | Lists campaigns for a Meta ad account. Args:
Returns campaign names, objectives, status, and budget info. |
| meta_get_campaignB | Gets detailed information about a specific campaign. Args:
|
| meta_create_campaignA | Creates a new campaign in a Meta ad account. Args:
Note: For OUTCOME_SALES objective, Advantage+ Shopping campaigns are available. These use Meta's AI to optimize targeting and placements automatically. Create a standard campaign first, then use meta_migrate_campaign_to_advantage_plus to convert it. Returns the new campaign ID. |
| meta_update_campaignA | Updates an existing campaign. Only provided fields are changed. Can also migrate a campaign to Advantage+ Shopping by setting migrate_to_advantage_plus to true. Args:
|
| meta_delete_campaignA | Deletes (archives) a campaign. This cannot be undone. Args:
|
| meta_migrate_campaign_to_advantage_plusA | Migrates an existing campaign to Advantage+ Shopping (formerly ASC). Advantage+ Shopping campaigns use Meta's AI to automatically optimize targeting, placements, and creative delivery for online sales. After migration, Meta handles audience selection and budget allocation across placements for better ROAS. The campaign keeps its original ID — this is an in-place conversion, not a new campaign. Args:
|
| meta_list_adsetsA | Lists ad sets for a campaign or ad account. Args:
Provide either campaign_id or ad_account_id. |
| meta_create_adsetA | Creates a new ad set within a campaign. Args:
Returns the new ad set ID. |
| meta_update_adsetA | Updates an existing ad set. Only provided fields are changed. Args:
|
| meta_list_adsA | Lists ads for an ad set, campaign, or ad account. Args:
Provide one of adset_id, campaign_id, or ad_account_id. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
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/oliverames/meta-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server