Glim
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| INSTAGRAM_USER_ID | No | Your professional account ID; set it with Facebook Login if you have several Pages. | |
| INSTAGRAM_API_VERSION | No | Instagram Graph API version to use. Defaults to v26.0. | v26.0 |
| INSTAGRAM_ACCESS_TOKEN | No | Instagram 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
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 17 tools
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.
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.
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.
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.