Skip to content
Agentmart
Submit a tool

Instagram MCP

Official, multi-account Instagram Graph API MCP: read, publish, analytics, comments, DMs.

Connector by adelaidasofia · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)★ 11
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/adelaidasofia-instagram-mcp

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Official, multi-account Instagram Graph API MCP: read, publish, analytics, comments, DMs.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.

Tools
15 read · 11 write · 2 delete · 1 not yet classified
Secrets
1 (API keys, tokens or passwords)
Install scripts
None found
Runs as
Python package

Tools by what they do 29

Read from the source code; the running server may list different tools.

Read 15 · Look things up without changing anything.

  • account_info
  • get_account_insights
  • get_audience_insights
  • get_comments
  • get_hashtag_media
  • get_media
  • get_media_insights
  • get_mentions
  • get_messages
  • get_profile
  • healthcheck
  • list_accounts
Show 3 more tools
  • list_conversations
  • list_media
  • search_hashtag

Write 11 · Create, change, send or run things.

  • add_account
  • hide_comment
  • publish_carousel
  • publish_image
  • publish_reel
  • publish_story
  • publish_video
  • publishing_limit
  • reply_to_comment
  • send_message
  • set_default_account

Delete 2 · Delete, drop, revoke or wipe things.

  • delete_comment
  • remove_account

Not yet classified 1 · We could not tell from the name and description.

  • business_discovery

Secrets and settings it asks for

Secrets: values you paste in that let it act as you.

  • INSTAGRAM_MCP_ACCESS_TOKEN

Other settings (environment variables or headers).

  • INSTAGRAM_MCP_IG_USER_ID

Network hosts it talks to 2

  • diazroa.com · found in code
  • github.com · found in code

Files it touches

  • ~/.claude/instagram-mcp/accounts.json
  • ~/.claude/instagram-mcp/audit.log.jsonl
  • Your home directory (~)

Tools (29)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • account_info

    Live profile snapshot for one account: username, name, followers, media count, etc.

  • add_account

    Store an Instagram Business/Creator account for use by every tool. label a short key you choose (e.g. "onde", "mycelium", "client-acme") access_token a long-lived Instagram Graph API token (stored in the OS keychain) ig_user_id the Instagram Business Account id (numeric) app_secret optional Meta app secret — enables appsecret_proof call hardening make_default set true to make this the account used when `account` is omitted The token is written to the macOS keychain (or a chmod-600 file fallback) and is NEVER echoed back or logged.

  • business_discovery

    Public profile + (optionally) recent media for ANY business/creator account by username. Read-only competitor/prospect research via the business_discovery edge. Only works for Professional accounts (not personal). with_media pulls up to media_limit recent posts.

  • delete_comment

    Permanently delete a comment you own (or a comment on your media). Irreversible.

  • get_account_insights

    Account-level analytics (reach, impressions, profile views, follower count). metrics: comma-separated Graph metric names (default reach,impressions,profile_views, follower_count). period: day|week|days_28|lifetime. Exact available metrics vary by Graph API version; on a mismatch the Meta error names the correct metric.

  • get_audience_insights

    Follower demographics (age, gender, country, city). Requires the account to have >=100 followers (Meta privacy floor) — below that the Graph returns an error, surfaced cleanly. Newer Graph versions use metric= follower_demographics with metric_type=total_value + breakdown=age|gender|country|city and a timeframe (last_14_days|last_30_days|last_90_days|prev_month) for engaged-audience metrics. All are override-able.

  • get_comments

    List comments on a media object (text, username, timestamp, like_count, hidden).

  • get_hashtag_media

    Recent or top media for a hashtag id. edge=top_media|recent_media. limit 1-100. Get the hashtag_id from search_hashtag first. Subject to Meta's 30-unique-hashtags per-7-days query limit per account.

  • get_media

    Return full fields for one media object by id (caption, type, permalink, like/comment counts).

  • get_media_insights

    Per-post analytics (reach, saves, likes, comments, shares, total interactions). metrics override is comma-separated; defaults suit feed posts. Reels/stories expose different metrics (e.g. plays, navigation) — pass them explicitly if needed.

  • get_mentions

    List recent media where the account is @-mentioned (tags edge).

  • get_messages

    Read messages in a DM conversation. REQUIRES Meta App Review (instagram_manage_messages).

  • get_profile

    Return the account's public profile fields (followers, follows, media count, bio, website).

  • healthcheck

    Verify the MCP is configured + ready: accounts present, token backend, Graph reachability. Does a live GET on the default account's profile if one is configured. Safe to call anytime; never mutates. Returns ok=false with a hint when no account is set.

  • hide_comment

    Hide (or unhide) a comment from public view. hide=false unhides.

Show 14 more tools
  • list_accounts

    List configured Instagram accounts (labels + ig_user_id + default flag). Never returns tokens.

  • list_conversations

    List Instagram DM conversations. REQUIRES Meta App Review (instagram_manage_messages).

  • list_media

    List recent media (posts/reels) for the account, newest first. limit 1-100 (default 25).

  • publish_carousel

    Publish a multi-image carousel (2-10 images). Each image_url must be a PUBLIC https URL. Creates one child container per image (is_carousel_item) then a CAROUSEL parent, then publishes.

  • publish_image

    Publish a single image to the feed. image_url must be a PUBLIC https URL (Instagram fetches the bytes itself). caption <= 2200 chars. Two-step Graph flow (create container -> publish) handled internally.

  • publish_reel

    Publish a Reel. video_url must be a PUBLIC https URL. share_to_feed also surfaces the reel in the main grid. cover_url (optional) sets the thumbnail. Reel containers process asynchronously (polled up to 90s).

  • publish_story

    Publish a Story (image OR video). Exactly one of image_url / video_url, PUBLIC https.

  • publish_video

    Publish a video to the feed. video_url must be a PUBLIC https URL. Video containers process asynchronously; this polls status up to 90s before publishing.

  • publishing_limit

    Remaining posts in the rolling 24h publishing quota (Instagram caps API posts/day).

  • remove_account

    Remove a configured account + delete its stored token from the keychain.

  • reply_to_comment

    Reply to a comment. message <= 2200 chars. Returns the new comment id.

  • search_hashtag

    Resolve a hashtag name to its Graph id (needed before get_hashtag_media).

  • send_message

    Send a DM. REQUIRES Meta App Review + the 24-hour standard-messaging window. recipient_id is the IGSID (Instagram-scoped user id) of the recipient. Outside the 24h customer-service window a paid message tag is required (not handled here).

  • set_default_account

    Set which configured account is used when a tool's `account` arg is omitted.

Signals

Stars
11
Forks
4
Open issues
0
Weekly downloads
57
Last commit
Oct 18, 2026 (10 days ago)
Last release
Jun 17, 2026 (4 months ago)
Last package publish
Jun 17, 2026 (4 months ago)

From GitHub (fetched Oct 24, 2026) and the package registry.

Details

Registry name
io.github.adelaidasofia/instagram-mcp
Version
0.1.2
Auth
API key
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 25, 2026

More from adelaidasofia

Cite this page

Instagram MCP. Agent Mart. https://agentmart.dev/connectors/adelaidasofia-instagram-mcp (last updated 2026-10-25)