Open source59 tools, on NPM

Run your Instagram with an AI agent.The Instagram MCP Server for Claude Code, Codex, Cursor and Claude Desktop.

Schedule a week of Reels with trending audio. Answer DMs in your voice. See who unfollowed you and what your audience responds to. All through the browser you are already logged into, on a personal, creator or business account. Nothing leaves your computer.

claude mcp add inssist -- npx -y @inssist/mcp
GitHub·npm·Setup guide·Node.js 22+, or none with Claude Desktop
Install

Two steps, done once

Add the server to your agent, then let it into your browser. The server never logs in anywhere: it talks to the INSSIST Chrome extension, which already has your Instagram session.

  1. 1

    Add the server to your agent

    Pick your agent. It downloads and starts @inssist/mcp by itself, nothing to run by hand.

    Claude Code

    Run in any terminal

    claude mcp add inssist -- npx -y @inssist/mcp
  2. 2

    Connect your browser

    The agent acts through INSSIST in your Chrome, and one switch controls all of it: turn Connect to AI Agents off and every agent is cut off at once. Nothing to revoke.

    1. Install INSSIST

      Free Chrome extension. Chrome Web Store

    2. Open instagram.com

      Logged in as you normally are. Any account type.

    3. Turn on Connect to AI Agents

      In the INSSIST menu. The panel shows Connected within seconds.

Compared

More of Instagram than the Graph API allows

Every other Instagram MCP wraps Meta's Graph API: business account required, app review for DMs, no music, no scheduling, and your access token kept by someone else. INSSIST works through your own browser session instead, so your account stays yours and your data stays on your computer.

 
INSSIST MCP
your browser session
Graph API MCPs
mcpware/instagram-mcp, jlbadano/ig-mcp
Postiz
scheduler with MCP
Zapier, Composio
hosted MCPs
Personal or creator accountPersonal, creator, businessBusiness or creator account via Meta APIProfessional account and a Meta developer appBusiness account via Meta API (Zapier); business or creator (Composio)
Reels with musicTracks from Instagram's libraryReels publish; music not documentedAudio on Reels with a Facebook Business connection onlyVideo as Reel; music not documented
Stories with musicMusic, mentions, links, placesRead Stories only (mcpware); no publishing documentedImage and video Stories, no musicNot offered (Zapier); read only (Composio)
Read and send DMsRead, reply, accept or decline requests. Any account typeAfter Meta app review (Advanced Access)Not supportedNot offered (Zapier); via Messenger API (Composio)
Schedule postsQueued in INSSIST, published from your browserNot in the tool setCore featurePublish now only
Unfollowers & AnalyticsUnfollowers, bots, best times, growthMeta insights only; no unfollowersPost analytics; no unfollowers documentedNone (Zapier); Meta insights (Composio)
Runs locallyOn your machine, through your own ChromeLocal Python process, calls go to MetaCloud, or self-host the whole appHosted
SecurityNo password, cookie or token ever leaves your machineMeta access token in your local configOAuth token on Postiz cloud, or your own serverManaged connections on their cloud
PriceFree reads. Writes need INSSIST PRO. Server is MIT.Free, MIT. Plus a Meta developer app.From $29/mo (5 channels), or self-hosted.On every Zapier plan, 2 tasks per call. Composio: free to start.

Checked Sep 2026 against mcpware/instagram-mcp, jlbadano/ig-mcp, Postiz Instagram docs, Postiz pricing, Zapier MCP for Instagram, Composio Instagram toolkit. The trade-off runs the other way too: INSSIST works from your browser, so Chrome has to be open and online when a scheduled post goes out.

How it works

Private and secure by design

Four hops, three of them on your machine. The agent talks to the server, the server talks to the INSSIST extension in your Chrome, and the extension makes the same requests instagram.com makes when you click. No cloud in the middle, no password or token stored anywhere.

Your machine
Your agent
Claude Code, Codex, Cursor or any MCP client
stdio
@inssist/mcp
Open source, started by npx
localhost
INSSIST extension
In your Chrome, already logged in
logged-in tab
Instagram
Same requests as clicking
  • Paced like a person

    Calls to Instagram are spaced seconds apart per account, so a burst of agent activity looks like normal use.

  • Many agents, one server

    Run Claude Code and Cursor side by side. The first server becomes the hub and the others relay through it.

  • One switch, full control

    Turn Connect to AI Agents off in INSSIST and every agent is cut off at once. Nothing to revoke, nothing to uninstall.

The server is MIT licensed and open to audit: github.com/inssist/mcp.

Tools

The most complete Instagram toolkit an agent can get

Publishing, DMs, comments, insights, audience and downloads: everything INSSIST does, callable by your agent. Reads are free. Writes and reports need PRO, and a PRO tool called without access returns an upgrade link instead of an error, so the agent simply passes it on.

  • Read-only
  • Writes to Instagram or your queue
  • Actions, paced under limits

Account and profile

Which browsers are connected, who is logged in, and your own bio.

  • account_info

    Connected browsers, the account each is logged into, the default target.

  • account_switch

    Switch the browser profile to another logged-in account.

  • profile_updatePRO

    Edit the logged-in account's bio.

  • note_setPRO

    Set or clear the Note above the DM inbox (60 chars, gone in 24h).

Read any account

Profiles, posts, Stories and search, as your session sees them.

  • ig_fetch_profile

    Bio, links, follower and post counts, viewer relationship.

  • ig_fetch_posts

    Recent posts with captions, likes, comments and timestamps.

  • ig_fetch_post

    One post by URL or shortcode, with owner and full-size media.

  • ig_fetch_stories

    Currently live Stories of an account.

  • ig_fetch_saved

    Your saved posts, newest first.

  • ig_search

    Accounts and hashtags by free text, like the app's search box.

