Skip to content
plugmcp
DirectorySkillsCategoriesBlog
EN/δΈ­ζ–‡
Sign inSign up
Home/Servers/MCP Instagram Dm

MCP Instagram Dm

I
by io.github.KynuxDev

Read, send, search & manage Instagram DMs through AI assistants. 15 tools, cookie auth.

Power your agent

Add this server

The publisher's own command. Not a PlugMCP endpoint.

Local command
npx -y [email protected]
Provider
Claude Code
claude mcp add io.github.kynuxdev-mcp-instagram-dm -- npx -y [email protected]

Run in a terminal.

Claude Desktop
{
  "mcpServers": {
    "io.github.kynuxdev-mcp-instagram-dm": {
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ]
    }
  }
}

claude_desktop_config.json

Step-by-step: add this in Claude

Remote URL or a command on your machine? How the two installs differ

Run on PlugMCP

Host a copy with our keys and logs.

A new server you create. It is not this listing's official endpoint. Use the publisher install when you want their URL and their credentials.

Launch

Related MCP

View more
  • FirecrawlπŸ”₯ Official Firecrawl MCP Server - Adds powerful web scraping and search to Cursor, Claude and any other LLM clients.
  • N
    NotionToken-auth Notion MCP: pages, databases, blocks, comments, files. Runs headless in CI and agents.
  • Context7Context7 Platform -- Up-to-date code documentation for LLMs and AI code editors

Related skills

View all
  • reaReverse engineer anything with agents, from app behavior down to native binaries.
  • rea-changelog-updatePrepare or rewrite REA release changelogs and GitHub release notes from pinned Git history, with verified contributor thanks and Release Please synchronization.
  • rea-tool-designDesign or change REA investigation tools, CLI/MCP contracts, provider capabilities, and Evidence semantics.

Read, send, search & manage Instagram DMs through AI assistants. 15 tools, cookie auth.

πŸ“¨ MCP Instagram DM

Control your Instagram DMs with AI

Read, send, search, and manage Instagram Direct Messages through natural language with any MCP-compatible AI assistant.

A Model Context Protocol server that bridges Instagram Direct Messages with AI assistants like Claude, Cursor, and any MCP-compatible client.

Cookie-based authentication β€” no API keys, no OAuth, just works.

Getting Started Β· Features Β· Configuration Β· Tools Reference Β· Contributing

πŸ’‘ If you find this useful, please consider giving it a ⭐ β€” it helps others discover the project!


⚑ Getting Started

Get up and running in under 60 seconds:

1. Add to your MCP config (Claude Desktop, Claude Code, or Cursor):

{
  "mcpServers": {
    "instagram": {
      "command": "npx",
      "args": ["-y", "mcp-instagram-dm"],
      "env": {
        "INSTAGRAM_SESSION_ID": "your_session_id",
        "INSTAGRAM_CSRF_TOKEN": "your_csrf_token",
        "INSTAGRAM_DS_USER_ID": "your_user_id"
      }
    }
  }
}

2. Talk to your AI assistant:

"Read my Instagram DMs"

That's it β€” you're ready. πŸŽ‰

Need help getting your cookies? See Configuration below.

🎬 What It Looks Like

You:    "Show me my unread Instagram DMs"
Claude: Fetching your inbox...

        πŸ“¬ Inbox (3 conversations)

        [UNREAD] john_doe (thread_id: 340282366841710300...)
          Last: [2026-03-29 14:23:01] john_doe: Hey, are you free tonight?

        [UNREAD] [GROUP] project_team (thread_id: 340282366841710301...)
          Last: [2026-03-29 13:45:22] alice: Meeting moved to 3pm

        jane_smith (thread_id: 340282366841710302...)
          Last: [2026-03-29 10:12:45] You: Thanks! See you then

You:    "Reply to john_doe: Yeah, let's meet at 7!"
Claude: βœ… Message sent: "Yeah, let's meet at 7!"

✨ Features

15 tools across three categories β€” everything you need to manage your Instagram DMs:

πŸ“₯ Read & Monitor

