Instagram MCP
Official, multi-account Instagram Graph API MCP: read, publish, analytics, comments, DMs.
Connector by adelaidasofia · GitHub account verified by the MCP Registry
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.
About
Reviews
Write a reviewNo 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_infoget_account_insightsget_audience_insightsget_commentsget_hashtag_mediaget_mediaget_media_insightsget_mentionsget_messagesget_profilehealthchecklist_accounts
Show 3 more tools
list_conversationslist_mediasearch_hashtag
Write 11 · Create, change, send or run things.
add_accounthide_commentpublish_carouselpublish_imagepublish_reelpublish_storypublish_videopublishing_limitreply_to_commentsend_messageset_default_account
Delete 2 · Delete, drop, revoke or wipe things.
delete_commentremove_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 codegithub.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_infoLive profile snapshot for one account: username, name, followers, media count, etc.
add_accountStore 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_discoveryPublic 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_commentPermanently delete a comment you own (or a comment on your media). Irreversible.
get_account_insightsAccount-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_insightsFollower 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_commentsList comments on a media object (text, username, timestamp, like_count, hidden).
get_hashtag_mediaRecent 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_mediaReturn full fields for one media object by id (caption, type, permalink, like/comment counts).
get_media_insightsPer-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_mentionsList recent media where the account is @-mentioned (tags edge).
get_messagesRead messages in a DM conversation. REQUIRES Meta App Review (instagram_manage_messages).
get_profileReturn the account's public profile fields (followers, follows, media count, bio, website).
healthcheckVerify 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_commentHide (or unhide) a comment from public view. hide=false unhides.
Show 14 more tools
list_accountsList configured Instagram accounts (labels + ig_user_id + default flag). Never returns tokens.
list_conversationsList Instagram DM conversations. REQUIRES Meta App Review (instagram_manage_messages).
list_mediaList recent media (posts/reels) for the account, newest first. limit 1-100 (default 25).
publish_carouselPublish 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_imagePublish 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_reelPublish 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_storyPublish a Story (image OR video). Exactly one of image_url / video_url, PUBLIC https.
publish_videoPublish 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_limitRemaining posts in the rolling 24h publishing quota (Instagram caps API posts/day).
remove_accountRemove a configured account + delete its stored token from the keychain.
reply_to_commentReply to a comment. message <= 2200 chars. Returns the new comment id.
search_hashtagResolve a hashtag name to its Graph id (needed before get_hashtag_media).
send_messageSend 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_accountSet 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
- Packages
- pypi adelaidasofia-instagram-mcp
- License
- MIT
- Repository
- github.com/adelaidasofia/instagram-mcp
- Website
- diazroa.com
- First seen
- Oct 24, 2026
- Last checked
- Oct 25, 2026
More from adelaidasofia
- 0.561score
WhatsApp MCP
adelaidasofia
WhatsApp MCP by adelaidasofia
ConnectorAFreshness: ALocal★ 6↓ 36/wkClaude Code +5 - 0.533score
Multi-account MCP for Gmail, Calendar, Drive, Docs, and Sheets — 61 tools, token
adelaidasofia
Multi-account MCP for Gmail, Calendar, Drive, Docs, and Sheets — 61 tools, token-efficient, macOS…
ConnectorAFreshness: ALocal★ 3Claude Desktop - 0.533score
FastMCP server for Apollo
adelaidasofia
FastMCP server for Apollo.io — 22 tools: sequences, campaign health, mailbox warmup, enrichment,…
ConnectorAFreshness: ALocal★ 3Claude Desktop - 0.527score
macOS-only MCP server that exposes iMessage chat
adelaidasofia
macOS-only MCP server that exposes iMessage chat.db to Claude and exports per-chat history to an…
ConnectorAFreshness: ALocal★ 2Claude Desktop - 0.527score
Multi-workspace Slack MCP server with draft+confirm safety, vault auto-export, a
adelaidasofia
Multi-workspace Slack MCP server with draft+confirm safety, vault auto-export, and triple-mode…
ConnectorAFreshness: ALocal★ 2Claude Desktop - 0.510score
Linear MCP (multi-workspace, PAT auth)
adelaidasofia
Multi-workspace Linear MCP — PAT auth, 57 tools + 3 prompts, substrate enforcement, drop-in.
ConnectorBFreshness: BLocal★ 2↓ 33/wkClaude Code +5
Cite this page
Instagram MCP. Agent Mart. https://agentmart.dev/connectors/adelaidasofia-instagram-mcp (last updated 2026-10-25)