Direct messages

Listing chats and requests is free. Reading and replying needs PRO.

  • dm_list

    Recent conversations, last message, whether a reply is awaited.

  • dm_requests

    Pending message requests not yet in the inbox.

  • dm_readPRO

    A conversation's recent messages, oldest first.

  • dm_sendPRO

    Send a text message by thread id or username.

  • dm_mark_seenPRO

    Mark a conversation as read.

  • dm_acceptPRO

    Accept a message request into the inbox.

  • dm_removePRO

    Decline and remove a message request.

Publish and schedule

Drafts live in INSSIST's Post Assistant queue and publish from your browser.

  • draft_createPRO

    A draft post, carousel, reel or story from local files or URLs.

  • draft_schedulePRO

    Schedule a draft for a date and time.

  • draft_publishPRO

    Publish a draft right now.

  • draft_updatePRO

    Change caption, time, type, music, place, tags or framing.

  • draft_getPRO

    One queued post with caption, assets and last error.

  • draft_listPRO

    Queued posts: drafts, scheduled, published or failed.

  • draft_reorderPRO

    Swap the time slots scheduled posts already hold.

  • draft_deletePRO

    Remove a post from the queue. Live posts are untouched.

  • ig_post_editPRO

    Edit a published post's caption. Own posts only.

  • ig_post_deletePRO

    Delete a published post. Own posts only.

  • music_search

    Track ids from Instagram's music library to attach to a draft.

  • location_search

    Place ids to tag a post with.

Downloads

Media lands on your disk with a JSON manifest, not in the agent's context.

  • downloads_startPRO

    A whole account's posts, reels, stories and highlights, or one post.

  • downloads_statusPRO

    Progress, then the folder and manifest path.

  • downloads_cancelPRO

    Cancel a job and delete its data.

Comments

Read the thread under a post and take part in it.

  • comments_listPRO

    Comments on a post and their replies.

  • comment_addPRO

    Post a comment.

  • comment_replyPRO

    Reply to a comment.

  • comment_likePRO

    Like or unlike a comment.

  • comment_deletePRO

    Delete your own comment, or any on your own post.

Engagement

The inbound side of your account.

  • story_viewersPRO

    Who viewed one of your active Stories.

  • notifications_listPRO

    Recent comments, likes, follows and mentions.

  • follow_requests_listPRO

    Pending follow requests.

  • follower_removePRO

    Remove a follower without blocking.

  • ig_blockPRO

    Block or unblock an account.

Insights

Engagement, best times, top posts and follower growth, for any account.

  • insights_collectPRO

    Start or refresh an analytics scan.

  • insights_reportPRO

    Engagement, best times, heatmap, post types, top posts, trends.

Audience

Unfollowers, bot followers, and anyone's follower or following list.

  • unfollowers_scanPRO

    Start an unfollower scan.

  • unfollowers_reportPRO

    Who unfollowed you in the last 7 days.

  • unfollowers_exportPRO

    Full unfollower list to CSV.

  • antibot_scanPRO

    Score every follower: bot, suspicious, fresh or clean.

  • antibot_reportPRO

    Follower quality totals plus the flagged accounts.

  • antibot_exportPRO

    Full follower analysis to CSV.

  • peers_scanPRO

    Start collecting an account's followers or following.

  • peers_reportPRO

    A page of a collected list.

  • peers_exportPRO

    A full followers or following list to CSV.

Growth

One-off actions, and the lead-engagement sub-system. Paced.

  • ig_actionPRO

    Like, unlike, follow or unfollow. One target per call.

  • growth_startPRO

    Turn on lead engagement within a daily budget.

  • growth_pausePRO

    Turn lead engagement off.

  • growth_statusPRO

    On or off, current config, leads and sources found.

  • growth_configurePRO

    Source accounts, leads, banned words etc.

  • growth_exportPRO

    Leads and likes made to CSV.

FAQ

Before you paste the command

The six things people check first. Short answers, nothing hidden.

Does it work with a personal Instagram account?

Yes. Personal, creator and business accounts all work. The agent acts through the browser you are already logged into, not through the Graph API. No Meta app, no app review, no account type switch.

Does the agent get my password or a token?

No. The agent sends tool calls to a server on your own computer. That server relays them over loopback to the INSSIST extension, which already has your session. Nothing is proxied through a cloud. The only file kept is ~/.inssist/mcp-pairings.json with one pairing token per browser profile.

Will Instagram block my account?

The extension makes the same requests instagram.com makes when you click, from your own browser and IP. Agent calls are spaced seconds apart per account. Instagram's own action limits still apply: an agent asked to like hundreds of posts can be action-blocked, exactly like a person would.

Which agents can I use?

Any client that launches a stdio MCP server: Claude Code, Claude Desktop and Cowork, Codex, Cursor, Gemini CLI, Grok Build, Windsurf, VS Code with Copilot, Pi through pi-mcp-adapter, and agents built on the Claude Agent SDK or OpenAI Agents SDK. Several can be connected at once.

What is free and what needs PRO?

Reads are free: profiles, posts, Stories, search, music and place lookup, listing DMs and requests. Writes need INSSIST PRO: publishing, scheduling, sending DMs, comments, insights, audience scans, downloads. The first browser pairing starts a one-time MCP trial that unlocks the PRO tools.

What do I need installed?

Node.js 22 or newer, Chrome or another Chromium browser with INSSIST and Instagram open, and an MCP client. Claude Desktop needs no Node at all: the .mcpb bundle runs on Claude's built-in runtime.


Let your AI agent run your Instagram

Install INSSIST, add the MCP server with one command, and turn on Connect to AI Agents.