Skip to main content
Glama
exileum

meta-mcp

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
META_APP_IDNoMeta App ID (required for token/webhook tools)
META_APP_SECRETNoMeta App Secret (required for token/webhook tools)
THREADS_USER_IDNoThreads user ID (required for Threads functionality)
INSTAGRAM_USER_IDNoInstagram Business/Creator account ID (required for Instagram functionality)
THREADS_ACCESS_TOKENNoThreads API access token (required for Threads functionality)
INSTAGRAM_ACCESS_TOKENNoInstagram Graph API access token (required for Instagram functionality)

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
meta_exchange_tokenA

Exchange a short-lived token for a long-lived token (valid ~60 days). Uses platform-specific endpoints: Instagram (graph.instagram.com) or Threads (graph.threads.net). Requires META_APP_SECRET. On success the new token is also applied in-memory to the running server, so subsequent tool calls use it immediately — no restart required (#65).

meta_refresh_tokenA

Refresh a long-lived token before it expires (must be at least 24h old). Uses platform-specific endpoints: Instagram (graph.instagram.com) or Threads (graph.threads.net). Returns a new long-lived token valid for 60 days. On success the new token is also applied in-memory to the running server, so subsequent tool calls use it immediately — no restart required (#65).

meta_debug_tokenA

Debug/inspect an access token to check validity, expiration, scopes and associated user.

meta_get_app_infoA

Get Meta App basic information (name, category, namespace, etc.).

meta_subscribe_webhookA

Subscribe to webhook notifications for an object (e.g., 'instagram', 'page'). Requires META_APP_ID and META_APP_SECRET.

meta_get_webhook_subscriptionsA

List current webhook subscriptions for the Meta App.

ig_publish_photoA

Publish a photo to Instagram. Two-step process: creates container then publishes. Requires image_url (publicly accessible HTTPS URL).

ig_publish_videoA

[DEPRECATED] Use ig_publish_reel instead. Publishes via media_type=REELS under the hood; the legacy VIDEO media_type was deprecated by Meta on Nov 9, 2023. Kept for backward compatibility — new integrations should use ig_publish_reel which exposes Reels-specific options (cover_url, share_to_feed).

ig_publish_carouselA

Publish a carousel (album) post with 2-10 images/videos. Each item needs a url (JPEG image or MP4 video) and a type (IMAGE or VIDEO).

ig_publish_reelB

Publish a Reel (short video). Waits for video processing.

ig_publish_storyA

Publish a Story (image or video). Stories disappear after 24 hours.

ig_get_container_statusA

Check the processing status of a media container (useful for videos).

ig_get_media_listB

Get list of media published on the Instagram account.

ig_get_mediaA

Get details of a specific Instagram media post.

ig_delete_mediaA

Delete an Instagram media post (posts, carousels, reels, stories). This action is irreversible. Requires instagram_manage_contents permission (Facebook Login only — not available with Instagram Login).

ig_get_media_insightsA

Get insights/analytics for a specific media post. Default metrics 'views,reach' are safe for every media type. Metric availability differs by media type — request more selectively to avoid (#100) errors:

  • IMAGE / VIDEO / CAROUSEL: views, reach, saved, total_interactions, likes, comments (note: 'shares' may return (#100) on IMAGE — test before relying on it)

  • REEL: views, reach, saved, total_interactions, likes, comments, shares, reposts, reels_skip_rate

  • STORY: views, reach, total_interactions, navigation, replies, profile_activity, profile_visits, follows Note: 'impressions' and 'video_views' were deprecated in v22.0 — use 'views' instead. See https://developers.facebook.com/docs/instagram-platform/reference/instagram-media/insights/ for the authoritative per-type matrix.

ig_toggle_commentsB

Enable or disable comments on an Instagram media post.

ig_get_commentsB

Get comments on a specific Instagram media post.

ig_get_commentA

Get details of a specific comment.

ig_post_commentB

Post a top-level comment on a media post.

ig_get_repliesB

Get replies to a specific comment.

ig_reply_to_commentC

Reply to a specific comment.

ig_hide_commentA

Hide or unhide a comment on your post.

ig_delete_commentA

Delete a comment from your media post. This action is irreversible.

ig_get_profileA

Get Instagram Business/Creator account profile information.

ig_get_account_insightsA

Get Instagram account insights. Use the optional metric_type to control whether results come back as a single total per metric or as a daily breakdown. Note: 'impressions', 'email_contacts', 'phone_call_clicks', 'text_message_clicks', 'get_directions_clicks', 'website_clicks', 'profile_views' were deprecated in v22.0. Use 'views', 'reach', 'follower_count', 'reposts' instead.

ig_business_discoveryA

Look up another Instagram Business/Creator account's public info by username.

ig_get_collaboration_invitesB

Get pending collaboration invites for the Instagram account. Added in December 2025.

ig_respond_collaboration_inviteA

Accept or decline a collaboration invite by media_id (the IG Media ID of the tagged post; available via the id field returned by ig_get_collaboration_invites). Pass accept: true to accept, accept: false to decline. Per the Instagram Collaboration API. Added in December 2025.

ig_search_hashtagA

Search for a hashtag ID by name. Required before querying hashtag media. Limited to 30 unique hashtags per 7-day rolling window — meta-mcp caches results in-process to maximize quota utilization on repeated lookups.

ig_get_hashtagB

Get hashtag information by ID.

ig_get_hashtag_recentB

Get recent media tagged with a specific hashtag.

ig_get_hashtag_topA

Get top (most popular) media tagged with a specific hashtag.

ig_get_mentioned_commentA

Get details of a specific comment where the account was @mentioned. Requires the comment_id from a mention webhook notification. Returns a single comment with its associated media.

ig_get_tagged_mediaA

Get media where the account is tagged (photo tags, not @mentions).

ig_get_conversationsB

Get Instagram DM conversations list. Requires 'instagram_business_manage_messages' permission and the Instagram Messaging API.

ig_get_messagesB

Get messages in a specific DM conversation.

ig_send_messageA

Send a DM to a user. Requires 'instagram_business_manage_messages' permission. The recipient must have messaged the account first. Messaging window depends on messaging_type: RESPONSE/UPDATE allow replies within 24 hours of the user's last message; MESSAGE_TAG with tag=HUMAN_AGENT extends the window to 7 days (human-sent support replies only — the HUMAN_AGENT feature requires App Review and forbids automated use, per https://developers.facebook.com/docs/features-reference/human-agent). Other tag values are Messenger-oriented; HUMAN_AGENT is the documented reliable choice on Instagram.

ig_get_messageA

Get details of a specific DM message.

threads_publish_textA

Publish a text-only post on Threads. By default publishes in a single API call via auto_publish_text=true (faster and avoids the 4279009 'container not propagated' race condition). Supports optional link attachment, poll, GIF, topic tag, quote post, cross-share to Instagram Stories, geo-gating via allowlisted_country_codes, location tagging via location_id, and text_attachment for long-form content (up to 10,000 chars with optional styling and link). Only one attachment type per post — text_attachment, poll_options, link_attachment, and gif_id+gif_provider are mutually exclusive. Set auto_publish=false to fall back to the legacy two-step create-then-publish flow.

threads_publish_imageA

Publish an image post on Threads. Supports topic tag, quote post, alt text, spoiler flag, cross-share to Instagram Stories, geo-gating via allowlisted_country_codes, and location tagging via location_id.

threads_publish_videoA

Publish a video post on Threads. Waits for video processing. Supports topic tag, quote post, alt text, spoiler flag, cross-share to Instagram Stories, geo-gating via allowlisted_country_codes, and location tagging via location_id. Note: cross-share to IG Stories may silently fail for video posts (the Threads post still publishes).

threads_publish_carouselA

Publish a carousel post on Threads with 2-20 images/videos. Supports cross-share to Instagram Stories, geo-gating via allowlisted_country_codes, and location tagging via location_id (parent container only).

threads_delete_postA

Delete a Threads post. This action is irreversible. Rate limited to 100 deletions per 24 hours.

threads_get_container_statusA

Check the processing status of a Threads media container. Only works with unpublished container IDs (returned from container creation endpoints) — not with published post IDs.

threads_get_publishing_limitA

Check how many posts you can still publish within the current 24-hour window (max 250 posts/day).

threads_repostA

Repost an existing Threads post to your own profile. Reposts appear under the Reposts tab on your profile. Requires the threads_content_publish permission. Note: this is a simple repost — for quote-reposts use threads_publish_text with quote_post_id.

threads_search_locationsA

Search Threads-supported locations by keyword or coordinates. Returns a list of location objects (id, name, address, city, country, latitude, longitude, postal_code) whose id can be passed as location_id to the four threads_publish_* tools to tag a post. Either q or both latitude+longitude must be provided. Requires the threads_location_tagging permission; without app approval, the endpoint restricts results to the literal query 'Menlo Park' for testing.

threads_get_postsA

Get a list of Threads posts published by the authenticated user.

threads_get_postB

Get details of a specific Threads post.

threads_search_postsA

Search for public Threads posts by keyword or topic tag. Requires threads_keyword_search permission.

threads_get_repliesA

Get replies for a specific Threads post. By default returns only top-level replies (mode='top_level', endpoint /{post}/replies). Set mode='full_tree' to get the entire conversation flattened — every reply at every nesting level (endpoint /{post}/conversation). Both modes share the same response shape; full_tree additionally populates root_post, replied_to, is_reply so the caller can reconstruct the tree. The default fields differ by mode: top_level requests is_verified and profile_picture_url (always populated for direct replies); full_tree drops them since they are 'Only available on direct replies' per the Threads Replies/Conversations docs and would be undefined for every nested entry. Pass an explicit fields override to re-request them in full_tree if needed.

threads_replyA

Reply to a Threads post or another reply. Text-only replies publish in a single API call by default (auto_publish_text=true); media replies always use the two-step create-then-publish flow. image_url and video_url are mutually exclusive — provide at most one.

threads_hide_replyA

Hide a reply on your Threads post. Hidden replies are still visible if directly accessed.

threads_unhide_replyA

Unhide a previously hidden reply on your Threads post.

threads_get_profileA

Get Threads user profile information including verification status and geo-gating eligibility (is_eligible_for_geo_gating).

threads_get_post_insightsA

Get insights/analytics for a specific Threads post (views, likes, replies, reposts, quotes, shares).

threads_get_user_insightsA

Get account-level Threads insights (views, likes, replies, reposts, quotes, clicks, followers, follower demographics). Requires period parameter.

threads_get_mentionsA

List Threads posts where the authenticated user has been @mentioned. Requires the threads_manage_mentions permission. Posts from private profiles are excluded by the API. Without advanced access approval, only mentions from designated app testers are returned.

Prompts

Interactive templates invoked by user choice

NameDescription
content_publishCross-post content to Instagram and Threads simultaneously
analytics_reportGenerate a combined analytics report for Instagram and Threads

Resources

Contextual data attached and managed by the client

NameDescription
instagram-profileInstagram Business/Creator account profile information
threads-profileThreads user profile information

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/exileum/meta-mcp'

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