# mikusnuz/meta-mcp [Health: Active]

**Category:** 🌐 Social Media  
**Repository:** https://github.com/mikusnuz/meta-mcp  
**GitHub Stars:** 24  
**npm Downloads (last month):** 1218  
**Views:** 4  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/mikusnuz-meta-mcp

## Description
Full-coverage MCP server for Instagram Graph API v25.0, Threads API & Meta platform — 57 tools for publishing, comments, insights, hashtags, DMs, and token management.

## Tools
Capabilities this server exposes over MCP:

- **meta_exchange_token** — Exchange a short-lived token for a long-lived token (valid ~60 days). Requires META_APP_ID and META_APP_SECRET.
- **meta_refresh_token** — Refresh a long-lived token before it expires. Returns a new long-lived token.
- **meta_debug_token** — Debug/inspect an access token to check validity, expiration, scopes and associated user.
- **meta_get_app_info** — Get Meta App basic information (name, category, namespace, etc.).
- **meta_subscribe_webhook** — Subscribe to webhook notifications for an object (e.g., 'instagram', 'page'). Requires META_APP_ID and META_APP_SECRET.
- **meta_get_webhook_subscriptions** — List current webhook subscriptions for the Meta App.
- **ig_publish_photo** — Publish a photo to Instagram. Two-step process: creates container then publishes. Requires image_url (publicly accessible HTTPS URL).
- **ig_publish_video** — Publish a video to Instagram feed. Waits for video processing before publishing.
- **ig_publish_carousel** — Publish a carousel (album) post with 2-10 images/videos. Each item needs an image_url or video_url.
- **ig_publish_reel** — Publish a Reel (short video). Waits for video processing.
- **ig_publish_story** — Publish a Story (image or video). Stories disappear after 24 hours.
- **ig_get_container_status** — Check the processing status of a media container (useful for videos).
- **ig_get_media_list** — Get list of media published on the Instagram account.
- **ig_get_media** — Get details of a specific Instagram media post.
- **ig_delete_media** — Delete an Instagram media post (posts, carousels, reels, stories). This action is irreversible. Requires instagram_manage_contents permission.
- **ig_get_media_insights** — Get insights/analytics for a specific media post. Note: 'impressions' and 'video_views' were deprecated in v22.0 — use 'views' instead. Available metrics: views, reach, saved, shares, likes, comments, reposts, reels_skip_rate.
- **ig_toggle_comments** — Enable or disable comments on an Instagram media post.
- **ig_get_comments** — Get comments on a specific Instagram media post.
- **ig_get_comment** — Get details of a specific comment.
- **ig_post_comment** — Post a top-level comment on a media post.
- **ig_get_replies** — Get replies to a specific comment.
- **ig_reply_to_comment** — Reply to a specific comment.
- **ig_hide_comment** — Hide or unhide a comment on your post.
- **ig_delete_comment** — Delete a comment from your media post. This action is irreversible.
- **ig_get_profile** — Get Instagram Business/Creator account profile information.
- **ig_get_account_insights** — Get Instagram account insights. 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_discovery** — Look up another Instagram Business/Creator account's public info by username.
- **ig_get_collaboration_invites** — Get pending collaboration invites for the Instagram account. Added in December 2025.
- **ig_respond_collaboration_invite** — Accept or decline a collaboration invite. Added in December 2025.
- **ig_search_hashtag** — Search for a hashtag ID by name. Required before querying hashtag media. Limited to 30 unique hashtags per 7-day rolling window.
- **ig_get_hashtag** — Get hashtag information by ID.
- **ig_get_hashtag_recent** — Get recent media tagged with a specific hashtag.
- **ig_get_hashtag_top** — Get top (most popular) media tagged with a specific hashtag.
- **ig_get_mentioned_comments** — Get comments where the account was @mentioned. Returns the media and comment details.
- **ig_get_tagged_media** — Get media where the account is tagged (photo tags, not @mentions).
- **ig_get_conversations** — Get Instagram DM conversations list. Requires 'instagram_manage_messages' permission and the Instagram Messaging API.
- **ig_get_messages** — Get messages in a specific DM conversation.
- **ig_send_message** — Send a DM to a user. Requires 'instagram_manage_messages' permission. Can only message users who have messaged you first (24hr window for standard, 7-day for human agent).
- **ig_get_message** — Get details of a specific DM message.
- **threads_publish_text** — Publish a text-only post on Threads. Supports optional link attachment, poll, GIF, topic tag, and quote post.
- **threads_publish_image** — Publish an image post on Threads. Supports topic tag, quote post, alt text, and spoiler flag.
- **threads_publish_video** — Publish a video post on Threads. Waits for video processing. Supports topic tag, quote post, alt text, and spoiler flag.
- **threads_publish_carousel** — Publish a carousel post on Threads with 2-20 images/videos.
- **threads_delete_post** — Delete a Threads post. This action is irreversible. Rate limited to 100 deletions per 24 hours.
- **threads_get_container_status** — Check the processing status of a Threads media container.
- **threads_get_publishing_limit** — Check how many posts you can still publish within the current 24-hour window (max 250 posts/day).
- **threads_get_posts** — Get a list of published Threads posts.
- **threads_get_post** — Get details of a specific Threads post.
- **threads_get_profile_posts** — Get a public profile's posts by username (Profile Discovery). Requires threads_profile_discovery permission; with standard access, only @meta, @threads, @instagram, and @facebook are queryable.
- **threads_search_posts** — Search for public Threads posts by keyword or topic tag via the /keyword_search endpoint. Results can be filtered by media type and author.
- **threads_get_replies** — Get replies (conversation) for a specific Threads post.
- **threads_get_conversation** — Get a flattened list of all replies (top-level and nested) to a Threads post, in chronological or reverse-chronological order.
- **threads_reply** — Reply to a Threads post or another reply.
- **threads_hide_reply** — Hide a reply on your Threads post. Hidden replies are still visible if directly accessed.
- **threads_unhide_reply** — Unhide a previously hidden reply on your Threads post.
- **threads_get_pending_replies** — Get pending/ignored replies awaiting approval on a post that has reply approvals enabled (enable_reply_approvals).
- **threads_manage_pending_reply** — Approve or ignore a pending reply on a post with reply approvals enabled. Ignored replies can still be approved later.
- **threads_get_profile** — Get Threads user profile information including verification status.
- **threads_lookup_profile** — Look up a public Threads user's profile by username (Profile Discovery). Requires threads_profile_discovery permission and target must have >=100 followers; with standard access, only @meta, @threads, @instagram, and @facebook are queryable.
- **threads_get_user_threads** — Get all threads published by the user (alias for threads_get_posts with user context).
- **threads_get_post_insights** — Get insights/analytics for a specific Threads post (views, likes, replies, reposts, quotes, clicks).
- **threads_get_user_insights** — Get account-level Threads insights (views, likes, replies, reposts, quotes, clicks, followers, follower demographics).
- **threads_get_mentions** — Get public Threads posts where the authenticated user has been @mentioned by another profile. Requires threads_manage_mentions permission (without advanced access, only mentions by app testers are returned).
- **threads_search_locations** — Search for locations to tag in a Threads post, by query text or by coordinates. Provide q, or latitude+longitude, or both.
- **threads_get_location** — Get a Threads location object by ID (from threads_search_locations or a post's location_id field).
- **threads_get_oembed** — Get the embed HTML and metadata for a public Threads post, for rendering a rich preview on an external site. No access token required as of March 2026, but this server still sends its configured Threads token.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "meta-mcp": {
    "command": "npx",
    "args": ["-y","@mikusnuz/meta-mcp"],
    "env": {
      "INSTAGRAM_ACCESS_TOKEN": "",
      "INSTAGRAM_USER_ID": "",
      "INSTAGRAM_MESSAGING_ACCESS_TOKEN": "",
      "INSTAGRAM_PAGE_ID": "",
      "THREADS_ACCESS_TOKEN": "",
      "THREADS_USER_ID": "",
      "META_APP_ID": "",
      "META_APP_SECRET": ""
    }
  }
}
```

**Requires environment variables:** `INSTAGRAM_ACCESS_TOKEN`, `INSTAGRAM_USER_ID`, `INSTAGRAM_MESSAGING_ACCESS_TOKEN`, `INSTAGRAM_PAGE_ID`, `THREADS_ACCESS_TOKEN`, `THREADS_USER_ID`, `META_APP_ID`, `META_APP_SECRET` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## What mikusnuz/meta-mcp MCP server does

mikusnuz/meta-mcp MCP server connects an MCP-compatible AI client to Instagram Graph API, Threads API, and selected Meta platform management operations. The repository README describes support for Graph API v26.0, while the supplied listing references v25.0; check the project version before relying on a specific API revision.

The server covers content publishing, account and post analytics, comments, replies, hashtag lookup, collaboration invites, and Instagram direct-message operations. Threads capabilities include text and media publishing, carousels, polls, GIFs, topic tags, link attachments, reply controls, post search, insights, deletion, locations, mentions, oEmbed, and profile discovery. Meta-level tools handle access-token exchange, refresh, inspection, app information, and webhook subscriptions.

## How it works

The server communicates over MCP and uses environment variables to select the Instagram, Threads, and Meta credentials available to the process. Publishing media uses the platform APIs: Instagram video operations wait for processing, and carousel publishing accepts between two and ten items. Instagram media generally needs a publicly accessible HTTPS URL.

Some operations have platform constraints. Hashtag searches are limited to 30 unique hashtags in a rolling seven-day period. Instagram accounts must be professional Business or Creator accounts; personal accounts cannot use the Instagram Graph API. Threads accounts do not require an Instagram account link according to the README.

## Setup and configuration

The documented npm configuration runs the package with npx:

```json
{
  "mcpServers": {
    "meta": {
      "command": "npx",
      "args": ["-y", "@mikusnuz/meta-mcp"]
    }
  }
}
```

Set only the variables for the platforms and operations you use. Instagram publishing and account tools use `INSTAGRAM_ACCESS_TOKEN` and `INSTAGRAM_USER_ID`. Instagram messaging additionally uses `INSTAGRAM_MESSAGING_ACCESS_TOKEN` and `INSTAGRAM_PAGE_ID`. Threads tools use `THREADS_ACCESS_TOKEN` and `THREADS_USER_ID`. Token and webhook management requires `META_APP_ID` and `META_APP_SECRET` for the applicable operations.

mikusnuz/meta-mcp MCP server can also be built from a cloned repository with `npm install`, followed by `npm run build`, and then started with Node against the generated `dist/index.js` file. The README provides that manual path but uses a placeholder filesystem path in its client configuration, so the actual path must be supplied by the operator.

## Tools and capabilities

The listed Meta tools include token exchange, token refresh, token debugging, app information, webhook subscription creation, and webhook subscription listing. Instagram tools cover photo, video, Reel, Story, and carousel publishing; media retrieval and deletion; container-status checks; insights; comment controls; comment and reply management; profile data; account insights; business discovery; and collaboration invites. Threads tools documented by the README extend the server to publishing, conversations, replies, search, profiles, locations, mentions, oEmbed, insights, and deletion.

The project also documents two MCP resources for Instagram and Threads profiles and two prompts for cross-platform publishing and analytics reporting. Rate-limit tracking uses the `x-app-usage` response header.

## Limitations and notes

Deleting Instagram media or comments is irreversible and requires the relevant permissions. Instagram insight metric names changed in newer Graph API versions; deprecated fields such as `impressions` and `video_views` should not be used where the API now expects metrics such as `views`, `reach`, `saved`, `shares`, or `reposts`. Access tokens and app secrets should be kept outside prompts and source-controlled configuration.

_Full upstream README: https://allmcps.com/mcp/mikusnuz-meta-mcp/readme_

