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.
Deployment
Option 1: One-Click Deploy (Render)
- Click the "Deploy to Render" button above
- 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)
- Your MCP server will be at
https://your-service.onrender.com/mcp
Option 2: Local Development
Quick Start
1. Get Your Instagram Cookies
- Go to instagram.com and log in
- Open DevTools (F12) → Application tab → Cookies →
https://www.instagram.com - 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:
- Get your API key from poke.com/settings/advanced
- 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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file iflow_mcp_braindead_dev_instagram_dms_mcp-0.1.0.tar.gz.
File metadata
- Download URL: iflow_mcp_braindead_dev_instagram_dms_mcp-0.1.0.tar.gz
- Upload date:
- Size: 212.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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d20e3ee70438cdaab36f5626da32d52b826c31cabe4bbeda013b3f51c5e227a1
|
|
| MD5 |
7eddf2039cd2d5412957ee02d4569e1f
|
|
| BLAKE2b-256 |
2434c6b5f4c2ce770dcce4ed73f91650e3c47b45ee01b6c209f8d2b3dd21c5ba
|
File details
Details for the file iflow_mcp_braindead_dev_instagram_dms_mcp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: iflow_mcp_braindead_dev_instagram_dms_mcp-0.1.0-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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e2198aa352d18cf83bcfde9c149d0f8a758d5e97fd235130dfabcd7f6683eb41
|
|
| MD5 |
2c85f7bec6cb49c546faa5d318f27ef0
|
|
| BLAKE2b-256 |
079b2291cea6ad1538f0b0a9561703784bd0d85d1ccbdf29bfc52e0dc4970a06
|