{"$schema":"https://verifymcp.io/schemas/trust-report.json","schemaVersion":1,"license":{"name":"CC BY-NC 4.0","url":"https://creativecommons.org/licenses/by-nc/4.0/"},"generatedAt":"2026-11-05T17:25:41.014Z","url":"https://verifymcp.io/servers/inssist-inssist-mcp/inssist-mcp","markdownUrl":"https://verifymcp.io/servers/inssist-inssist-mcp/inssist-mcp.md","server":{"slug":"inssist-inssist-mcp","name":"INSSIST","registryName":"io.github.inssist/inssist-mcp","description":"Drive your own logged-in Instagram session via the INSSIST extension: read, publish, DMs, analytics.","registryStatus":"active","deletedAt":null,"statusMessage":null,"liveness":"live","publisher":{"class":"unknown","claimed":false}},"component":{"slug":"inssist-mcp","type":"npm","identifier":"@inssist/mcp","withdrawn":false,"url":"https://verifymcp.io/servers/inssist-inssist-mcp/inssist-mcp","version":"2.0.0","transport":"stdio","scoredAt":"2026-11-05T03:51:30.424Z"},"score":{"total":82,"tier":"high trust","status":"scored","weekDelta":-2,"history":[{"date":"2026-11-05","total":82},{"date":"2026-11-04","total":85},{"date":"2026-11-03","total":85},{"date":"2026-11-02","total":85},{"date":"2026-11-01","total":85},{"date":"2026-10-31","total":85},{"date":"2026-10-30","total":85},{"date":"2026-10-29","total":84},{"date":"2026-10-28","total":84},{"date":"2026-10-27","total":85},{"date":"2026-10-26","total":85},{"date":"2026-10-25","total":85},{"date":"2026-10-24","total":85},{"date":"2026-10-23","total":85},{"date":"2026-10-22","total":85},{"date":"2026-10-21","total":85},{"date":"2026-10-20","total":85},{"date":"2026-10-19","total":85},{"date":"2026-10-18","total":85},{"date":"2026-10-17","total":84},{"date":"2026-10-16","total":84},{"date":"2026-10-15","total":83},{"date":"2026-10-14","total":83},{"date":"2026-10-13","total":82},{"date":"2026-10-12","total":81},{"date":"2026-10-11","total":84},{"date":"2026-10-05","total":82},{"date":"2026-10-04","total":82},{"date":"2026-10-03","total":81},{"date":"2026-10-02","total":81}]},"categories":[{"name":"Supply Chain Security","score":98,"verdict":"partial","reasons":["No malware found by supply-chain analysis.","No known CVEs affecting this package version or its production dependencies.","No install/post-install scripts declared.","30 of 93 dependencies flagged as unhealthy."],"codes":[{"code":"supplychain.malware_clean","args":{}},{"code":"cve.none","args":{}},{"code":"installscript.none","args":{}},{"code":"dephealth.assessed","args":{"deps":"93","unhealthy":"30"}}]},{"name":"Provenance & Transparency","score":48,"verdict":"fail","reasons":["Source repository is publicly reachable at the declared URL.","Provenance check failed: no build-provenance attestation is published.","Clear OSI-approved license (MIT).","Actively maintained (last published 43 days ago).","Publishes a security disclosure policy (SECURITY.md)."],"codes":[{"code":"provenance.repo_verified","args":{}},{"code":"provenance.none","args":{}},{"code":"license.osi","args":{"spdx":"MIT"}},{"code":"maintenance.recent","args":{"age_days":"43"}},{"code":"disclosure.present","args":{}}]},{"name":"Schema Quality & AI Usability","score":76,"verdict":"fail","reasons":["AI-judged instruction clarity (excellent).","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.","Usage-examples check failed: none of the tools include examples."],"codes":[{"code":"schema.ai_quality","args":{"band":"excellent"}},{"code":"schema.footprint_heavy","args":{"avg":"128","items":"60","tools":"60","tokens":"7683","resources":"0"}},{"code":"schema.examples_absent","args":{}}]},{"name":"Stability & Change Management","score":80,"verdict":"partial","reasons":["Stability observed for 24 of 30 days with no destabilising changes; credit accrues until the full window elapses."],"codes":[{"code":"stability.building_history","args":{"days":"24"}}]},{"name":"Tool Coverage","score":100,"verdict":"pass","reasons":["100% of tools have a non-trivial description (not blank, and not just the tool's name).","100% of tool parameters carry a description."],"codes":[{"code":"toolquality.descriptions","args":{"pct":"100"}},{"code":"toolquality.param_docs","args":{"pct":"100"}}]},{"name":"Tool Safety","score":100,"verdict":"pass","reasons":["No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.","All 7 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.","An AI judge read all 61 captured unit(s) of tool text and found none that tries to manipulate the model reading it."],"codes":[{"code":"toolsafety.injection_clean","args":{}},{"code":"toolsafety.destructive_declared","args":{"pct":"100","annotated":"7","destructive":"7"}},{"code":"toolsafety.manipulation_clean","args":{"units":"61","judged":"61"}}]},{"name":"Capabilities","score":100,"verdict":"pass","reasons":["Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28."],"codes":[{"code":"protocol.supported","args":{"latest":"2026-07-28","version":"2025-11-25"}}]}],"inconclusive":[],"malware":[],"components":[{"slug":"inssist-mcp","type":"npm","identifier":"@inssist/mcp","withdrawn":false,"score":82,"current":true,"url":"https://verifymcp.io/servers/inssist-inssist-mcp/inssist-mcp","markdownUrl":"https://verifymcp.io/servers/inssist-inssist-mcp/inssist-mcp.md"}],"facts":[{"label":"Registry","value":"npm"},{"label":"Package","value":"@inssist/mcp"},{"label":"Version","value":"2.0.0"},{"label":"Transport","value":"stdio"}],"install":{"available":true,"bundleSha256":null},"tools":[{"name":"account_info","title":"Account info","description":"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.","inputs":[],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":49},{"name":"account_switch","title":"Account switch","description":"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.","inputs":[{"name":"instance","type":"string","required":false,"description":"Optional. Browser instance id from account_info; defaults to the active one."},{"name":"instant","type":"boolean","required":false,"description":"Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action."},{"name":"userId","type":"string","required":false,"description":"Target account id from account_info. This or username required."},{"name":"username","type":"string","required":false,"description":"Target account username. This or userId required."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":134},{"name":"antibot_export","title":"Antibot export","description":"Export the full antibot follower analysis (risk + type per follower) to a CSV file; returns the path. (Requires INSSIST PRO.)","inputs":[{"name":"instance","type":"string","required":false,"description":"Optional. Browser instance id from account_info; defaults to the active one."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":60},{"name":"antibot_report","title":"Antibot report","description":"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.)","inputs":[{"name":"instance","type":"string","required":false,"description":"Optional. Browser instance id from account_info; defaults to the active one."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":75},{"name":"antibot_scan","title":"Antibot scan","description":"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.)","inputs":[{"name":"instance","type":"string","required":false,"description":"Optional. Browser instance id from account_info; defaults to the active one."},{"name":"instant","type":"boolean","required":false,"description":"Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":104},{"name":"comment_add","title":"Comment add","description":"Post a comment on a post. Rate-limited calls return `done: false`. (Requires INSSIST PRO.)","inputs":[{"name":"instance","type":"string","required":false,"description":"Optional. Browser instance id from account_info; defaults to the active one."},{"name":"instant","type":"boolean","required":false,"description":"Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action."},{"name":"post","type":"string","required":true,"description":"Post: media id, shortcode, or URL."},{"name":"text","type":"string","required":true,"description":"Comment text."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":112},{"name":"comment_delete","title":"Comment delete","description":"Delete a comment — your own, or any on your own post. Permanent. Rate-limited calls return `done: false`. (Requires INSSIST PRO.)","inputs":[{"name":"commentId","type":"string","required":true,"description":"Comment to delete (from comments_list)."},{"name":"instance","type":"string","required":false,"description":"Optional. Browser instance id from account_info; defaults to the active one."},{"name":"instant","type":"boolean","required":false,"description":"Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action."},{"name":"post","type":"string","required":true,"description":"The comment's post: media id, shortcode, or URL."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":130},{"name":"comment_like","title":"Comment like","description":"Like a comment, or unlike with `unlike: true`. Rate-limited calls return `done: false`. (Requires INSSIST PRO.)","inputs":[{"name":"commentId","type":"string","required":true,"description":"Comment to like (from comments_list)."},{"name":"instance","type":"string","required":false,"description":"Optional. Browser instance id from account_info; defaults to the active one."},{"name":"instant","type":"boolean","required":false,"description":"Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action."},{"name":"unlike","type":"boolean","required":false,"description":"True to remove a like; default false."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":123},{"name":"comment_reply","title":"Comment reply","description":"Reply to a comment. Rate-limited calls return `done: false`. (Requires INSSIST PRO.)","inputs":[{"name":"commentId","type":"string","required":true,"description":"Comment being replied to (from comments_list)."},{"name":"instance","type":"string","required":false,"description":"Optional. Browser instance id from account_info; defaults to the active one."},{"name":"instant","type":"boolean","required":false,"description":"Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action."},{"name":"post","type":"string","required":true,"description":"The comment's post: media id, shortcode, or URL."},{"name":"text","type":"string","required":true,"description":"Reply text. Lead with @handle to notify the parent author."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":139},{"name":"comments_list","title":"Comments list","description":"List comments on a post and their replies. (Requires INSSIST PRO.)","inputs":[{"name":"cursor","type":"string","required":false,"description":"Resume token from a previous call's nextCursor. Omit for the first page."},{"name":"instance","type":"string","required":false,"description":"Optional. Browser instance id from account_info; defaults to the active one."},{"name":"instant","type":"boolean","required":false,"description":"Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action."},{"name":"post","type":"string","required":true,"description":"Post: media id, shortcode, or URL."},{"name":"replies","type":"string","required":false,"description":"A comment id: fetch that comment's replies instead of the post's top-level comments."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":142},{"name":"dm_accept","title":"DM accept","description":"Accept a pending DM message request, moving it into the inbox. (Requires INSSIST PRO.)","inputs":[{"name":"instance","type":"string","required":false,"description":"Optional. Browser instance id from account_info; defaults to the active one."},{"name":"instant","type":"boolean","required":false,"description":"Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action."},{"name":"thread_id","type":"string","required":true,"description":"Request id from dm_requests."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":96},{"name":"dm_list","title":"DM list","description":"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.","inputs":[{"name":"instance","type":"string","required":false,"description":"Optional. Browser instance id from account_info; defaults to the active one."},{"name":"instant","type":"boolean","required":false,"description":"Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":96},{"name":"dm_mark_seen","title":"DM mark seen","description":"Mark a DM conversation as read (up to its latest message), clearing its unread flag. (Requires INSSIST PRO.)","inputs":[{"name":"instance","type":"string","required":false,"description":"Optional. Browser instance id from account_info; defaults to the active one."},{"name":"instant","type":"boolean","required":false,"description":"Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action."},{"name":"thread_id","type":"string","required":true,"description":"Conversation id from dm_list."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":102},{"name":"dm_read","title":"DM read","description":"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.)","inputs":[{"name":"instance","type":"string","required":false,"description":"Optional. Browser instance id from account_info; defaults to the active one."},{"name":"instant","type":"boolean","required":false,"description":"Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action."},{"name":"limit","type":"number","required":false,"description":"How many of the newest messages to return, 1-200 (default 20)."},{"name":"thread_id","type":"string","required":true,"description":"Conversation id from dm_list."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":148},{"name":"dm_remove","title":"DM remove","description":"Decline and remove a pending DM message request (from dm_requests). Does not touch inbox chats. (Requires INSSIST PRO.)","inputs":[{"name":"instance","type":"string","required":false,"description":"Optional. Browser instance id from account_info; defaults to the active one."},{"name":"instant","type":"boolean","required":false,"description":"Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action."},{"name":"thread_id","type":"string","required":true,"description":"Request id from dm_requests."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":103},{"name":"dm_requests","title":"DM requests","description":"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.","inputs":[{"name":"instance","type":"string","required":false,"description":"Optional. Browser instance id from account_info; defaults to the active one."},{"name":"instant","type":"boolean","required":false,"description":"Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":103},{"name":"dm_send","title":"DM send","description":"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.)","inputs":[{"name":"instance","type":"string","required":false,"description":"Optional. Browser instance id from account_info; defaults to the active one."},{"name":"instant","type":"boolean","required":false,"description":"Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action."},{"name":"text","type":"string","required":true,"description":"Message text."},{"name":"thread_id","type":"string","required":false,"description":"Conversation id from dm_list. Provide this or `username`."},{"name":"username","type":"string","required":false,"description":"Recipient handle. Provide this or `thread_id`."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":165},{"name":"downloads_cancel","title":"Downloads cancel","description":"Cancel a download started with downloads_start: stops it and deletes its saved data. (Requires INSSIST PRO.)","inputs":[{"name":"instance","type":"string","required":false,"description":"Optional. Browser instance id from account_info; defaults to the active one."},{"name":"jobId","type":"string","required":true,"description":"Job id from downloads_start."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":65},{"name":"downloads_start","title":"Downloads start","description":"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.)","inputs":[{"name":"instance","type":"string","required":false,"description":"Optional. Browser instance id from account_info; defaults to the active one."},{"name":"instant","type":"boolean","required":false,"description":"Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action."},{"name":"limit","type":"number","required":false,"description":"Cap per media type. Omit for everything. Only for a username download."},{"name":"media","type":"array","required":false,"description":"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…"},{"name":"url","type":"string","required":false,"description":"Permalink of one post to download (/p/, /reel/ or /tv/). Mutually exclusive with username; `media` and `limit` do not apply."},{"name":"username","type":"string","required":false,"description":"Account to download in full. Private only if followed. Omit when downloading a single post."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":291},{"name":"downloads_status","title":"Downloads status","description":"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.)","inputs":[{"name":"instance","type":"string","required":false,"description":"Optional. Browser instance id from account_info; defaults to the active one."},{"name":"jobId","type":"string","required":false,"description":"Job id from downloads_start. Omit to list all."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":106},{"name":"draft_create","title":"Draft create","description":"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.)","inputs":[{"name":"assets","type":"array","required":true,"description":"Photos/videos in carousel order. Absolute local path or http(s) url. jpg/png/webp/mp4/mov/webm. Up to 20."},{"name":"caption","type":"string","required":false,"description":"Caption, incl. hashtags and @mentions."},{"name":"closeFriends","type":"boolean","required":false,"description":"Story only: share with Close Friends instead of everyone."},{"name":"collaborators","type":"array","required":false,"description":"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."},{"name":"disableComments","type":"boolean","required":false,"description":"Turn off commenting."},{"name":"hideLikes","type":"boolean","required":false,"description":"Hide like and view counts."},{"name":"instance","type":"string","required":false,"description":"Optional. Browser instance id from account_info; defaults to the active one."},{"name":"linkUrl","type":"string","required":false,"description":"Story only: http(s) URL for a link sticker."},{"name":"location","type":"string","required":false,"description":"Place name to tag; first Instagram match wins."},{"name":"mentions","type":"array","required":false,"description":"Usernames to tag in the photo, without @. Up to 20. Not the same as writing @name in the caption."},{"name":"musicTrackId","type":"string","required":false,"description":"Track id from music_search. Needs a one-time audio permission in INSSIST."},{"name":"musicTrackName","type":"string","required":false,"description":"Track title from music_search, shown as label. Optional."},{"name":"shareToFeed","type":"boolean","required":false,"description":"Reel only: also show it in the feed. Default true."},{"name":"stickerText","type":"string","required":false,"description":"Story only: text sticker content."},{"name":"stretchToFill","type":"boolean","required":false,"description":"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."},{"name":"type","type":"string","required":false,"description":"Publish as: post (default), reel or story."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":430},{"name":"draft_delete","title":"Draft delete","description":"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.)","inputs":[{"name":"draftId","type":"string","required":true,"description":"Post id from draft_create or draft_list."},{"name":"instance","type":"string","required":false,"description":"Optional. Browser instance id from account_info; defaults to the active one."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":91},{"name":"draft_get","title":"Draft get","description":"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.)","inputs":[{"name":"draftId","type":"string","required":true,"description":"Post id from draft_create or draft_list."},{"name":"instance","type":"string","required":false,"description":"Optional. Browser instance id from account_info; defaults to the active one."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":92},{"name":"draft_list","title":"Draft list","description":"List Post Assistant posts across all logged-in accounts: drafts, scheduled, recently published/failed. Soonest scheduled first, undated drafts last. (Requires INSSIST PRO.)","inputs":[{"name":"instance","type":"string","required":false,"description":"Optional. Browser instance id from account_info; defaults to the active one."},{"name":"limit","type":"number","required":false,"description":"Max posts, 1-200, default 50."},{"name":"status","type":"string","required":false,"description":"Filter: draft, scheduled, publishing, published, failed, retrying."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":104},{"name":"draft_publish","title":"Draft publish","description":"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.)","inputs":[{"name":"draftId","type":"string","required":true,"description":"Post id from draft_create or draft_list."},{"name":"instance","type":"string","required":false,"description":"Optional. Browser instance id from account_info; defaults to the active one."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":89},{"name":"draft_reorder","title":"Draft reorder","description":"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.)","inputs":[{"name":"draftIds","type":"array","required":true,"description":"Scheduled post ids in wanted order, earliest slot first. At least two."},{"name":"instance","type":"string","required":false,"description":"Optional. Browser instance id from account_info; defaults to the active one."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":98},{"name":"draft_schedule","title":"Draft schedule","description":"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.)","inputs":[{"name":"at","type":"string","required":true,"description":"Publish time, ISO 8601. No offset = browser local time, e.g. \"2026-08-22T18:30\". Must be future."},{"name":"draftId","type":"string","required":true,"description":"Post id from draft_create or draft_list."},{"name":"instance","type":"string","required":false,"description":"Optional. Browser instance id from account_info; defaults to the active one."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":125},{"name":"draft_update","title":"Draft update","description":"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.)","inputs":[{"name":"at","type":"string","required":false,"description":"New publish time for an already scheduled post, ISO 8601, must be future. To schedule a draft for the first time use draft_schedule."},{"name":"caption","type":"string","required":false,"description":"New caption, replaces the old one. Empty string clears it."},{"name":"closeFriends","type":"boolean","required":false,"description":"Story only: share with Close Friends instead of everyone."},{"name":"collaborators","type":"array","required":false,"description":"Usernames to invite as collaborators (co-authors), without @, replacing the current ones. Up to 5. Empty array removes them all."},{"name":"disableComments","type":"boolean","required":false,"description":"Turn off commenting."},{"name":"draftId","type":"string","required":true,"description":"Post id from draft_create or draft_list."},{"name":"hideLikes","type":"boolean","required":false,"description":"Hide like and view counts."},{"name":"instance","type":"string","required":false,"description":"Optional. Browser instance id from account_info; defaults to the active one."},{"name":"linkUrl","type":"string","required":false,"description":"Story only: http(s) URL for a link sticker."},{"name":"location","type":"string","required":false,"description":"Place name to tag; first Instagram match wins. Empty string removes the place."},{"name":"mentions","type":"array","required":false,"description":"Usernames to tag in the photo, without @, replacing the current tags. Empty array removes them all."},{"name":"musicTrackId","type":"string","required":false,"description":"Track id from music_search to attach. Empty string removes the track."},{"name":"musicTrackName","type":"string","required":false,"description":"Track title from music_search, shown as label. Optional, goes with musicTrackId."},{"name":"shareToFeed","type":"boolean","required":false,"description":"Reel only: also show it in the feed. Default true."},{"name":"stickerText","type":"string","required":false,"description":"Story only: text sticker content."},{"name":"stretchToFill","type":"boolean","required":false,"description":"true fills the frame (crops letterbox), false letterboxes. Omit to leave framing as is."},{"name":"type","type":"string","required":false,"description":"Change how it publishes: post, reel or story."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":421},{"name":"events_check","title":"Events check","description":"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.)","inputs":[{"name":"cursor","type":"string","required":false,"description":"From the previous events_check answer. Omit on the first call."},{"name":"instance","type":"string","required":false,"description":"Optional. Browser instance id from account_info; defaults to the active one."},{"name":"instant","type":"boolean","required":false,"description":"Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action."},{"name":"kinds","type":"array","required":false,"description":"Any of: dm, dm_requests, comments, likes, follows, mentions. Default: dm and dm_requests, the cheapest to check."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":180},{"name":"follow_requests_list","title":"Follow requests list","description":"List pending follow requests to your account. (Requires INSSIST PRO.)","inputs":[{"name":"cursor","type":"string","required":false,"description":"Resume token from a previous call's nextCursor. Omit for the first page."},{"name":"instance","type":"string","required":false,"description":"Optional. Browser instance id from account_info; defaults to the active one."},{"name":"instant","type":"boolean","required":false,"description":"Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":102},{"name":"follower_remove","title":"Follower remove","description":"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.)","inputs":[{"name":"instance","type":"string","required":false,"description":"Optional. Browser instance id from account_info; defaults to the active one."},{"name":"instant","type":"boolean","required":false,"description":"Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action."},{"name":"user","type":"string","required":true,"description":"Account: username, profile URL, or numeric id."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":130},{"name":"growth_configure","title":"Growth configure","description":"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.)","inputs":[{"name":"bannedUsernames","type":"string","required":false,"description":"Space-separated @usernames to skip."},{"name":"bannedWords","type":"string","required":false,"description":"Space-separated words; skip leads whose posts contain them."},{"name":"custom","type":"boolean","required":false,"description":"Take leads from the given `sources` (true) or from accounts you follow (false)."},{"name":"excludedSources","type":"string","required":false,"description":"Space-separated @usernames excluded from source scanning."},{"name":"instance","type":"string","required":false,"description":"Optional. Browser instance id from account_info; defaults to the active one."},{"name":"leadsToScan","type":"number","required":false,"description":"Leads to scan per source (>=1)."},{"name":"maxLikes","type":"number","required":false,"description":"Max likes per lead (>= minLikes)."},{"name":"minLikes","type":"number","required":false,"description":"Min likes per lead (>=1)."},{"name":"sources","type":"string","required":false,"description":"Space-separated @usernames to pull leads from; used when custom=true."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":218},{"name":"growth_export","title":"Growth export","description":"Export lead-engagement results (leads and likes made) to a CSV file; returns the path. (Requires INSSIST PRO.)","inputs":[{"name":"instance","type":"string","required":false,"description":"Optional. Browser instance id from account_info; defaults to the active one."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":57},{"name":"growth_pause","title":"Growth pause","description":"Turn off lead engagement for the logged-in account. No further likes are made until growth_start. (Requires INSSIST PRO.)","inputs":[{"name":"instance","type":"string","required":false,"description":"Optional. Browser instance id from account_info; defaults to the active one."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":55},{"name":"growth_start","title":"Growth start","description":"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.)","inputs":[{"name":"instance","type":"string","required":false,"description":"Optional. Browser instance id from account_info; defaults to the active one."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":71},{"name":"growth_status","title":"Growth status","description":"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.)","inputs":[{"name":"instance","type":"string","required":false,"description":"Optional. Browser instance id from account_info; defaults to the active one."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":66},{"name":"ig_action","title":"Instagram action","description":"Like, unlike, follow or unfollow. One target per call. Rate-limited calls return `done: false`. (Requires INSSIST PRO.)","inputs":[{"name":"instance","type":"string","required":false,"description":"Optional. Browser instance id from account_info; defaults to the active one."},{"name":"instant","type":"boolean","required":false,"description":"Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action."},{"name":"postId","type":"string","required":false,"description":"Target post for \"unlike\", as returned by a preceding like. Ignored by the other types."},{"name":"shortcode","type":"string","required":false,"description":"Alternative target for \"unlike\": the post shortcode from a permalink (/p/<shortcode>/)."},{"name":"type","type":"string","required":true,"description":"Exactly one of: \"like\", \"unlike\", \"follow\", \"unfollow\". No other value is accepted."},{"name":"username","type":"string","required":false,"description":"Target account, without @. Required for like, follow and unfollow; ignored by unlike. For \"like\" INSSIST picks which recent post of that account to like."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":220},{"name":"ig_block","title":"Instagram block","description":"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.)","inputs":[{"name":"instance","type":"string","required":false,"description":"Optional. Browser instance id from account_info; defaults to the active one."},{"name":"instant","type":"boolean","required":false,"description":"Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action."},{"name":"unblock","type":"boolean","required":false,"description":"True to unblock; default false."},{"name":"user","type":"string","required":true,"description":"Account: username, profile URL, or numeric id."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":134},{"name":"ig_fetch_post","title":"Instagram fetch post","description":"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.","inputs":[{"name":"instance","type":"string","required":false,"description":"Optional. Browser instance id from account_info; defaults to the active one."},{"name":"instant","type":"boolean","required":false,"description":"Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action."},{"name":"shortcode","type":"string","required":false,"description":"Post shortcode on its own, e.g. ABC123. Give this or url."},{"name":"url","type":"string","required":false,"description":"Post permalink, e.g. https://www.instagram.com/p/ABC123/. Give this or shortcode."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":161},{"name":"ig_fetch_posts","title":"Instagram fetch posts","description":"Fetch most recent posts of an account: caption, media type, likes, comments, timestamp, shortcode, permalink. Newest first. Pages internally; returns nextCursor when more remain.","inputs":[{"name":"cursor","type":"string","required":false,"description":"Resume token from a previous call's nextCursor. Omit for newest."},{"name":"instance","type":"string","required":false,"description":"Optional. Browser instance id from account_info; defaults to the active one."},{"name":"instant","type":"boolean","required":false,"description":"Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action."},{"name":"limit","type":"number","required":false,"description":"Max posts to return, 1-1500, default 50."},{"name":"username","type":"string","required":true,"description":"Account username."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":152},{"name":"ig_fetch_profile","title":"Instagram fetch profile","description":"Fetch profile of an account: bio, links, follower/following/post counts, flags, viewer relationship.","inputs":[{"name":"instance","type":"string","required":false,"description":"Optional. Browser instance id from account_info; defaults to the active one."},{"name":"instant","type":"boolean","required":false,"description":"Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action."},{"name":"username","type":"string","required":true,"description":"Account username."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":95},{"name":"ig_fetch_saved","title":"Instagram fetch saved","description":"List your saved posts, newest first.","inputs":[{"name":"cursor","type":"string","required":false,"description":"Resume token from a previous call's nextCursor. Omit for the first page."},{"name":"instance","type":"string","required":false,"description":"Optional. Browser instance id from account_info; defaults to the active one."},{"name":"instant","type":"boolean","required":false,"description":"Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":95},{"name":"ig_fetch_stories","title":"Instagram fetch stories","description":"Fetch an account's currently live stories, as the session sees them. Empty when none or not viewable.","inputs":[{"name":"instance","type":"string","required":false,"description":"Optional. Browser instance id from account_info; defaults to the active one."},{"name":"instant","type":"boolean","required":false,"description":"Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action."},{"name":"username","type":"string","required":true,"description":"Account username."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":96},{"name":"ig_post_delete","title":"Instagram post delete","description":"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.)","inputs":[{"name":"instance","type":"string","required":false,"description":"Optional. Browser instance id from account_info; defaults to the active one."},{"name":"instant","type":"boolean","required":false,"description":"Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action."},{"name":"post","type":"string","required":true,"description":"Post: media id, shortcode, or URL."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":122},{"name":"ig_post_edit","title":"Instagram post edit","description":"Edit a published Instagram post's caption. Own posts only. (Requires INSSIST PRO.)","inputs":[{"name":"caption","type":"string","required":true,"description":"The new caption. Pass an empty string to clear it."},{"name":"instance","type":"string","required":false,"description":"Optional. Browser instance id from account_info; defaults to the active one."},{"name":"instant","type":"boolean","required":false,"description":"Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action."},{"name":"post","type":"string","required":true,"description":"Post: media id, shortcode, or URL."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":117},{"name":"ig_search","title":"Instagram search","description":"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.","inputs":[{"name":"instance","type":"string","required":false,"description":"Optional. Browser instance id from account_info; defaults to the active one."},{"name":"instant","type":"boolean","required":false,"description":"Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action."},{"name":"query","type":"string","required":true,"description":"What to search for. A leading @ or # is ignored."},{"name":"type","type":"string","required":false,"description":"\"account\" or \"hashtag\". Omit to search both, which costs two requests."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":148},{"name":"insights_collect","title":"Insights collect","description":"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.)","inputs":[{"name":"followers","type":"boolean","required":false,"description":"Also scan followers for audience stats. Slower."},{"name":"instance","type":"string","required":false,"description":"Optional. Browser instance id from account_info; defaults to the active one."},{"name":"instant","type":"boolean","required":false,"description":"Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action."},{"name":"postsLimit","type":"number","required":false,"description":"Max posts to scan, 1-1500. Omit for the default."},{"name":"username","type":"string","required":true,"description":"Account to analyze."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":154},{"name":"insights_report","title":"Insights report","description":"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.)","inputs":[{"name":"instance","type":"string","required":false,"description":"Optional. Browser instance id from account_info; defaults to the active one."},{"name":"username","type":"string","required":true,"description":"Account passed to insights_collect."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":107},{"name":"location_search","title":"Location search","description":"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.","inputs":[{"name":"instance","type":"string","required":false,"description":"Optional. Browser instance id from account_info; defaults to the active one."},{"name":"instant","type":"boolean","required":false,"description":"Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action."},{"name":"query","type":"string","required":true,"description":"Place name or address to look for, e.g. \"blue bottle coffee\" or \"new york\"."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":128},{"name":"music_search","title":"Music search","description":"Search Instagram's music library by title or artist. Returns track ids for draft_create's musicTrackId.","inputs":[{"name":"instance","type":"string","required":false,"description":"Optional. Browser instance id from account_info; defaults to the active one."},{"name":"instant","type":"boolean","required":false,"description":"Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action."},{"name":"limit","type":"number","required":false,"description":"Max tracks, 1-50, default 20."},{"name":"query","type":"string","required":true,"description":"Track title or artist."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":113},{"name":"note_set","title":"Note set","description":"Set the logged-in account's Note. ≤60-chars. Atop the DM inbox avatar, gone in 24h. Pushes you to the top of the DM list. Empty text clears it. (Requires INSSIST PRO.)","inputs":[{"name":"instance","type":"string","required":false,"description":"Optional. Browser instance id from account_info; defaults to the active one."},{"name":"instant","type":"boolean","required":false,"description":"Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action."},{"name":"text","type":"string","required":false,"description":"Note text (≤60 chars). Empty or omitted clears the current note."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":133},{"name":"notifications_list","title":"Notifications list","description":"Recent notifications: comments, likes, follows, mentions. (Requires INSSIST PRO.)","inputs":[{"name":"instance","type":"string","required":false,"description":"Optional. Browser instance id from account_info; defaults to the active one."},{"name":"instant","type":"boolean","required":false,"description":"Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action."},{"name":"limit","type":"number","required":false,"description":"Max notifications to return, 1-200, default 50. Newest first."},{"name":"type","type":"string","required":false,"description":"Filter: all (default), comments, likes, follows or mentions."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":125},{"name":"peers_export","title":"Peers export","description":"Export a full followers/following list to a CSV file; returns the file path. Run peers_scan first for other accounts. (Requires INSSIST PRO.)","inputs":[{"name":"instance","type":"string","required":false,"description":"Optional. Browser instance id from account_info; defaults to the active one."},{"name":"type","type":"string","required":false,"description":"List: followers (default) or following."},{"name":"username","type":"string","required":false,"description":"Account to export, without @. Omit for the logged-in account."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":98},{"name":"peers_report","title":"Peers report","description":"Read a page of a collected followers/following list (from/limit). Own account uses stored data, richer (adds `mutual`, `followedOn`; `mutual` is null when not checked yet); other accounts need peers_scan first. Whole list: peers_export. (Requires INSSIST PRO.)","inputs":[{"name":"from","type":"number","required":false,"description":"Zero-based offset into the list, default 0."},{"name":"instance","type":"string","required":false,"description":"Optional. Browser instance id from account_info; defaults to the active one."},{"name":"limit","type":"number","required":false,"description":"Page size, 1-1000, default 100."},{"name":"type","type":"string","required":false,"description":"List: followers (default) or following."},{"name":"username","type":"string","required":false,"description":"Account whose list to read, without @. Omit for the logged-in account."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":168},{"name":"peers_scan","title":"Peers scan","description":"Start collecting an account's followers or following. (Requires INSSIST PRO.)","inputs":[{"name":"instance","type":"string","required":false,"description":"Optional. Browser instance id from account_info; defaults to the active one."},{"name":"instant","type":"boolean","required":false,"description":"Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action."},{"name":"type","type":"string","required":false,"description":"Collect followers (default) or following."},{"name":"username","type":"string","required":false,"description":"Account to scan, without @. Omit for the logged-in account."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":114},{"name":"profile_update","title":"Profile update","description":"Edit the logged-in account's bio (the text under the name on the profile). Own account only; changing bio links is not supported (app-only). Other profile fields are left untouched. (Requires INSSIST PRO.)","inputs":[{"name":"bio","type":"string","required":true,"description":"The new bio text. Pass an empty string to clear it."},{"name":"instance","type":"string","required":false,"description":"Optional. Browser instance id from account_info; defaults to the active one."},{"name":"instant","type":"boolean","required":false,"description":"Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":127},{"name":"story_viewers","title":"Story viewers","description":"See who viewed one of your active stories. (Requires INSSIST PRO.)","inputs":[{"name":"cursor","type":"string","required":false,"description":"Resume token from a previous call's nextCursor. Omit for the first page."},{"name":"instance","type":"string","required":false,"description":"Optional. Browser instance id from account_info; defaults to the active one."},{"name":"instant","type":"boolean","required":false,"description":"Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action."},{"name":"storyId","type":"string","required":true,"description":"Story media id, from ig_fetch_stories. Must be one of your own active stories."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":129},{"name":"unfollowers_export","title":"Unfollowers export","description":"Export the full list of accounts that unfollowed you to a CSV file; returns the path. (Requires INSSIST PRO.)","inputs":[{"name":"instance","type":"string","required":false,"description":"Optional. Browser instance id from account_info; defaults to the active one."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":58},{"name":"unfollowers_report","title":"Unfollowers report","description":"List accounts that unfollowed you in the last 7 days, from stored scan data. Run unfollowers_scan to refresh; poll `scanning` and `lastScanOn` for freshness. (Requires INSSIST PRO.)","inputs":[{"name":"instance","type":"string","required":false,"description":"Optional. Browser instance id from account_info; defaults to the active one."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":79},{"name":"unfollowers_scan","title":"Unfollowers scan","description":"Start an unfollower scan for the logged-in account. Runs in the background through INSSIST's paced follower crawl; poll unfollowers_report for progress and results. (Requires INSSIST PRO.)","inputs":[{"name":"instance","type":"string","required":false,"description":"Optional. Browser instance id from account_info; defaults to the active one."},{"name":"instant","type":"boolean","required":false,"description":"Optional. Skip INSSIST's action pacing and run now — use only when the user asked for an unspaced or burst action."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":106}],"toolsTruncatedAtCapture":false,"diagnostics":{"capturedAt":"2026-11-05T03:51:30.000Z","track":"package","endpoint":null,"declaredUrl":null,"truncated":false,"tls":null,"dnssec":null,"auth":null,"httpsRedirect":null,"transports":[],"provenance":{"outcome":"none","label":"No attestation","reason":null,"reasonLabel":null,"discovery":null,"discoveryLabel":null,"sourceRepo":null,"attestationSkipped":null,"attestationSkippedLabel":null},"installScripts":[],"installScriptsTotal":null,"vulnerabilities":[],"vulnerabilitiesTotal":null,"dependencies":{"nodes":93,"partial":false,"deprecated":null,"stale":30,"noRepo":null}},"mismatches":[],"changelog":{"trackingSince":"2026-09-10","recent":[{"id":"chg_01a1a9d5-4b8b-7bbd-a4ed-c7bd3de599bf","kind":"check.verdict","summary":"Stability (pass → 0.80)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/inssist-inssist-mcp/inssist-mcp#chg-chg_01a1a9d5-4b8b-7bbd-a4ed-c7bd3de599bf"},{"id":"chg_01a1a9d5-4b8c-7ebb-9879-efabac64c332","kind":"score.total_changed","summary":"Trust score (85 → 82)","materiality":"functional","direction":"regression","scoreDelta":-3,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/inssist-inssist-mcp/inssist-mcp#chg-chg_01a1a9d5-4b8c-7ebb-9879-efabac64c332"},{"id":"chg_01a18ae1-ac87-7879-9891-37ae02d57531","kind":"check.verdict","summary":"Stability (0.97 → pass)","materiality":"security","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-30","url":"https://verifymcp.io/servers/inssist-inssist-mcp/inssist-mcp#chg-chg_01a18ae1-ac87-7879-9891-37ae02d57531"},{"id":"chg_01a18ae1-ac89-7264-9fa3-06cf2c12faa0","kind":"score.total_changed","summary":"Trust score (84 → 85)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-30","url":"https://verifymcp.io/servers/inssist-inssist-mcp/inssist-mcp#chg-chg_01a18ae1-ac89-7264-9fa3-06cf2c12faa0"},{"id":"chg_01a18099-1d1c-7587-aacb-5b501daac0d7","kind":"check.verdict","summary":"Stability (pass → 0.93)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-28","url":"https://verifymcp.io/servers/inssist-inssist-mcp/inssist-mcp#chg-chg_01a18099-1d1c-7587-aacb-5b501daac0d7"},{"id":"chg_01a18099-1d1e-7082-8458-4cc20b374902","kind":"score.total_changed","summary":"Trust score (85 → 84)","materiality":"functional","direction":"regression","scoreDelta":-1,"occurredOn":"2026-10-28","url":"https://verifymcp.io/servers/inssist-inssist-mcp/inssist-mcp#chg-chg_01a18099-1d1e-7082-8458-4cc20b374902"},{"id":"chg_01a14d17-245f-7bef-bab9-694e3ca96a4d","kind":"check.verdict","summary":"Stability (0.97 → pass)","materiality":"security","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-18","url":"https://verifymcp.io/servers/inssist-inssist-mcp/inssist-mcp#chg-chg_01a14d17-245f-7bef-bab9-694e3ca96a4d"},{"id":"chg_01a14d17-2461-736d-90fd-855b92d24d58","kind":"score.total_changed","summary":"Trust score (84 → 85)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-18","url":"https://verifymcp.io/servers/inssist-inssist-mcp/inssist-mcp#chg-chg_01a14d17-2461-736d-90fd-855b92d24d58"},{"id":"chg_01a142d2-3000-787b-b700-d3224210edf5","kind":"score.total_changed","summary":"Trust score (83 → 84)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-16","url":"https://verifymcp.io/servers/inssist-inssist-mcp/inssist-mcp#chg-chg_01a142d2-3000-787b-b700-d3224210edf5"},{"id":"chg_01a13886-d542-72ff-9c93-d8beefc199be","kind":"score.total_changed","summary":"Trust score (82 → 83)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-14","url":"https://verifymcp.io/servers/inssist-inssist-mcp/inssist-mcp#chg-chg_01a13886-d542-72ff-9c93-d8beefc199be"},{"id":"chg_01a1334e-e751-7614-b0d3-37b214920abc","kind":"check.reverified","summary":"Security disclosure (unverified → pass)","materiality":"functional","direction":"improvement","scoreDelta":null,"occurredOn":"2026-10-13","url":"https://verifymcp.io/servers/inssist-inssist-mcp/inssist-mcp#chg-chg_01a1334e-e751-7614-b0d3-37b214920abc"},{"id":"chg_01a1334e-e754-72a8-b990-ed73d3163781","kind":"score.total_changed","summary":"Trust score (81 → 82)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-13","url":"https://verifymcp.io/servers/inssist-inssist-mcp/inssist-mcp#chg-chg_01a1334e-e754-72a8-b990-ed73d3163781"},{"id":"chg_01a13183-df06-78a1-bc03-58a0f0ce6032","kind":"check.verdict","summary":"Stability (pass → 0.80)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-12","url":"https://verifymcp.io/servers/inssist-inssist-mcp/inssist-mcp#chg-chg_01a13183-df06-78a1-bc03-58a0f0ce6032"},{"id":"chg_01a13183-df08-72f4-96c7-a350706da227","kind":"score.total_changed","summary":"Trust score (84 → 81)","materiality":"functional","direction":"regression","scoreDelta":-3,"occurredOn":"2026-10-12","url":"https://verifymcp.io/servers/inssist-inssist-mcp/inssist-mcp#chg-chg_01a13183-df08-72f4-96c7-a350706da227"},{"id":"chg_01a12d22-c720-77f1-8cd3-81a41ba9f39c","kind":"check.verdict","summary":"Stability (0.83 → pass)","materiality":"security","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-11","url":"https://verifymcp.io/servers/inssist-inssist-mcp/inssist-mcp#chg-chg_01a12d22-c720-77f1-8cd3-81a41ba9f39c"},{"id":"chg_01a12d22-c721-7576-98e0-212c536e3bc0","kind":"check.unverifiable","summary":"Security disclosure (pass → unverified)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-10-11","url":"https://verifymcp.io/servers/inssist-inssist-mcp/inssist-mcp#chg-chg_01a12d22-c721-7576-98e0-212c536e3bc0"},{"id":"chg_01a12d22-c721-7ae4-8669-fe29fbe9af81","kind":"score.total_changed","summary":"Trust score (82 → 84)","materiality":"functional","direction":"improvement","scoreDelta":2,"occurredOn":"2026-10-11","url":"https://verifymcp.io/servers/inssist-inssist-mcp/inssist-mcp#chg-chg_01a12d22-c721-7ae4-8669-fe29fbe9af81"},{"id":"chg_01a104ea-9009-7718-9394-d7070b9d22d6","kind":"score.total_changed","summary":"Trust score (81 → 82)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-04","url":"https://verifymcp.io/servers/inssist-inssist-mcp/inssist-mcp#chg-chg_01a104ea-9009-7718-9394-d7070b9d22d6"},{"id":"chg_01a0fa9e-99b5-73e9-aeb5-8b6dffdaeb03","kind":"score.total_changed","summary":"Trust score (80 → 81)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-02","url":"https://verifymcp.io/servers/inssist-inssist-mcp/inssist-mcp#chg-chg_01a0fa9e-99b5-73e9-aeb5-8b6dffdaeb03"},{"id":"chg_01a0eb25-a439-7b9b-b04f-f4703b667039","kind":"score.total_changed","summary":"Trust score (79 → 80)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-09-29","url":"https://verifymcp.io/servers/inssist-inssist-mcp/inssist-mcp#chg-chg_01a0eb25-a439-7b9b-b04f-f4703b667039"}],"truncated":true,"feedUrl":"https://verifymcp.io/servers/inssist-inssist-mcp/inssist-mcp/changelog.json"},"links":{"html":"https://verifymcp.io/servers/inssist-inssist-mcp/inssist-mcp","markdown":"https://verifymcp.io/servers/inssist-inssist-mcp/inssist-mcp.md","changelogJson":"https://verifymcp.io/servers/inssist-inssist-mcp/inssist-mcp/changelog.json","changelogRss":"https://verifymcp.io/servers/inssist-inssist-mcp/inssist-mcp.xml","external":[{"label":"npm package","href":"https://www.npmjs.com/package/@inssist/mcp"},{"label":"Socket report","href":"https://socket.dev/npm/package/@inssist/mcp"},{"label":"Repository","href":"https://github.com/inssist/mcp"},{"label":"Website","href":"https://inssist.com/feature-guides/inssist-mcp-server-for-ai-agents"}]}}