ToolDescription
instagram_get_inboxList recent DM conversations with unread/group/muted indicators
instagram_get_threadGet messages from a conversation (auto-paginates β€” fetch 500+ messages at once)
instagram_get_pendingList pending DM requests waiting for your approval
instagram_user_infoGet any user's profile: bio, followers, posts, verification
instagram_thread_infoThread metadata: participants, group info, mute/archive status

✏️ Send & Manage

ToolDescription
instagram_send_messageSend a text message in any thread
instagram_send_linkShare a URL with optional caption
instagram_create_threadStart a new DM with one or multiple users
instagram_like_messageReact to any message with any emoji
instagram_unsend_messageUnsend your own messages
instagram_mark_seenMark a conversation as read
instagram_approve_pendingApprove a pending DM request

πŸ” Search & Discover

ToolDescription
instagram_search_inboxSearch conversations by username or name (scans all pages)
instagram_search_messagesFind messages containing specific text within a thread
instagram_search_usersSearch Instagram users to start new conversations

πŸ“¦ Installation

npx (recommended β€” zero install)

npx mcp-instagram-dm

npm global

npm install -g mcp-instagram-dm
mcp-instagram-dm

From source

git clone https://github.com/KynuxDev/mcp-instagram-dm.git
cd mcp-instagram-dm
npm install && npm run build
node dist/index.js

πŸ”§ Configuration

Getting Your Cookies

  1. Open instagram.com in Chrome and log in
  2. Press F12 β†’ Application tab β†’ Cookies β†’ https://www.instagram.com
  3. Copy these three values:
Cookie NameEnvironment VariableDescription
sessionidINSTAGRAM_SESSION_IDYour session token
csrftokenINSTAGRAM_CSRF_TOKENCSRF protection token
ds_user_idINSTAGRAM_DS_USER_IDYour numeric user ID

πŸ’‘ Tip: You can also run node get-cookies.js for a guided walkthrough.

Environment Variables

VariableRequiredDefaultDescription
INSTAGRAM_SESSION_IDβœ…β€”Your Instagram session cookie
INSTAGRAM_CSRF_TOKENβœ…β€”CSRF token from cookies
INSTAGRAM_DS_USER_IDβœ…β€”Your numeric user ID
INSTAGRAM_RATE_LIMIT_MSβ€”300Delay between paginated API requests (ms)

Client Setup

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "instagram": {
      "command": "npx",
      "args": ["-y", "mcp-instagram-dm"],
      "env": {
        "INSTAGRAM_SESSION_ID": "your_session_id",
        "INSTAGRAM_CSRF_TOKEN": "your_csrf_token",
        "INSTAGRAM_DS_USER_ID": "your_user_id"
      }
    }
  }
}

Add to your project's .mcp.json:

{
  "mcpServers": {
    "instagram": {
      "command": "npx",
      "args": ["-y", "mcp-instagram-dm"],
      "env": {
        "INSTAGRAM_SESSION_ID": "your_session_id",
        "INSTAGRAM_CSRF_TOKEN": "your_csrf_token",
        "INSTAGRAM_DS_USER_ID": "your_user_id"
      }
    }
  }
}

Add to .cursor/mcp.json in your project:

{
  "mcpServers": {
    "instagram": {
      "command": "npx",
      "args": ["-y", "mcp-instagram-dm"],
      "env": {
        "INSTAGRAM_SESSION_ID": "your_session_id",
        "INSTAGRAM_CSRF_TOKEN": "your_csrf_token",
        "INSTAGRAM_DS_USER_ID": "your_user_id"
      }
    }
  }
}

πŸ’¬ Usage Examples

Just talk naturally to your AI assistant:

What you sayWhat happens
"Read my unread Instagram DMs"Fetches inbox with unread indicators
"Send 'Hey!' to @username"Finds the thread and sends the message
"Search my DMs for messages about 'meeting'"Scans thread messages for the keyword
"Start a new conversation with @johndoe"Creates a new thread and sends your message
"Show me pending DM requests and approve them"Lists and approves pending requests
"What's @user's profile info?"Fetches full profile details
"Get the last 200 messages with @friend"Auto-paginates to fetch all messages
"React with πŸ”₯ to the last message"Sends emoji reaction to any message

