Instagram Agent by Nova (CIVAI)
Server Details
I use your Instagram Web browser session (Integrations → Instagram Web) via instagrapi, not Meta /…
- Status
- Healthy
- Uptime
- 34.8% over 21 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 9 tools
Most tools target distinct resources (hashtag posts vs user posts vs comments vs stories vs DMs). The only mild overlap is lookup_instagram_profile vs search_instagram_accounts, and converse is a generic fallback, but descriptions make the boundaries clear enough.
Names are almost uniformly snake_case verb_noun (fetch_*, list_dm_threads, send_direct_message, lookup_*, search_*). The lone deviation is 'converse', a bare verb with no noun, but it still fits the readable pattern.
Nine tools is well-scoped for an Instagram agent covering reads plus a DM action. Each tool earns its place with no redundant entries.
Read coverage is broad (profiles, posts, comments, stories, hashtags, DMs) and one write action exists (send_direct_message). However, obvious lifecycle gaps remain: no post publishing, commenting, liking, or follow/unfollow, so write workflows are largely unsupported.
Available Tools
9 toolsconverseCInspect
Reply conversationally when the request is ambiguous or needs clarification.
| Name | Required | Description | Default |
|---|---|---|---|
| reply_hint | No | Optional hint for the conversational reply. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It says nothing about whether this ends the turn, whether it mutates state, whether it should be combined with other tool calls, or what the reply consists of — significant gaps for a tool with zero structured behavioral coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence that front-loads the action and appends the trigger condition; nothing is wasted. It is efficient, though it is efficient at a fairly low level of detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is low-complexity (one optional param, no output schema), so the short description is defensible, but with no annotations and no output schema the description should at least clarify the conversational fallback's role in the turn lifecycle. It stops just short of that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one optional parameter (reply_hint) whose schema description already covers it at 100% coverage, so the baseline of 3 applies. The description adds no syntax, format, or influence guidance beyond what the schema already supplies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
It gives a verb ('reply conversationally') and a trigger condition ('when the request is ambiguous or needs clarification'), which separates it from the calendar siblings by function. However, the 'resource' is nebulous — there is no statement of what the reply acts on or produces, so the agent must infer it is a non-action fallback.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description names one condition for use: ambiguity or need for clarification. It implies, but never states, that the event-management siblings (add/update/delete/check events) are the alternative when the request is clear, leaving the when-not boundary to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetch_hashtag_recent_postsCInspect
Instagram Web: fetch hashtag recent posts
| Name | Required | Description | Default |
|---|---|---|---|
| detail | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, yet it only restates the tool name. It says nothing about return format, pagination, authentication, or rate limits for what is presumably a scrape-backed fetch.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single front-loaded fragment with zero waste, but its extreme terseness is under-specification rather than effective conciseness. There is nothing superfluous, yet nothing earned beyond the purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and an undocumented parameter, the description is far too thin for an agent to invoke the tool correctly. Nothing addresses what is returned or how 'detail' affects the call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'detail' has 0% schema description coverage, and the description adds no meaning whatsoever about what 'detail' means or what values it accepts. The vague name is left entirely unexplained in both places.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb 'fetch' plus the resource 'hashtag recent posts' on 'Instagram Web', which is enough to distinguish it from siblings like fetch_user_recent_posts or fetch_user_stories. It is clear but offers no explicit sibling differentiation beyond the resource name itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, nor any prerequisites or exclusions. The only contextual signal is 'Instagram Web', which hints at the data source but does not help selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetch_post_commentsDInspect
Instagram Web: fetch post comments
| Name | Required | Description | Default |
|---|---|---|---|
| detail | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing: no authentication requirements, no pagination/limit behavior, no rate limits, and no indication of what the single 'detail' parameter does. This is a read operation whose safety and return characteristics are entirely undocumented.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short and front-loaded, but its brevity comes from omission rather than economy. The 'Instagram Web:' prefix consumes space without conveying actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations, no output schema, and an undocumented parameter, the description supplies almost none of what an agent needs: no target-post identifier, no pagination expectations, no return shape. It is inadequate for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single parameter 'detail', and the description adds no meaning to it. An agent cannot determine whether 'detail' is a post ID, URL, or a verbosity flag, making correct invocation guesswork.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (fetch) and resource (post comments) on Instagram, which is enough to distinguish it from siblings like fetch_user_stories or send_direct_message. However, the 'Instagram Web:' prefix is a platform tag rather than useful purpose information, and it never says which post the comments belong to or what identifies the target.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to use this tool versus alternatives, no prerequisites, and no exclusions. An agent must infer from the name alone that this retrieves comments for a specific post.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetch_user_recent_postsDInspect
Instagram Web: fetch user recent posts
| Name | Required | Description | Default |
|---|---|---|---|
| detail | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing. It does not say whether authentication or cookies are required, whether results are paginated or rate-limited, how 'recent' is bounded, or what happens on a private/nonexistent account. The 'Instagram Web' hint at scraping is not elaborated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short, front-loaded line with no padding, which is structurally fine. However, the 'Instagram Web:' prefix adds little value, and the terseness here reflects under-specification rather than disciplined concision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with an undocumented parameter, no annotations, and no output schema, the description supplies none of the context an agent needs. Nothing about return shape, scope, or failure modes is covered, leaving the definition unusable beyond name matching.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'detail' has 0% schema description coverage, and the description is completely silent about it. The agent cannot tell whether 'detail' is a username, a pagination cursor, a verbosity flag, or an enum-like mode selector. The description does nothing to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description largely restates the tool name: 'fetch user recent posts' maps one-to-one onto fetch_user_recent_posts with no added specificity. The 'Instagram Web' prefix names a platform but does not clarify what a 'user' is (username? ID?) or what 'recent' means. It also fails to distinguish itself from the sibling fetch_hashtag_recent_posts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus fetch_hashtag_recent_posts, lookup_instagram_profile, or fetch_user_stories. No prerequisites, no mention of what input identifies the target user, and no exclusions. The agent must guess entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetch_user_storiesCInspect
Instagram Web: fetch user stories
| Name | Required | Description | Default |
|---|---|---|---|
| detail | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing. "Fetch" weakly implies a read operation, but there is no mention of authentication requirements, rate limits, whether stories expire, or what the response contains. For a tool with zero annotation coverage this is a substantial gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short phrase with no wasted words and the platform prefix is front-loaded. However, its brevity reflects under-specification rather than disciplined conciseness — there is simply almost no content to structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with an undocumented parameter, no annotations, and no output schema, the description should explain the target user, the auth model, and the meaning of "detail." None of these appear, so an agent lacks what it needs to call this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter "detail" has 0% schema description coverage, so the schema explains nothing. The description also says nothing about what "detail" means or accepts, leaving the only parameter entirely undocumented in both places. With a 1-param tool at 0% coverage, the description was obligated to compensate and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb and resource ("fetch user stories") plus the platform (Instagram Web), so the basic action is identifiable. However, "user" is ambiguous — it never says whether this returns the authenticated user's stories or another user's, and with no username parameter in the schema the target of the fetch is unclear. It also does nothing to distinguish itself from siblings like fetch_user_recent_posts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus fetch_user_recent_posts, lookup_instagram_profile, or any other sibling. No prerequisites, no exclusions, no conditions are stated. The agent must infer usage entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_dm_threadsDInspect
Instagram Web: list dm threads
| Name | Required | Description | Default |
|---|---|---|---|
| detail | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the entire behavioral burden. It discloses nothing about whose threads are returned, pagination, auth requirements, rate limits, or result shape. The bare phrase 'list dm threads' leaves all behavioral traits undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short and front-loaded, but this is under-specification rather than genuine conciseness. The 'Instagram Web:' prefix consumes space without adding usable meaning for the agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and a 0%-documented parameter, the description is far too thin for the tool to be called correctly. Nothing tells the agent what the returned list contains or how to constrain it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single parameter 'detail' is completely undocumented in both schema and description. The description adds no meaning about what 'detail' accepts or controls, so it fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ('list dm threads') and scopes it to Instagram Web, so the basic purpose is inferable. However, it largely restates the tool name, and it does nothing to distinguish this from sibling read tools or from the DM-related siblings like send_direct_message and converse. That places it at the vague/minimal end rather than a clear 4.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, when not to, or which alternative to prefer. The sibling list contains send_direct_message and converse, yet the description gives no routing signal between listing, reading, and sending DMs. No guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_instagram_profileDInspect
Instagram Web: lookup instagram profile
| Name | Required | Description | Default |
|---|---|---|---|
| detail | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing about authentication requirements, rate limits, failure modes, or what the lookup returns. The only hint is the 'Instagram Web' prefix, which weakly implies an unauthenticated web endpoint rather than a Graph API path.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The one-line description wastes no words, but it is under-specified rather than concise; nearly all the content is a name restatement, so the brevity reflects missing information rather than efficient phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Even for a one-parameter tool, the definition is incomplete: no annotations, no output schema, and no explanation of the opaque 'detail' parameter or return shape. An agent cannot reliably call this tool from the definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single parameter 'detail' is completely opaque in both the schema (a bare string) and the description. The description adds no meaning whatsoever about what 'detail' accepts or controls, leaving the agent unable to populate it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a restatement of the tool name: 'lookup instagram profile' mirrors lookup_instagram_profile, plus an 'Instagram Web' data-source prefix. It names a verb and resource but gives no keying mechanism (handle, username, URL?) and does nothing to distinguish it from the sibling search_instagram_accounts, which is a near-tautology per the rubric.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool rather than search_instagram_accounts or fetch_user_recent_posts, and no prerequisites or input conditions are stated. The agent must infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_instagram_accountsCInspect
Instagram Web: search instagram accounts
| Name | Required | Description | Default |
|---|---|---|---|
| detail | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of disclosure, and it discloses almost nothing: no authentication requirements, no rate limits, no indication of whether this uses an authenticated web session (the "Instagram Web" phrase is suggestive but unexplained), and no pagination or result-count behavior. Only the hint that it operates against the web interface is added.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short, front-loaded fragment with no wasted words. The brevity, however, reflects under-specification rather than efficiency, so it earns only a middling score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no annotations, and one undocumented parameter, the description needs to do far more work. It does not explain what is searched, what is returned, or how results are shaped, so an agent cannot confidently invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single parameter "detail," and the description says nothing about it. The parameter name is opaque — it could be a search query, a detail level, or a mode flag — and the description makes no attempt to disambiguate it, which is a severe gap for a search tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description does state a verb and resource ("search instagram accounts"), so the basic action is discernible. However it offers no differentiation from sibling tools such as lookup_instagram_profile, which also retrieves account data, leaving the agent to guess which to use. The "Instagram Web" prefix hints at the mechanism but not the scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus lookup_instagram_profile or any other sibling. No query semantics, no prerequisites, no exclusions are stated. The agent must infer usage entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
send_direct_messageCInspect
Instagram Web: send direct message
| Name | Required | Description | Default |
|---|---|---|---|
| detail | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full behavioral burden. It conveys only that this is a write action on Instagram Web, with no mention of required authentication, whether the recipient must be resolved beforehand, rate limits, or side effects of failure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short clause with no padding, which is structurally clean and front-loaded. However, its brevity comes at the cost of substance rather than from tight editing of meaningful content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and an undocumented parameter, the description is far too thin. An agent is not told how to specify the recipient or message content, which is essential to invoke this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% for the single parameter 'detail', and the description does not explain it at all. It is unclear whether 'detail' is the message body, a recipient identifier, or a composite payload, leaving the agent unable to construct a valid call.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource (send a direct message) on a named platform (Instagram Web), so an agent can tell what the tool does. It offers no differentiation from siblings such as converse or list_dm_threads, which is the sole reason it is not a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool rather than converse or list_dm_threads, nor any prerequisite information (e.g., that a thread/recipient must exist first). Usage must be entirely inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
9 tool updates
- First observed
converse - First observed
fetch_hashtag_recent_posts - First observed
fetch_post_comments - First observed
fetch_user_recent_posts - First observed
fetch_user_stories - First observed
list_dm_threads - First observed
lookup_instagram_profile - First observed
search_instagram_accounts - First observed
send_direct_message
Related MCP Connectors
I use your linked Telegram MTProto session (Integrations → Telegram) to list groups, members, and s…
Publish to Instagram from chat — official Graph API, OAuth 2.1, free for your own posts.
Instagram, TikTok, Threads, Bluesky and 8 more: one API, one key, one JSON shape
- ReelDropOAuthio.reeldrop
Schedule Instagram reels, manage comment-to-DM automations, and read analytics
Related MCP Servers
- AlicenseAqualityCmaintenanceMCP server for Instagram Graph API, Threads API & Meta platform — posting, insights, comments, messaging57360 npm26MIT
- FlicenseAqualityCmaintenanceEnables posting and managing Instagram content (photos, reels, stories, carousels) and interacting with media and comments via Instagram Graph API.106 npm-
- AlicenseBqualityBmaintenanceEnables reading, publishing, commenting on, and analyzing Instagram Business/Creator accounts through the official Graph API, with multi-account support and an optional self-hosted publishing panel.29MIT

@inssist/mcpofficial
AlicenseAqualityAmaintenanceEnables AI agents to manage a personal Instagram account through a logged-in browser session, supporting actions like reading profiles and DMs, publishing posts, reels, and stories, scheduling content, and accessing insights and audience reports.60144 npm31MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.