Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
INSTAGRAM_USER_IDNoYour professional account ID; set it with Facebook Login if you have several Pages.
INSTAGRAM_API_VERSIONNoInstagram Graph API version to use. Defaults to v26.0.v26.0
INSTAGRAM_ACCESS_TOKENNoInstagram access token. `IG…` = Instagram Login (graph.instagram.com) · `EAA…` = Facebook Login (graph.facebook.com). Needed for live mode; leave it out to start in demo mode with a built-in fictional account.

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

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
ig_get_profileA

Get the connected Instagram professional account: username, name, bio, website, followers, following and post count. Also says whether Glim is in demo mode (fictional sample account) or live. Call this first to check the connection.

ig_list_mediaA

List the account's posts, reels and carousels, newest first, with likes and comment counts. Returns a page; when more exist the result gives an 'after' cursor to pass back for the next page. Use ig_get_media for one post's full details, ig_get_media_insights for its views and reach.

ig_get_mediaA

Get one post, reel or carousel by ID: full caption, type, media URL, permalink, likes, comment count and carousel slides. IDs come from ig_list_media.

ig_get_account_insightsA

Account-level totals over the last N days (1-30): views, reach, accounts engaged, interactions, likes, comments, shares, saves, follows and link taps. 'views' replaced the retired 'impressions' metric. Data can lag up to 48 hours. For audience age/gender/location use ig_get_audience.

ig_get_audienceA

Who follows or engages with the account, broken down by country, city, age or gender. Needs at least 100 followers on a live account. 'followers' = follower demographics; 'engaged' = people who interacted with content in the timeframe.

ig_get_media_insightsA

Views, reach, likes, comments, shares, saves and interactions for one post, reel or story. Reels also get average watch time. Picks the right metrics for the post type automatically; pass 'metrics' to choose your own. IDs come from ig_list_media.

ig_prepare_postA

Step 1 of publishing: upload media to Instagram as an unpublished draft and return a preview with a container_id. Nothing is public yet. Show the preview to the user and get a clear yes, then call ig_publish_post with the container_id. Drafts expire after 24 hours. Media must be at a public https:// URL (Instagram downloads it). Photos must be JPEG. Reels: MP4/MOV, 3 s to 15 min. Types: 'image' (one photo), 'carousel' (2-10 photos/videos), 'reel' (one video), 'story' (one photo or video, no caption). Example: "Post this photo with caption X" -> type='image', media_url='https://.../photo.jpg', caption='X'.

ig_publish_postA

Step 2 of publishing: make a draft from ig_prepare_post public on the account. This can't be undone through the API. Only call after the user has seen the ig_prepare_post preview and confirmed. Returns the new post's ID and link.

ig_get_publishing_limitA

How many posts the account has published through the API in the last 24 hours, and the limit (usually 100; carousels count as one).

ig_list_commentsA

List comments on one of the account's posts, newest first, with replies, likes and hidden state. Use comment IDs with ig_reply_to_comment, ig_hide_comment or ig_delete_comment. Get media IDs from ig_list_media.

ig_reply_to_commentA

Post a public reply. Give comment_id to reply under a comment, or media_id to add a new top-level comment on a post. Replies are public and appear as the account. Instagram only allows replies to top-level comments.

ig_hide_commentA

Hide a comment (e.g. spam or abuse) so only its author still sees it, or unhide it. Reversible; prefer this over deleting.

ig_delete_commentA

Permanently delete a comment on the account's own post. Can't be undone; confirm with the user first, and consider ig_hide_comment instead.

ig_list_conversationsA

List the account's Instagram DM conversations, most recent first, with who they're with. Returns conversation IDs for ig_get_messages and the other person's ID (IGSID) for ig_send_message. Needs instagram_business_manage_messages.

ig_get_messagesA

Read the latest messages (up to 20, Instagram's limit) in one DM conversation, newest first. Get conversation IDs from ig_list_conversations.

ig_send_messageA

Send a text DM as the account. Instagram allows this only within 24 hours of the person's last message to you. recipient_id is the person's Instagram-scoped ID from ig_list_conversations or ig_get_messages. Max 1000 bytes. Confirm the text with the user first.

ig_search_hashtagA

Find public posts for a hashtag: 'top' (most popular) or 'recent' (last 24 hours only). Meta limits this to 30 unique hashtags per 7 days per account, and it needs a Facebook Login token with Instagram Public Content Access. Example: "What's trending under #punefood?" -> hashtag='punefood', kind='top'.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.2/5.0

Scored across 17 tools

Disambiguation5/5

Each tool targets a clearly distinct resource and action: comments, DMs, media, publishing, hashtag search, and insights are well separated. The closest overlaps, such as ig_get_media versus ig_get_media_insights, are clarified by descriptions and do not create real selection ambiguity.

Naming Consistency5/5

All tools use a consistent ig_ prefix followed by snake_case verb_noun phrasing, such as ig_list_media, ig_get_profile, and ig_send_message. The publishing pair ig_prepare_post / ig_publish_post is especially coherent.

Tool Count4/5

At 17 tools, the surface is slightly above the typical 3-15 range but remains reasonable given the breadth of Instagram account management. Each tool appears to earn its place, though the set could potentially consolidate a few read/insight operations.

Completeness4/5

The set covers the core lifecycle well: profile and media reads, comment moderation, DMs, publishing, and account/media insights. Minor gaps remain, such as no explicit story listing/discovery and no published-post deletion or caption editing, but agents can work around most of these.

Maintenance

ActivityMaintained
ResponsivenessNo issues