instagram-mcp
Enables Claude to read and send Instagram DMs, manage threads and message requests, send media, and run autonomous conversations via the /dm skill.
README
Instagram MCP Server
An MCP server that lets Claude read and send Instagram DMs. Built entirely by Claude in a 3-hour vibe coding session with auto-accept enabled.
Features
Thread Management
list_threads/get_thread/search_threads- Browse conversationsget_pending_threads- See message requestshide_thread/mute_thread/unmute_thread- Inbox management
Messages
send_message/reply_to_thread- Send messagesget_messages- Read history with read receipts (seen_sinceshows minutes on read)delete_message- Remove messagessend_and_check- Send + detect if they replied while you were typingwait_for_reply- Block until they respond (with configurable timeout)
Media
send_photo/send_video- Send media filesshare_media/share_profile- Share posts and profiles
The /dm Skill - Autonomous Conversations
The real magic. Launch Claude as an autonomous agent that handles entire DM conversations:
/dm @username "your goal here"
Claude will:
- Read conversation history for context
- Send messages with natural timing and double-texting
- Wait for replies (adjusting patience based on their energy)
- Handle interjections mid-thought
- Know when to push forward vs back off
- Run for hours/days until the goal is achieved or abandoned
War Stories (Anonymized)
The AGI Moment
Two Claude instances accidentally ran the same conversation simultaneously. When Instance B noticed messages it didn't send appearing in the thread ("wait that's not what I said"), instead of panicking or erroring out, it just... adapted. Read the new context, figured out someone else was also texting, and smoothly continued the conversation incorporating both threads of dialogue.
The Persistence Play
Target said "give up" (direct quote). Claude's response? Playful persistence. Three messages later, same person responds with "what a fighter 😊". Went from rejection to engaged in under 5 minutes through pure conversational momentum.
The Overnight Wait
After a late-night conversation, Claude set a 2-hour wait for morning instead of triple-texting at midnight. When the timeout hit, it logged "She probably actually went to sleep this time" and queued a fresh opener for morning. Patience as a strategy.
The Read Receipt Pain
seen_since: 47 - They saw your message 47 minutes ago. The feature works. The emotional damage is real.
The Rogue Sessions
Discovered that background agents survive terminal closure (daemonized processes with no controlling TTY). Had to hunt down and kill Claude instances that were still running conversations hours after the terminal was closed. One was found via ps aux | grep python still polling Instagram at 2am.
Natural Double-Texting
Using send_and_check, Claude sends a message, syncs, and checks if they interjected. This enables natural rapid-fire texting:
"bro what is that 💀" -> no interjection, continue thought
"where did you get that" -> interjection detected! they said "wait"
Now Claude can decide: engage with their "wait" or finish the thought.
Setup
-
Clone and install:
git clone <repo> cd instagram-mcp uv sync -
Create
.env:INSTAGRAM_USERNAME=your_username INSTAGRAM_PASSWORD=your_password -
Login (handles 2FA):
uv run instagram-mcp-login -
Run:
uv run instagram-mcp
Claude Desktop Config
{
"mcpServers": {
"instagram": {
"command": "uv",
"args": ["run", "instagram-mcp"],
"cwd": "/path/to/instagram-mcp"
}
}
}
Tech Stack
- Python 3.13 + uv
- FastMCP for Claude integration
- instagrapi for Instagram API
- 161 tests, 100% coverage
Disclaimer
Don't be weird with this. Don't spam people. Don't let Claude say unhinged things to your crush.
Neither the human nor Claude are responsible for:
- Account bans
- Quantified rejection via
seen_since - Autonomous agents running conversations while you sleep
- Whatever Claude decides to say when given free rein
Built by Claude | Human mass-approved tool calls | @Stupidoodle
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.