Skip to main content

A Model Context Protocol server that lets AI assistants read and send Instagram DMs

Project description

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

Quick Start

1. Get Your Instagram Cookies

  1. Go to instagram.com and log in
  2. Open DevTools (F12) → Application tab → Cookieshttps://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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file iflow_mcp_braindead_dev_instagram_dms_mcp-0.1.3.tar.gz.

File metadata

  • Download URL: iflow_mcp_braindead_dev_instagram_dms_mcp-0.1.3.tar.gz
  • Upload date:
  • Size: 9.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.25 {"installer":{"name":"uv","version":"0.9.25","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_braindead_dev_instagram_dms_mcp-0.1.3.tar.gz
Algorithm Hash digest
SHA256 e5cec9c8c807db9dfcc7f6f273033757edd989a343b8f13f3028f90cb3b56e38
MD5 2f5678767ed8fda11adf85556fb18429
BLAKE2b-256 fda6f4748585042160a5623958bb8c33291abe41e84aaabaf75e4f3cf8081984

See more details on using hashes here.

File details

Details for the file iflow_mcp_braindead_dev_instagram_dms_mcp-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: iflow_mcp_braindead_dev_instagram_dms_mcp-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 10.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.25 {"installer":{"name":"uv","version":"0.9.25","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_braindead_dev_instagram_dms_mcp-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 4ba41c1ecd06ea016c587ff0d1087746f7d39aacc5634e530785243a88563b25
MD5 1d27e117d9373c8aad49fb2a7cc07c64
BLAKE2b-256 9175ecfa66babc385081faa015db3b0a32d91dc4fd527300b8d2d31c42440fa1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page