INSSIST
NPM · @INSSIST/MCP
Drive your own logged-in Instagram session via the INSSIST extension: read, publish, DMs, analytics.
Available components
Last scanned (12 hours ago)
Scores higher than 72% of npm servers
Category Marketing and SEO
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security98
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- 30 of 93 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency48
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 43 days ago).Pass
- Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability76
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 7683 tokens (~128/item across 60 items; 60 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management80
- Stability observed for 24 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 7 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 61 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Checks we ran (16)
- Malware scan
- Known CVEs
- Install scripts
- Dependency health
- Source repository
- Provenance
- License
- Maintenance
- Security disclosure
- Schema quality
- Stability
- Tool coverage
- Injection markers
- Destructive annotations
- Judged manipulation
- MCP protocol
Does not apply to this package (2)
- Endpoint SecurityScored on hosted endpoints only. A package has no live endpoint of its own for us to probe.
- Transport & ReachabilityScored on hosted endpoints only. A package has no live endpoint of its own for us to probe.
The score does not measure everything. What the score does not measure →
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 5 Nov 26 −3
- Stability: pass → 0.80 functional
- 30 Oct 26 +1
- Stability: 0.97 → pass security
- 28 Oct 26 −1
- Stability: pass → 0.93 functional
- 18 Oct 26 +1
- Stability: 0.97 → pass security
- 16 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.
- 14 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
- 13 Oct 26 +1
- Security disclosure: unverified → pass ▲ functional
- 12 Oct 26 −3
- Stability: pass → 0.80 functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Analysed npm/@inssist/mcp@2.0.0
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | npm |
Background: How many MCP packages publish verified provenance →
Dependencies 93 packages
| Packages resolved | 93 |
|---|---|
| Stale | 30 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
account_info Account info ~49
List connected browser instances, the account each is logged into, other available accounts, and the default target. `proTrialDaysLeft` > 0 means PRO write tools answer for that many more days.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
account_switch Account switch ~134
Switch the browser profile to another logged-in account (see account_info). Later calls act as it; reloads open Instagram tabs. Switching to the active account is a no-op.
| Name | Type | Req | Description |
|---|---|---|---|
| instance | string | – | Optional. Browser instance id from account_info; defaults to the active one. |
| instant | boolean | – | Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action. |
| userId | string | – | Target account id from account_info. This or username required. |
| username | string | – | Target account username. This or userId required. |
No output schema declared.
No examples provided.
antibot_export Antibot export ~60
Export the full antibot follower analysis (risk + type per follower) to a CSV file; returns the path. (Requires INSSIST PRO.)
| Name | Type | Req | Description |
|---|---|---|---|
| instance | string | – | Optional. Browser instance id from account_info; defaults to the active one. |
No output schema declared.
No examples provided.
antibot_report Antibot report ~75
Follower quality analysis from the last antibot scan: totals by risk and type, plus the flagged (unreviewed high/medium-risk) followers. Empty until a scan has run. (Requires INSSIST PRO.)
| Name | Type | Req | Description |
|---|---|---|---|
| instance | string | – | Optional. Browser instance id from account_info; defaults to the active one. |
No output schema declared.
No examples provided.
antibot_scan Antibot scan ~104
Start a follower scan scoring each follower bot/suspicious/fresh/clean. Runs in the background; poll antibot_report. Detection only — removes no one. (Requires INSSIST PRO.)
| Name | Type | Req | Description |
|---|---|---|---|
| instance | string | – | Optional. Browser instance id from account_info; defaults to the active one. |
| instant | boolean | – | Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action. |
No output schema declared.
No examples provided.
comment_add Comment add ~112
Post a comment on a post. Rate-limited calls return `done: false`. (Requires INSSIST PRO.)
| Name | Type | Req | Description |
|---|---|---|---|
| instance | string | – | Optional. Browser instance id from account_info; defaults to the active one. |
| instant | boolean | – | Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action. |
| post | string | yes | Post: media id, shortcode, or URL. |
| text | string | yes | Comment text. |
No output schema declared.
No examples provided.
comment_delete Comment delete ~130
Delete a comment — your own, or any on your own post. Permanent. Rate-limited calls return `done: false`. (Requires INSSIST PRO.)
| Name | Type | Req | Description |
|---|---|---|---|
| commentId | string | yes | Comment to delete (from comments_list). |
| instance | string | – | Optional. Browser instance id from account_info; defaults to the active one. |
| instant | boolean | – | Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action. |
| post | string | yes | The comment's post: media id, shortcode, or URL. |
No output schema declared.
No examples provided.
comment_like Comment like ~123
Like a comment, or unlike with `unlike: true`. Rate-limited calls return `done: false`. (Requires INSSIST PRO.)
| Name | Type | Req | Description |
|---|---|---|---|
| commentId | string | yes | Comment to like (from comments_list). |
| instance | string | – | Optional. Browser instance id from account_info; defaults to the active one. |
| instant | boolean | – | Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action. |
| unlike | boolean | – | True to remove a like; default false. |
No output schema declared.
No examples provided.
comment_reply Comment reply ~139
Reply to a comment. Rate-limited calls return `done: false`. (Requires INSSIST PRO.)
| Name | Type | Req | Description |
|---|---|---|---|
| commentId | string | yes | Comment being replied to (from comments_list). |
| instance | string | – | Optional. Browser instance id from account_info; defaults to the active one. |
| instant | boolean | – | Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action. |
| post | string | yes | The comment's post: media id, shortcode, or URL. |
| text | string | yes | Reply text. Lead with @handle to notify the parent author. |
No output schema declared.
No examples provided.
comments_list Comments list ~142
List comments on a post and their replies. (Requires INSSIST PRO.)
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | Resume token from a previous call's nextCursor. Omit for the first page. |
| instance | string | – | Optional. Browser instance id from account_info; defaults to the active one. |
| instant | boolean | – | Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action. |
| post | string | yes | Post: media id, shortcode, or URL. |
| replies | string | – | A comment id: fetch that comment's replies instead of the post's top-level comments. |
No output schema declared.
No examples provided.
dm_accept DM accept ~96
Accept a pending DM message request, moving it into the inbox. (Requires INSSIST PRO.)
| Name | Type | Req | Description |
|---|---|---|---|
| instance | string | – | Optional. Browser instance id from account_info; defaults to the active one. |
| instant | boolean | – | Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action. |
| thread_id | string | yes | Request id from dm_requests. |
No output schema declared.
No examples provided.
dm_list DM list ~96
List recent DM conversations, the last message, and whether a reply is awaited. Returns Instagram's single inbox page, which cannot be paged further. Read-only.
| Name | Type | Req | Description |
|---|---|---|---|
| instance | string | – | Optional. Browser instance id from account_info; defaults to the active one. |
| instant | boolean | – | Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action. |
No output schema declared.
No examples provided.
dm_mark_seen DM mark seen ~102
Mark a DM conversation as read (up to its latest message), clearing its unread flag. (Requires INSSIST PRO.)
| Name | Type | Req | Description |
|---|---|---|---|
| instance | string | – | Optional. Browser instance id from account_info; defaults to the active one. |
| instant | boolean | – | Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action. |
| thread_id | string | yes | Conversation id from dm_list. |
No output schema declared.
No examples provided.
dm_read DM read ~148
Read a DM conversation's messages, oldest first. Returns the newest `limit` messages; raise `limit` to reach older ones. `has_more` means older messages were cut off. Read-only. (Requires INSSIST PRO.)
| Name | Type | Req | Description |
|---|---|---|---|
| instance | string | – | Optional. Browser instance id from account_info; defaults to the active one. |
| instant | boolean | – | Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action. |
| limit | number | – | How many of the newest messages to return, 1-200 (default 20). |
| thread_id | string | yes | Conversation id from dm_list. |
No output schema declared.
No examples provided.
dm_remove DM remove ~103
Decline and remove a pending DM message request (from dm_requests). Does not touch inbox chats. (Requires INSSIST PRO.)
| Name | Type | Req | Description |
|---|---|---|---|
| instance | string | – | Optional. Browser instance id from account_info; defaults to the active one. |
| instant | boolean | – | Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action. |
| thread_id | string | yes | Request id from dm_requests. |
No output schema declared.
No examples provided.
dm_requests DM requests ~103
List pending DM message requests (cold inbound from non-connections, which do not appear in dm_list until accepted). Returns Instagram's single requests page, which cannot be paged further. Read-only.
| Name | Type | Req | Description |
|---|---|---|---|
| instance | string | – | Optional. Browser instance id from account_info; defaults to the active one. |
| instant | boolean | – | Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action. |
No output schema declared.
No examples provided.
dm_send DM send ~165
Send a text message by thread_id (from dm_list) or username. A username never messaged before gets a new conversation, which lands in their message requests; those cold sends are capped per day. Rate-limited calls return `done: false`. (Requires INSSIST PRO.)
| Name | Type | Req | Description |
|---|---|---|---|
| instance | string | – | Optional. Browser instance id from account_info; defaults to the active one. |
| instant | boolean | – | Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action. |
| text | string | yes | Message text. |
| thread_id | string | – | Conversation id from dm_list. Provide this or `username`. |
| username | string | – | Recipient handle. Provide this or `thread_id`. |
No output schema declared.
No examples provided.
downloads_cancel Downloads cancel ~65
Cancel a download started with downloads_start: stops it and deletes its saved data. (Requires INSSIST PRO.)
| Name | Type | Req | Description |
|---|---|---|---|
| instance | string | – | Optional. Browser instance id from account_info; defaults to the active one. |
| jobId | string | yes | Job id from downloads_start. |
No output schema declared.
No examples provided.
downloads_start Downloads start ~291
Download media to this machine: a whole account's posts/reels/stories/highlights via `username`, or one post via `url` — give exactly one. Returns a job id immediately; runs in the background, poll downloads_status. Files land in a timestamped INSSIST/@username/ folder with json+csv manifests. (Requires INSSIST PRO.)
| Name | Type | Req | Description |
|---|---|---|---|
| instance | string | – | Optional. Browser instance id from account_info; defaults to the active one. |
| instant | boolean | – | Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action. |
| limit | number | – | Cap per media type. Omit for everything. Only for a username download. |
| media | array | – | Any of: posts, stories, highlights, reels (default all). "posts" = photos, videos, carousels and every reel shared to the grid. "reels" = reels missing from the grid: cover image and counts only, no… |
| url | string | – | Permalink of one post to download (/p/, /reel/ or /tv/). Mutually exclusive with username; `media` and `limit` do not apply. |
| username | string | – | Account to download in full. Private only if followed. Omit when downloading a single post. |
No output schema declared.
No examples provided.
downloads_status Downloads status ~106
Progress of a downloads_start job: items saved per type and whether it finished, paused or failed. Once on disk, reports the folder and json-manifest path (each file with likes, comments, caption). Omit jobId to list all downloads. (Requires INSSIST PRO.)
| Name | Type | Req | Description |
|---|---|---|---|
| instance | string | – | Optional. Browser instance id from account_info; defaults to the active one. |
| jobId | string | – | Job id from downloads_start. Omit to list all. |
No output schema declared.
No examples provided.
draft_create Draft create ~430
Create a draft post in INSSIST Post Assistant from photos/videos. Not published/scheduled — follow with draft_schedule or draft_publish using the returned draftId. Opens an Instagram tab if needed. (Requires INSSIST PRO.)
| Name | Type | Req | Description |
|---|---|---|---|
| assets | array | yes | Photos/videos in carousel order. Absolute local path or http(s) url. jpg/png/webp/mp4/mov/webm. Up to 20. |
| caption | string | – | Caption, incl. hashtags and @mentions. |
| closeFriends | boolean | – | Story only: share with Close Friends instead of everyone. |
| collaborators | array | – | Usernames to invite as collaborators (co-authors), without @. Up to 5. Each is asked to accept, and the post then shows on their profile too. Posts and reels only. |
| disableComments | boolean | – | Turn off commenting. |
| hideLikes | boolean | – | Hide like and view counts. |
| instance | string | – | Optional. Browser instance id from account_info; defaults to the active one. |
| linkUrl | string | – | Story only: http(s) URL for a link sticker. |
| location | string | – | Place name to tag; first Instagram match wins. |
| mentions | array | – | Usernames to tag in the photo, without @. Up to 20. Not the same as writing @name in the caption. |
| musicTrackId | string | – | Track id from music_search. Needs a one-time audio permission in INSSIST. |
| musicTrackName | string | – | Track title from music_search, shown as label. Optional. |
| shareToFeed | boolean | – | Reel only: also show it in the feed. Default true. |
| stickerText | string | – | Story only: text sticker content. |
| stretchToFill | boolean | – | Fill the frame instead of letterboxing (default true). Crops a non-9:16 photo to fill a story; a no-op for a regular post unless the image is outside Instagram's allowed ratios. |
| type | string | – | Publish as: post (default), reel or story. |
No output schema declared.
No examples provided.
draft_delete Draft delete ~91
Remove a post from INSSIST Post Assistant, with its media. Only touches the INSSIST queue: a published entry is cleared from the list, the Instagram post itself is never affected. (Requires INSSIST PRO.)
| Name | Type | Req | Description |
|---|---|---|---|
| draftId | string | yes | Post id from draft_create or draft_list. |
| instance | string | – | Optional. Browser instance id from account_info; defaults to the active one. |
No output schema declared.
No examples provided.
draft_get Draft get ~92
Read one Post Assistant post by id: status, schedule, full caption, assets, music, place, mentions and the last error. Same fields as draft_list, with the caption untruncated. (Requires INSSIST PRO.)
| Name | Type | Req | Description |
|---|---|---|---|
| draftId | string | yes | Post id from draft_create or draft_list. |
| instance | string | – | Optional. Browser instance id from account_info; defaults to the active one. |
No output schema declared.
No examples provided.
draft_list Draft list ~104
List Post Assistant posts across all logged-in accounts: drafts, scheduled, recently published/failed. Soonest scheduled first, undated drafts last. (Requires INSSIST PRO.)
| Name | Type | Req | Description |
|---|---|---|---|
| instance | string | – | Optional. Browser instance id from account_info; defaults to the active one. |
| limit | number | – | Max posts, 1-200, default 50. |
| status | string | – | Filter: draft, scheduled, publishing, published, failed, retrying. |
No output schema declared.
No examples provided.
draft_publish Draft publish ~89
Publish a draft to Instagram now — immediate and cannot be undone here. Waits up to ~45s for the result; a slower upload continues in the background (see draft_list). (Requires INSSIST PRO.)
| Name | Type | Req | Description |
|---|---|---|---|
| draftId | string | yes | Post id from draft_create or draft_list. |
| instance | string | – | Optional. Browser instance id from account_info; defaults to the active one. |
No output schema declared.
No examples provided.
draft_reorder Draft reorder ~98
Reorder scheduled posts by permuting the times they already hold: same slots, reassigned in the order listed. All must be already scheduled; to move to a new time use draft_schedule. (Requires INSSIST PRO.)
| Name | Type | Req | Description |
|---|---|---|---|
| draftIds | array | yes | Scheduled post ids in wanted order, earliest slot first. At least two. |
| instance | string | – | Optional. Browser instance id from account_info; defaults to the active one. |
No output schema declared.
No examples provided.
draft_schedule Draft schedule ~125
Schedule an existing draft for a date/time; publishes automatically then (Chrome must be running and online). Use draft_create first, or draft_list for a draftId. (Requires INSSIST PRO.)
| Name | Type | Req | Description |
|---|---|---|---|
| at | string | yes | Publish time, ISO 8601. No offset = browser local time, e.g. "2026-08-22T18:30". Must be future. |
| draftId | string | yes | Post id from draft_create or draft_list. |
| instance | string | – | Optional. Browser instance id from account_info; defaults to the active one. |
No output schema declared.
No examples provided.
draft_update Draft update ~421
Edit an unpublished post: caption, scheduled time, type, music, place, tags or framing. Pass at least one field; others unchanged. Published or publishing posts cannot be edited. (Requires INSSIST PRO.)
| Name | Type | Req | Description |
|---|---|---|---|
| at | string | – | New publish time for an already scheduled post, ISO 8601, must be future. To schedule a draft for the first time use draft_schedule. |
| caption | string | – | New caption, replaces the old one. Empty string clears it. |
| closeFriends | boolean | – | Story only: share with Close Friends instead of everyone. |
| collaborators | array | – | Usernames to invite as collaborators (co-authors), without @, replacing the current ones. Up to 5. Empty array removes them all. |
| disableComments | boolean | – | Turn off commenting. |
| draftId | string | yes | Post id from draft_create or draft_list. |
| hideLikes | boolean | – | Hide like and view counts. |
| instance | string | – | Optional. Browser instance id from account_info; defaults to the active one. |
| linkUrl | string | – | Story only: http(s) URL for a link sticker. |
| location | string | – | Place name to tag; first Instagram match wins. Empty string removes the place. |
| mentions | array | – | Usernames to tag in the photo, without @, replacing the current tags. Empty array removes them all. |
| musicTrackId | string | – | Track id from music_search to attach. Empty string removes the track. |
| musicTrackName | string | – | Track title from music_search, shown as label. Optional, goes with musicTrackId. |
| shareToFeed | boolean | – | Reel only: also show it in the feed. Default true. |
| stickerText | string | – | Story only: text sticker content. |
| stretchToFill | boolean | – | true fills the frame (crops letterbox), false letterboxes. Omit to leave framing as is. |
| type | string | – | Change how it publishes: post, reel or story. |
No output schema declared.
No examples provided.
events_check Events check ~180
New Instagram activity since a cursor, in one request: never waits. Returns the events and the cursor to pass back next time. First call without a cursor returns only the cursor. Check on the schedule the user asked for, minutes apart, not in a loop. Read-only. (Requires INSSIST PRO.)
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | From the previous events_check answer. Omit on the first call. |
| instance | string | – | Optional. Browser instance id from account_info; defaults to the active one. |
| instant | boolean | – | Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action. |
| kinds | array | – | Any of: dm, dm_requests, comments, likes, follows, mentions. Default: dm and dm_requests, the cheapest to check. |
No output schema declared.
No examples provided.
follow_requests_list Follow requests list ~102
List pending follow requests to your account. (Requires INSSIST PRO.)
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | Resume token from a previous call's nextCursor. Omit for the first page. |
| instance | string | – | Optional. Browser instance id from account_info; defaults to the active one. |
| instant | boolean | – | Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action. |
No output schema declared.
No examples provided.
follower_remove Follower remove ~130
Remove an account from your followers without blocking it. They are not notified and can follow again. Use this, not ig_block, when asked to remove a follower. Rate-limited calls return `done: false`. (Requires INSSIST PRO.)
| Name | Type | Req | Description |
|---|---|---|---|
| instance | string | – | Optional. Browser instance id from account_info; defaults to the active one. |
| instant | boolean | – | Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action. |
| user | string | yes | Account: username, profile URL, or numeric id. |
No output schema declared.
No examples provided.
growth_configure Growth configure ~218
Set lead-engagement config: source accounts, likes per lead, leads scanned per source, skip filters. Partial — only fields you pass change. Editing interrupts a run in progress. (Requires INSSIST PRO.)
| Name | Type | Req | Description |
|---|---|---|---|
| bannedUsernames | string | – | Space-separated @usernames to skip. |
| bannedWords | string | – | Space-separated words; skip leads whose posts contain them. |
| custom | boolean | – | Take leads from the given `sources` (true) or from accounts you follow (false). |
| excludedSources | string | – | Space-separated @usernames excluded from source scanning. |
| instance | string | – | Optional. Browser instance id from account_info; defaults to the active one. |
| leadsToScan | number | – | Leads to scan per source (>=1). |
| maxLikes | number | – | Max likes per lead (>= minLikes). |
| minLikes | number | – | Min likes per lead (>=1). |
| sources | string | – | Space-separated @usernames to pull leads from; used when custom=true. |
No output schema declared.
No examples provided.
growth_export Growth export ~57
Export lead-engagement results (leads and likes made) to a CSV file; returns the path. (Requires INSSIST PRO.)
| Name | Type | Req | Description |
|---|---|---|---|
| instance | string | – | Optional. Browser instance id from account_info; defaults to the active one. |
No output schema declared.
No examples provided.
growth_pause Growth pause ~55
Turn off lead engagement for the logged-in account. No further likes are made until growth_start. (Requires INSSIST PRO.)
| Name | Type | Req | Description |
|---|---|---|---|
| instance | string | – | Optional. Browser instance id from account_info; defaults to the active one. |
No output schema declared.
No examples provided.
growth_start Growth start ~71
Turn on lead engagement: scan the configured sources and like leads’ posts, paced by the like budget and rate-limit backoff. Runs in the background; poll growth_status. (Requires INSSIST PRO.)
| Name | Type | Req | Description |
|---|---|---|---|
| instance | string | – | Optional. Browser instance id from account_info; defaults to the active one. |
No output schema declared.
No examples provided.
growth_status Growth status ~66
Lead-engagement state for the logged-in account: on/off, current config, leads and sources found, likes made, and remaining daily like budget. (Requires INSSIST PRO.)
| Name | Type | Req | Description |
|---|---|---|---|
| instance | string | – | Optional. Browser instance id from account_info; defaults to the active one. |
No output schema declared.
No examples provided.
ig_action Instagram action ~220
Like, unlike, follow or unfollow. One target per call. Rate-limited calls return `done: false`. (Requires INSSIST PRO.)
| Name | Type | Req | Description |
|---|---|---|---|
| instance | string | – | Optional. Browser instance id from account_info; defaults to the active one. |
| instant | boolean | – | Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action. |
| postId | string | – | Target post for "unlike", as returned by a preceding like. Ignored by the other types. |
| shortcode | string | – | Alternative target for "unlike": the post shortcode from a permalink (/p/<shortcode>/). |
| type | string | yes | Exactly one of: "like", "unlike", "follow", "unfollow". No other value is accepted. |
| username | string | – | Target account, without @. Required for like, follow and unfollow; ignored by unlike. For "like" INSSIST picks which recent post of that account to like. |
No output schema declared.
No examples provided.
ig_block Instagram block ~134
Block an account, or unblock with `unblock: true`. Blocking cuts all contact and hides your profile from them. Rate-limited calls return `done: false`. (Requires INSSIST PRO.)
| Name | Type | Req | Description |
|---|---|---|---|
| instance | string | – | Optional. Browser instance id from account_info; defaults to the active one. |
| instant | boolean | – | Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action. |
| unblock | boolean | – | True to unblock; default false. |
| user | string | yes | Account: username, profile URL, or numeric id. |
No output schema declared.
No examples provided.
ig_fetch_post Instagram fetch post ~161
Fetch one post by url or shortcode: caption, owner, media type, like/comment counts, timestamp, media urls. Works for /p/, /reel/, /tv/. Like ig_fetch_posts plus owner and full-size media.
| Name | Type | Req | Description |
|---|---|---|---|
| instance | string | – | Optional. Browser instance id from account_info; defaults to the active one. |
| instant | boolean | – | Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action. |
| shortcode | string | – | Post shortcode on its own, e.g. ABC123. Give this or url. |
| url | string | – | Post permalink, e.g. https://www.instagram.com/p/ABC123/. Give this or shortcode. |
No output schema declared.
No examples provided.
ig_fetch_posts Instagram fetch posts ~152
Fetch most recent posts of an account: caption, media type, likes, comments, timestamp, shortcode, permalink. Newest first. Pages internally; returns nextCursor when more remain.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | Resume token from a previous call's nextCursor. Omit for newest. |
| instance | string | – | Optional. Browser instance id from account_info; defaults to the active one. |
| instant | boolean | – | Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action. |
| limit | number | – | Max posts to return, 1-1500, default 50. |
| username | string | yes | Account username. |
No output schema declared.
No examples provided.
ig_fetch_profile Instagram fetch profile ~95
Fetch profile of an account: bio, links, follower/following/post counts, flags, viewer relationship.
| Name | Type | Req | Description |
|---|---|---|---|
| instance | string | – | Optional. Browser instance id from account_info; defaults to the active one. |
| instant | boolean | – | Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action. |
| username | string | yes | Account username. |
No output schema declared.
No examples provided.
ig_fetch_saved Instagram fetch saved ~95
List your saved posts, newest first.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | Resume token from a previous call's nextCursor. Omit for the first page. |
| instance | string | – | Optional. Browser instance id from account_info; defaults to the active one. |
| instant | boolean | – | Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action. |
No output schema declared.
No examples provided.
ig_fetch_stories Instagram fetch stories ~96
Fetch an account's currently live stories, as the session sees them. Empty when none or not viewable.
| Name | Type | Req | Description |
|---|---|---|---|
| instance | string | – | Optional. Browser instance id from account_info; defaults to the active one. |
| instant | boolean | – | Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action. |
| username | string | yes | Account username. |
No output schema declared.
No examples provided.
ig_post_delete Instagram post delete ~122
Permanently delete a published Instagram post. Own posts only. This cannot be undone. To remove an unpublished draft or a scheduled post from the queue, use draft_delete instead. (Requires INSSIST PRO.)
| Name | Type | Req | Description |
|---|---|---|---|
| instance | string | – | Optional. Browser instance id from account_info; defaults to the active one. |
| instant | boolean | – | Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action. |
| post | string | yes | Post: media id, shortcode, or URL. |
No output schema declared.
No examples provided.
ig_post_edit Instagram post edit ~117
Edit a published Instagram post's caption. Own posts only. (Requires INSSIST PRO.)
| Name | Type | Req | Description |
|---|---|---|---|
| caption | string | yes | The new caption. Pass an empty string to clear it. |
| instance | string | – | Optional. Browser instance id from account_info; defaults to the active one. |
| instant | boolean | – | Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action. |
| post | string | yes | Post: media id, shortcode, or URL. |
No output schema declared.
No examples provided.
ig_search Instagram search ~148
Search Instagram accounts and hashtags by free text (the app's search box). Turn a half-remembered name into a username for the other ig_* tools. For taggable places, use location_search.
| Name | Type | Req | Description |
|---|---|---|---|
| instance | string | – | Optional. Browser instance id from account_info; defaults to the active one. |
| instant | boolean | – | Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action. |
| query | string | yes | What to search for. A leading @ or # is ignored. |
| type | string | – | "account" or "hashtag". Omit to search both, which costs two requests. |
No output schema declared.
No examples provided.
insights_collect Insights collect ~154
Start (or refresh) an analytics scan of an account. Runs in the background and shows in INSSIST's Insights dashboard; poll insights_report for progress and results. (Requires INSSIST PRO.)
| Name | Type | Req | Description |
|---|---|---|---|
| followers | boolean | – | Also scan followers for audience stats. Slower. |
| instance | string | – | Optional. Browser instance id from account_info; defaults to the active one. |
| instant | boolean | – | Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action. |
| postsLimit | number | – | Max posts to scan, 1-1500. Omit for the default. |
| username | string | yes | Account to analyze. |
No output schema declared.
No examples provided.
insights_report Insights report ~107
Read an insights_collect scan: progress while scanning, then metrics — engagement, best times, weekday/hour heatmap, post types, top posts, trends, posting frequency, follower growth. If followers were scanned, also audience quality (bot/suspicious/fresh/clean) and mutual overlap. (Requires INSSIST PRO.)
| Name | Type | Req | Description |
|---|---|---|---|
| instance | string | – | Optional. Browser instance id from account_info; defaults to the active one. |
| username | string | yes | Account passed to insights_collect. |
No output schema declared.
No examples provided.
location_search Location search ~128
Search Instagram places by name for their ids, to tag a post. Pass a returned name to draft_create's `location`. Only places with coordinates (the taggable ones) are returned.
| Name | Type | Req | Description |
|---|---|---|---|
| instance | string | – | Optional. Browser instance id from account_info; defaults to the active one. |
| instant | boolean | – | Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action. |
| query | string | yes | Place name or address to look for, e.g. "blue bottle coffee" or "new york". |
No output schema declared.
No examples provided.
music_search Music search ~113
Search Instagram's music library by title or artist. Returns track ids for draft_create's musicTrackId.
| Name | Type | Req | Description |
|---|---|---|---|
| instance | string | – | Optional. Browser instance id from account_info; defaults to the active one. |
| instant | boolean | – | Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action. |
| limit | number | – | Max tracks, 1-50, default 20. |
| query | string | yes | Track title or artist. |
No output schema declared.
No examples provided.
How do I install the INSSIST MCP server?
INSSIST runs locally as an npm package, launched with npx -y @inssist/mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · @inssist/mcp
claude mcp add inssist-inssist-mcp -- npx -y @inssist/mcp
What is the INSSIST MCP server?
INSSIST is an MCP server listed in the public MCP registry as io.github.inssist/inssist-mcp. Drive your own logged-in Instagram session via the INSSIST extension: read, publish, DMs, analytics. This page covers its npm package (@inssist/mcp).
Is the INSSIST MCP server safe to use?
INSSIST scores 82 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 5 November 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the INSSIST MCP server expose?
INSSIST exposes 60 tools: account_info, account_switch, antibot_export, antibot_report, antibot_scan, and 55 more. Their descriptions and schemas cost roughly 7,651 tokens of context every time the server is loaded.
Is the INSSIST MCP server still maintained?
INSSIST is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the INSSIST MCP server under?
INSSIST declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.
What did VerifyMCP test on the INSSIST MCP server?
VerifyMCP ran 16 checks on INSSIST, covering Malware scan, Known CVEs, Install scripts, Dependency health and 12 more. Endpoint Security and Transport & Reachability do not apply to an npm package, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.