Skip to main content
Glama
official-Arvind

Instagram Control MCP Server

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Capabilities

Features and capabilities supported by this server

CapabilityDetails
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

NameDescription
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.

  • full_name: Display name

  • biography: Bio text (supports emojis, newlines, @mentions, #hashtags)

  • external_url: Website link in bio Only fields you provide are updated.

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:

  • image_path_or_url: Local file path or direct image URL

  • caption: Main post caption/description text

  • hashtags: Comma-separated hashtags to append (e.g. "#python, #ai, #coding")

  • mentions: Comma-separated @usernames to mention in caption (e.g. "@nasa, @google")

  • tag_users_in_photo: Comma-separated @usernames to physically TAG in the image (people tags)

  • location_name: Location to tag (e.g. "New York, USA" or "Eiffel Tower")

  • alt_text: Accessibility alt text describing the image content

  • disable_comments: Set True to disable comments on this post

  • hide_likes: Set True to hide like count from others

instagram_post_albumB

Post a carousel album (2–10 photos/videos) with full caption control.

Parameters:

  • image_paths_or_urls: List of local paths or URLs (up to 10 items)

  • caption: Main caption text

  • hashtags: Comma-separated hashtags (e.g. "#travel, #photography")

  • mentions: Comma-separated @mentions (e.g. "@friend1, @brand")

  • location_name: Location tag string

  • disable_comments: Set True to disable comments

instagram_post_videoB

Post a video to the feed with full caption control.

Parameters:

  • video_path_or_url: Local path or URL to MP4 file

  • caption: Caption text

  • hashtags: Comma-separated hashtags

  • mentions: Comma-separated @mentions

  • location_name: Location to tag

  • thumbnail_path_or_url: Custom thumbnail image (optional)

  • alt_text: Accessibility description for the video

  • disable_comments: Set True to disable comments

instagram_post_reelA

Post a Reel with full caption control. Reels have the highest organic reach.

Parameters:

  • video_path_or_url: Local path or URL to MP4 video

  • caption: Caption text

  • hashtags: Comma-separated hashtags (crucial for Reel discovery)

  • mentions: Comma-separated @mentions

  • location_name: Location tag

  • disable_comments: Set True to disable comments

instagram_edit_post_captionB

Edit the caption of an existing post.

Parameters:

  • media_id_or_url: Post media ID or full Instagram URL

  • new_caption: The new caption text (replaces the old one entirely)

  • hashtags: Hashtags to append to the new caption

  • mentions: @mentions to append to the new caption

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:

  • media_id_or_url: Post media ID or Instagram URL

  • usernames: Comma-separated @usernames to tag in the photo

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:

  • media_id_or_url: Post media ID or full Instagram URL

  • alt_text: Text description of the image/video content

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:

  • image_path_or_url: Local path or image URL

  • mentions: Comma-separated @usernames to add as mention stickers

  • hashtags: Comma-separated hashtags for hashtag stickers

  • location_name: Location sticker text

  • link_url: Link sticker URL (the swipe-up / link button on story)

  • close_friends_only: Post only to your Close Friends list

instagram_post_video_storyB

Post a video Story with full sticker support.

Parameters:

  • video_path_or_url: Local path or URL to MP4

  • mentions: Comma-separated @usernames for mention stickers

  • hashtags: Comma-separated hashtags for hashtag stickers

  • location_name: Location sticker text

  • link_url: Link sticker URL

  • close_friends_only: Post only to Close Friends

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:

  • username: to start or continue a conversation with a user.

  • thread_id: to reply in an existing thread.

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

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

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