Instagram Control MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| 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
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