πŸ“– Tools Reference

ToolDescriptionParameters
instagram_get_inboxList DM conversationslimit?, cursor?
instagram_get_threadGet thread messages (auto-paginates)thread_id, limit?, cursor?
instagram_get_pendingList pending requestslimit?, cursor?
instagram_user_infoGet user profileuser_id
instagram_thread_infoGet thread detailsthread_id
instagram_send_messageSend text messagethread_id, text
instagram_send_linkShare a URLthread_id, url, text?
instagram_create_threadStart new DMrecipient_ids[], text
instagram_like_messageReact with emojithread_id, item_id, emoji?
instagram_unsend_messageUnsend a messagethread_id, item_id
instagram_mark_seenMark as readthread_id, item_id
instagram_approve_pendingApprove requestthread_id
instagram_search_inboxSearch conversationsquery, max_pages?
instagram_search_messagesSearch within threadthread_id, query, max_messages?
instagram_search_usersFind usersquery

πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     MCP (stdio)     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   AI Assistant       │◄──────────────────►│   MCP Server          β”‚
β”‚   (Claude, Cursor)   β”‚                     β”‚   src/index.ts        β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                     β”‚   15 tools            β”‚
                                             β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                                        β”‚
                                             β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                                             β”‚   Instagram Client    β”‚
                                             β”‚   src/instagram.ts    β”‚
                                             β”‚   Cookie auth + HTTP  β”‚
                                             β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                                        β”‚
                                             β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                                             β”‚   Instagram Web API   β”‚
                                             β”‚   (Private endpoints) β”‚
                                             β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Design principles:

  • Single dependency β€” only @modelcontextprotocol/sdk. No axios, no puppeteer, no bloat.
  • TypeScript strict β€” zero any types, fully typed interfaces in src/types.ts
  • Auto-pagination β€” request 500 messages and the server handles the rest with rate limiting
  • 14+ message types β€” text, media, voice, reels, links, clips, GIFs, posts, stories, and more

πŸ”’ Security

  • Session cookies are never logged or stored beyond runtime
  • All credentials are read from environment variables only
  • No data is sent to any third-party service
  • See SECURITY.md for reporting vulnerabilities

⚠️ Disclaimer

This project uses Instagram's unofficial web API, which may change without notice.

  • Personal use only β€” do not use for spam, mass messaging, or automation that violates Instagram's Terms of Service
  • Your session cookies are sensitive credentials β€” never share or commit them
  • This project is not affiliated with, endorsed by, or connected to Meta or Instagram
  • Use at your own risk β€” the authors are not responsible for any account restrictions

🀝 Contributing

Contributions are welcome! Please see CONTRIBUTING.md for development setup and guidelines.

If you'd like to support the project financially, consider sponsoring on GitHub.

πŸ“„ License

MIT β€” Made with ❀️ by Kynux


If this project helped you, consider giving it a ⭐

Report Bug Β· Request Feature Β· Contribute

How do I install MCP Instagram Dm?
Copy the stdio config for Cursor, Claude Desktop, Claude Code, or VS Code on this page. It uses the publisher's install, not a PlugMCP proxy.
Does MCP Instagram Dm need an API key?
No required environment variable is listed on this record.
What transport does MCP Instagram Dm use?
MCP Instagram Dm runs locally over stdio.
When was MCP Instagram Dm last checked?
Last checked 2026-10-16. Read, send, search & manage Instagram DMs through AI assistants. 15 tools, cookie auth.

No tool list yet. Remote servers get one after the first health check.

plugmcp

Plug any tool into any agent. MCP servers for people who do not write servers. Gateway for volume, n8n for apps.

  • github.com/TODO
  • x.com/TODO
  • linkedin.com/company/TODO

PlugMCP, 2026

Product
  • Browse
  • Install
  • Host your own
  • Voice mode
  • Browser
Directory
  • All MCP servers
  • Agent skills
  • Categories
  • New
  • Voice
  • Submit a server
Developers
  • Docs
  • Blog
  • What is MCP
  • What is WebMCP
  • Status
Company
  • About
  • Contact
  • Terms
  • Privacy
  • DPA