meta-mcp is an MCP server covering the Instagram Graph API (v26.0), the Threads API, and Meta platform management. It encapsulates common social platform operations as tools that can be invoked by AI assistants, enabling users to complete tasks such as publishing, comment management, and data viewing through natural language instructions.
[Purpose] This project is mainly used to connect the account operation capabilities of Instagram and Threads to AI assistants, allowing the AI to directly perform operations such as publishing content, reading analytics data, and managing interactions. Typical instruction examples include: publish a photo to Instagram; publish a text post with a poll on Threads; get Instagram follower count and insights; schedule a carousel post; reply to comments on the latest post; cross-post to Instagram and Threads simultaneously; view Threads account analytics; manage Instagram direct messages.
[Main Capabilities] The project provides a total of 66 tools, divided into three platforms:
- Instagram (33): publish photos, videos, Reels, Stories, and carousels (including alt text), manage comments, view insights, search hashtags, manage direct messages, and handle collaboration invites.
- Threads (27): publish text, images, videos, and carousels, with support for polls, GIFs, hashtags, link attachments, alt text, spoiler markers, Ghost Posts (auto-archived after 24 hours), reply approval, location tagging, and cross-sharing to Instagram Stories; manage replies and pending replies; search posts and locations; profile and mention discovery; oEmbed; view insights; delete posts.
- Meta platform (6): Token exchange, refresh, debug, and Webhook management. It also includes 2 resources (Instagram profile, Threads profile) and 2 prompts (cross-platform content publishing, analytics reports), and tracks rate limits via the x-app-usage response header.
[Version Update Highlights]
- v2.2.0: Fixed Instagram business discovery and collaboration invite requests; account insights support metric_type, breakdown, and demographic time ranges; standalone videos are now published as Reels shared to feed; photo, Reel, and carousel publishing support AI info and paid partnership labelsSign, Reels also supports trial_params; public Threads oEmbed can be used without a Token.
- v2.1.0: Upgraded to Graph API v26.0; removed Tenor, keeping only GIPHY as the GIF provider; added Threads Ghost Posts, reply approval, cross-sharing to Instagram Stories, location tagging, profile discovery, mentions, oEmbed, conversation replies, and other capabilities; fixed threads_search_posts so it calls the correct /keyword_search endpoint; expanded post/reply fields.
- v2.0.0: Upgraded from Graph API v21.0 to v25.0; replaced deprecated metrics; added Threads polls, GIFs, hashtags, link attachments, post search, post deletion, publishing quota checks, quote posts, spoiler tags, alt text, new reply controls; Instagram alt text and collaboration invites; updated insight metrics.
[How to Use] The project provides two ways to run it. The specific installation commands and startup configuration are provided in the official repository, and this introduction does not repeat the code. Usually, you need to first create a Meta developer app, then configure the access tokens and environment variables for Instagram and Threads separately. When using only one platform, you only need to set the variables corresponding to that platform, for example, when using only Threads, set THREADS_ACCESS_TOKEN and THREADS_USER_ID.
Instagram configuration requirements: You need an Instagram Business or Creator account, add the Instagram Graph API product in the Meta app, connect the Instagram Business account through a Facebook Page, generate and authorize the required permissions in Graph API Explorer (instagram_basic, instagram_content_publish, instagram_manage_comments, instagram_manage_insights, instagram_manage_contents, instagram_manage_messages, pages_show_list, pages_read_engagement, pages_manage_metadata), then exchange the short-lived token for a long-lived token of about 60 days, and obtain INSTAGRAM_USER_ID, INSTAGRAM_PAGE_ID, INSTAGRAM_MESSAGING_ACCESS_TOKEN.
Threads configuration requirements: Applicable to any Threads account (personal or business); since September 2025, linking an Instagram account is no longer required. You need to add the Threads API product in the Meta app, add the account as a Threads tester and accept the invitation in the Threads app, generate an authorization link and obtain the authorization code, then exchange it for a short-lived token and a long-lived token of about 60 days, and finally obtain THREADS_USER_ID.
Token management: Access tokens expire after about 60 days and need to be refreshed before expiration. For Instagram, you can use meta_refresh_token and specify platform=instagram (requires META_APP_ID and META_APP_SECRET); for Threads, you can use meta_refresh_token and specify platform=threads, or call Threads' refresh_access_token endpoint. You can use meta_debug_token at any time to check token status.
[Applicable Scenarios] Suitable for scenarios that require using AI assistants to operate Instagram and Threads accounts in batches or automatically, such as content publishing and scheduling, comment and direct message interaction management, account and post data analysis, cross-platform content distribution, and integrating social platform capabilities into AI Agent workflows. The project also provides an llms.txt machine-readable summary and templates/CLAUDE.md and templates/AGENTS.md templates to facilitate automatic MCP discovery.
[Limitations] The Instagram part requires a Business or Creator account; the Threads part requires the account to be added as a Threads tester. Access tokens have a validity period of about 60 days and need to be refreshed. Some operations have rate limits, for example, Threads post deletion is limited to 100 times per day, which the project tracks through the x-app-usage header. Old Instagram metrics such as impressions, video_views, and engagement were deprecated in Graph API v22.0 and removed on April 21, 2025, and new metrics such as views, reach, saved, and shares should be used instead. Specific pricing and fee information is not yet provided.