Skip to main content
Glama
braindead-dev

Instagram DMs MCP

Instagram DMs MCP

A Model Context Protocol (MCP) server that lets AI assistants read and send Instagram DMs.

Deploy to Render

Deployment

Option 1: One-Click Deploy (Render)

  1. Click the "Deploy to Render" button above

  2. Add your environment variables in Render dashboard:

    • IG_COOKIES - Your Instagram cookies as JSON (see below)

    • POKE_API_KEY - Your Poke API key (optional, for DM notifications)

  3. Your MCP server will be at https://your-service.onrender.com/mcp

Option 2: Local Development

Related MCP server: Instagram DM MCP Server

Quick Start

1. Get Your Instagram Cookies

  1. Go to instagram.com and log in

  2. Open DevTools (F12) → Application tab → Cookies → https://www.instagram.com

  3. Copy these values into your .env:

Cookie

Env Variable

sessionid

IG_SESSION_ID

ds_user_id

IG_USER_ID

csrftoken

IG_CSRF_TOKEN

datr

IG_DATR

ig_did

IG_DID

mid

IG_MID

2. Setup

git clone https://github.com/braindead-dev/instagram-dms-mcp.git
cd instagram-dms-mcp

# Build the gateway (requires Go 1.22+)
cd gateway && ./build.sh && cd ..

# Configure
cp env.example .env
# Edit .env with your cookies

# Run
pip install -r requirements.txt
python src/server.py

Tools

Tool

Description

get_inbox()

See all your conversations

get_conversation(user)

Read messages with someone

send_message(user, message)

Send a message

react(user, emoji)

React to their last message

Example Flow

User: "Check my Instagram DMs"
→ get_inbox()

User: "What did @johndoe say?"
→ get_conversation("johndoe")

User: "Reply with 'sounds good!'"
→ send_message("johndoe", "sounds good!")

User: "React with a heart"
→ react("johndoe", "❤️")

Incoming DM Notifications (Poke)

To get notified when you receive new DMs:

  1. Get your API key from poke.com/settings/advanced

  2. Add to .env:

    POKE_API_KEY=your_key_here

New DMs will be forwarded to Poke as: 📩 Instagram DM from @username: message

Behavior Settings

The MCP simulates natural behavior by default:

Setting

Default

Description

IG_SIMULATE_TYPING

true

Show typing indicator before sending

IG_AUTO_MARK_SEEN

true

Mark as read when opening conversation

IG_TYPING_DELAY

1.5

Seconds to "type" before sending

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    A
    maintenance
    Enables sending, reading, and managing Instagram Direct Messages from your own account through Claude Desktop or Cursor, including sending text, photo, and video messages, listing and searching chats and threads, downloading media from messages, and looking up user profiles, followers, posts, and stories. It also supports marking messages as seen and checking pending inbox threads.
    -
  • F
    license
    Not graded
    quality
    A
    maintenance
    Enables sending Instagram Direct Messages (text, photos, and videos) and managing conversations from a connected Instagram account through tools that list and search chats, read messages, and download shared or uploaded media. It also supports user lookups, story/follower/post retrieval, and liking or marking messages as seen.
    -
  • F
    license
    Not graded
    quality
    A
    maintenance
    Enables users to send and manage Instagram Direct Messages, including text, photo, and video messages, and to browse chats, search threads, download media, mark messages seen, and retrieve user, story, follower, following, and post information through natural-language tools.
    -
  • F
    license
    Not graded
    quality
    A
    maintenance
    Enables sending Instagram Direct Messages and managing DM threads from a connected account, including text, photo, and video messages, listing chats and messages, downloading media, searching users/threads, and retrieving user, story, follower, and post information.
    -