Instagram Control MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| instagram_login_with_credentialsA | Log in using username + password. Returns 'needs_2fa' or 'needs_challenge' if verification is required. |
| instagram_login_with_sessionidA | Log in via browser sessionid cookie — most reliable, bypasses 2FA. Get it: Instagram.com → F12 → Application → Cookies → copy 'sessionid'. |
| instagram_complete_2faA | Submit the 2FA authenticator code after login returned 'needs_2fa'. |
| instagram_complete_challengeA | Submit the email/SMS challenge code after login returned 'needs_challenge'. |
| instagram_get_login_statusA | Check if the server is authenticated and which account is active. |
| instagram_logoutA | Log out and delete the saved session file from disk. |
| instagram_get_profileB | Get full profile details for the logged-in account or any target username. Includes bio, follower/following counts, post count, website, verification status. |
| instagram_edit_profileA | Edit the logged-in account's profile.
|
| instagram_change_profile_pictureB | Change the profile picture. Accepts local file path or image URL. |
| instagram_post_photoA | Post a photo to the Instagram feed with FULL control. Parameters:
|
| instagram_post_albumB | Post a carousel album (2–10 photos/videos) with full caption control. Parameters:
|
| instagram_post_videoB | Post a video to the feed with full caption control. Parameters:
|
| instagram_post_reelA | Post a Reel with full caption control. Reels have the highest organic reach. Parameters:
|
| instagram_edit_post_captionB | Edit the caption of an existing post. Parameters:
|
| instagram_tag_users_in_postA | Tag one or more users physically IN a photo (people tags). NOTE: Instagram's API only supports setting usertags at upload time. Use the tag_users_in_photo parameter in instagram_post_photo/post_reel instead. This tool attempts a post-upload tag via the private endpoint. Parameters:
|
| instagram_set_post_alt_textB | Attempt to set accessibility alt text on an existing post via the private API. Alt text describes the image content for visually impaired users. Parameters:
|
| instagram_disable_commentsC | Disable comments on a post. |
| instagram_enable_commentsA | Enable comments on a post (reverses a previous disable). |
| instagram_archive_postB | Archive a post (hides it from your profile grid, but keeps it saved). Archived posts can be found in your Archive section. |
| instagram_unarchive_postC | Unarchive a post (restores it to your profile grid). |
| instagram_pin_postB | Pin a post to the top of your profile grid. You can pin up to 3 posts on your profile. |
| instagram_unpin_postA | Remove a pinned post from the top of your profile grid. |
| instagram_delete_postA | Permanently delete a post. This cannot be undone. |
| instagram_get_user_feedB | Get recent posts from the logged-in account or any target username. |
| instagram_get_timeline_feedC | Get the home timeline feed — posts from accounts you follow. |
| instagram_get_media_infoA | Get detailed information about any post by ID or URL. |
| instagram_get_tagged_postsB | Get posts where the logged-in account (or a target username) is tagged. |
| instagram_get_saved_postsB | Get posts saved in your Saved collection. |
| instagram_download_postC | Download a post's photo or video to local disk. |
| instagram_post_photo_storyA | Post a photo Story with full sticker support. Parameters:
|
| instagram_post_video_storyB | Post a video Story with full sticker support. Parameters:
|
| instagram_get_user_storiesC | Get active stories for the logged-in account or a target username. |
| instagram_delete_storyC | Delete one of your active stories by media ID. |
| instagram_get_story_viewersC | Get the list of users who viewed one of your stories. |
| instagram_get_highlightsB | Get story highlights for the logged-in account or a target username. |
| instagram_create_highlightB | Create a new story highlight collection from existing stories. |
| instagram_delete_highlightB | Delete a highlights collection by its ID. |
| instagram_like_postB | Like a post by media ID or URL. |
| instagram_unlike_postC | Remove a like from a post. |
| instagram_save_postB | Save a post to your Saved collection. |
| instagram_unsave_postB | Remove a post from your Saved collection. |
| instagram_get_post_likersC | Get the list of users who liked a post. |
| instagram_comment_on_postC | Post a comment on any media item. |
| instagram_reply_to_commentC | Reply to a specific comment on a post. |
| instagram_delete_commentB | Delete a comment by media ID/URL and comment ID. |
| instagram_like_commentC | Like a comment on a post. |
| instagram_get_post_commentsB | Get comments on a post with usernames, text, and timestamps. |
| instagram_follow_userC | Follow a user by username. |
| instagram_unfollow_userC | Unfollow a user by username. |
| instagram_get_followersA | Get the followers list for the logged-in account or a target username. |
| instagram_get_followingA | Get the accounts that the logged-in account (or target username) is following. |
| instagram_block_userB | Block a user by username. |
| instagram_unblock_userC | Unblock a previously blocked user. |
| instagram_get_blocked_usersA | Get the full list of users you have blocked. |
| instagram_get_direct_threadsA | Get recent DM threads with thread IDs, participants, and last activity. |
| instagram_get_direct_messagesC | Get messages in a DM thread, sorted chronologically. |
| instagram_send_direct_messageA | Send a text DM. Provide either:
|
| instagram_send_dm_photoC | Send a photo via DM. Provide username or thread_id. |
| instagram_send_dm_videoB | Send a video via DM. Provide username or thread_id. |
| instagram_mark_thread_seenC | Mark a DM thread as seen/read. |
| instagram_search_usersA | Search for Instagram users by name or username. |
| instagram_search_hashtagA | Get recent posts for a hashtag. Do not include '#' symbol. |
| instagram_get_hashtag_top_postsA | Get trending/top posts for a hashtag. Do not include '#' symbol. |
| instagram_get_hashtag_infoA | Get information about a hashtag including total post count. |
| instagram_get_similar_accountsB | Find accounts similar to a given username (Instagram's 'suggested for you'). |
| instagram_get_location_postsC | Get recent posts tagged at a specific location. |
| instagram_get_notificationsB | Get recent activity — likes, comments, follows, mentions, tags. |
| instagram_get_pending_follow_requestsA | Get pending follow requests for your account (relevant for private accounts). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/official-Arvind/instagram-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server