# instagram-mcp

Production-grade MCP server for Instagram. 79 tools - 30 anonymous (no credentials), 48 authenticated, 1 auto-mode. Profile scraping, engagement analytics, DM inbox/send, hashtag research, stories, r…

## Quick Start

```bash
# Connect this server (installs CLI if needed)
npx -y smithery mcp add kelajak054/instagram-mcp

# Browse available tools
npx -y smithery tool list kelajak054/instagram-mcp

# Get full schema for a tool
npx -y smithery tool get kelajak054/instagram-mcp instagram_profile

# Call a tool
npx -y smithery tool call kelajak054/instagram-mcp instagram_profile '{}'
```

## Tools (79)

- `instagram_profile` — Profile metadata, follower/following counts, bio, recent feed tags, activity status.
- `instagram_feed_deep` — Paginated feed analysis up to 200 posts with date filtering and content breakdown.
- `instagram_bulk_check` — Fetch up to 20 accounts in parallel with status for each.
- `instagram_compare_profiles` — Side-by-side comparison table for 2–5 accounts.
- `instagram_analyze_engagement` — Engagement rate %, content mix, best posting days, top hashtags across up to 200 posts.
- `instagram_find_collab_network` — Map usertags, @mentions, co-authors, and paid sponsors across recent posts.
- `instagram_account_report` — Full profile + engagement analytics + collab network in one call.
- `instagram_caption_analyze` — Caption patterns — avg length, hashtag density, emoji rates, CTA frequency.
- `instagram_compare_followers` — Compare follower/following sets between two accounts — find unfollowers or non-mutuals.
- `instagram_analyze_comments` — Sentiment analysis on post comments — positive/neutral/negative with emoji stats and keywords (EN/UZ/RU). No login requ…
- `instagram_post` — Full post details — location (GPS + Maps link), music, usertags, coauthors, exact timestamp.
- `instagram_post_bulk` — Fetch up to 50 posts in parallel by shortcode or URL.
- `instagram_post_comments` — Fetch comments with likes and thread structure (up to 500).
- `instagram_hashtag` — Top posts for a hashtag. Anon: 12 posts; authenticated: up to 300. Auto-upgrades.
- `instagram_hashtag_deep` — Top accounts, content breakdown, best posting hour across up to 500 hashtag posts.
- `instagram_niche_top` — Account leaderboard for a hashtag ranked by engagement, post count, or total likes.
- `instagram_hashtag_suggest` — Related hashtag suggestions by analyzing top posts under a seed tag.
- `instagram_threads_profile` — Profile metadata from Threads (threads.net) — followers, bio, verification.
- `instagram_threads_posts` — Recent posts for a Threads user.
- `instagram_batch_scrape` — Scrape up to 2000 profiles. profile_only=True gives 30–60x speedup for bulk bio/follower scraping.
- `instagram_server` — Diagnostics and cache management — status, clear_cache, clear_user, reload_cookies.
- `instagram_home_feed` — Your authenticated home feed. (AUTH)
- `instagram_saved_posts` — Your bookmarked posts. (AUTH)
- `instagram_liked_posts` — Posts you have liked. (AUTH)
- `instagram_activity_feed` — Your recent activity notifications. (AUTH)
- `instagram_post_likers` — Users who liked a specific post (up to ~98). (AUTH)
- `instagram_similar_accounts` — Accounts Instagram considers similar via internal chaining API. (AUTH)
- `instagram_search` — Search users and hashtags by keyword. (AUTH)
- `instagram_user_search` — User search with higher-quality ranking via authenticated API. (AUTH)
- `instagram_user_id_lookup` — Look up a user's numeric ID by username. (AUTH)
- `instagram_followers_list` — Recent followers with mutual follow status. (AUTH)
- `instagram_following_list` — Full following list with close-friends detection. (AUTH)
- `instagram_user_followers` — Paginated followers for any user by numeric user_id. (AUTH)
- `instagram_user_following` — Paginated following for any user by numeric user_id. (AUTH)
- `instagram_tagged_by` — Posts by other accounts that tag this account. (AUTH)
- `instagram_reposts` — Content this account actively reposted. (AUTH)
- `instagram_reels` — Account's reels with play counts — the only tool that exposes play_count. (AUTH)
- `instagram_stories` — Currently active stories (cached 2 min). (AUTH)
- `instagram_highlights` — Highlights tray + optional story items inside. (AUTH)
- `instagram_audio_reels` — Reels using a specific audio track by audio_cluster_id. (AUTH)
- `instagram_location_posts` — Top posts at a location by Instagram location ID or name. (AUTH)
- `instagram_media_insights` — Impressions, reach, saves for your own posts (Business/Creator accounts only). (AUTH)
- `instagram_post_like` — Like or unlike a post. (AUTH)
- `instagram_post_save` — Save or unsave (bookmark) a post. (AUTH)
- `instagram_post_comment` — Post a comment. (AUTH)
- `instagram_comment_reply` — Reply to a specific comment. (AUTH)
- `instagram_comment_like` — Like or unlike a comment. (AUTH)
- `instagram_comment_hide` — Hide a comment on your own post. (AUTH)
- `instagram_delete_comment` — Delete a comment. (AUTH)
- `instagram_toggle_comments` — Disable or enable comments on your post. (AUTH)
- `instagram_post_delete` — Delete one of your own posts. (AUTH)
- `instagram_follow_user` — Follow or unfollow a user. (AUTH)
- `instagram_block_user` — Block or unblock a user. (AUTH)
- `instagram_account_privacy` — Switch account between public and private. (AUTH)
- `instagram_edit_profile` — Edit bio, display name, website, email, or phone. (AUTH)
- `instagram_publish_story` — Publish a photo as a Story (24h). (AUTH)
- `instagram_story_mark_seen` — Mark stories as viewed. (AUTH)
- `instagram_story_reply` — Reply to a story via DM. (AUTH)
- `instagram_dm_inbox` — Read DM inbox — list of threads with last message preview. (AUTH)
- `instagram_dm_thread` — Fetch messages in a specific DM thread with pagination. (AUTH)
- `instagram_dm_send` — Send a text DM to a user or thread. (AUTH)
- `instagram_dm_send_photo` — Send a photo in a DM. (AUTH)
- `instagram_dm_send_video` — Send a video in a DM. (AUTH)
- `instagram_dm_media_messages` — Fetch media messages (photos, videos, reels) in a thread. (AUTH)
- `instagram_dm_react` — Add or remove an emoji reaction on a DM message. (AUTH)
- `instagram_dm_unsend` — Delete a sent DM message. (AUTH)
- `instagram_dm_mute` — Mute or unmute a DM thread. (AUTH)
- `instagram_dm_share_post` — Share a post into a DM thread. (AUTH)
- `instagram_dm_mark_seen` — Mark a DM thread as seen. (AUTH)
- `instagram_upload_photo` — Upload 1–10 images as a post or carousel. (AUTH)
- `instagram_upload_reel` — Upload an MP4 as a Reel. (AUTH)
- `instagram_upload_video` — Upload an MP4 as a regular video post. (AUTH)
- `instagram_download` — Download all media from a post (single/video/carousel) to local disk.
- `instagram_broadcast_channel` — Read a creator's Broadcast Channel — info or messages. (AUTH)
- `instagram_schedule` — Schedule posts for future publishing — add, list, cancel, status. (AUTH)
- `instagram_monitor` — Poll accounts for new posts and fire webhooks on new content. (AUTH)
- `instagram_sessions` — Manage multiple Instagram accounts via INSTAGRAM_MCP_COOKIES_<ALIAS> env vars.
- `instagram_oauth` — Full Graph API OAuth 2.0 flow — init_flow, exchange_code, refresh_token, status.
- `instagram_submit_verification_code` — Submit SMS/Email/2FA code to resolve a pending Instagram checkpoint challenge and restore the account session. (AUTH)

```bash
# Get full input/output schema for a tool
npx -y smithery tool get kelajak054/instagram-mcp <tool-name>
```
