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.1.tar.gz.

File metadata

  • Download URL: iflow_mcp_braindead_dev_instagram_dms_mcp-0.1.1.tar.gz
  • Upload date:
  • Size: 213.0 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.1.tar.gz
Algorithm Hash digest
SHA256 dd77ee9566e5bb1937b6ed1a24f339af0dcdfb71b487a5b3fa3ec96630816c39
MD5 58553a53a3eafe49cbf464828945c5d3
BLAKE2b-256 8691af23ae85f281e26ee562fa3442dabfcca0d3d05ab17e036e283b3e64d883

See more details on using hashes here.

File details

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

File metadata

  • Download URL: iflow_mcp_braindead_dev_instagram_dms_mcp-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 16.8 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1a190bb408e8980d0de7a40ed963008c86b698ba16491f7209920af64266da68
MD5 d67c75bca6c3961f1d044811efd16470
BLAKE2b-256 99fa36a5ade34aac912884b88a6eaaf64bf0ff99d46e6f170d49ee26b9e57244

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