This is a Model Context Protocol (MCP) server for sending instagram Direct Messages.
Instagram Dm MCP becomes available to MCP clients through the instagram dm mcp mcp server. This is a Model Context Protocol (MCP) server for sending instagram Direct Messages.
This is a Model Context Protocol (MCP) server for sending instagram Direct Messages.
Once connected, the assistant can call these 14 tools directly:
send_message — Send an Instagram direct message to a user by usernamesend_photo_message — Send a photo as an Instagram direct message to a user by usernamesend_video_message — Send a video as an Instagram direct message to a user by usernamelist_chats — Get Instagram Direct Message threads (chats) from your account, with optional filters/limitslist_messages — Get messages from a specific Instagram Direct Message thread by thread ID. Now exposes item_type and shared post/reel info for each message. Use this todownload_media_from_message — Download a direct-uploaded photo or video from a DM message (not for shared posts/reels/clips)download_shared_post_from_message — Download media from a shared post, reel, or clip in a DM message (not for direct uploads)list_media_messages — List all messages containing direct-uploaded media (photo/video) in a DM threadmark_message_seen — Mark a specific message in an Instagram Direct Message thread as seenlist_pending_chats — Get Instagram Direct Message threads from your pending inboxsearch_threads — Search Instagram Direct Message threads by username or keywordget_thread_by_participants — Get an Instagram Direct Message thread by participant user IDsget_thread_details — Get details and messages for a specific Instagram Direct Message thread by thread IDget_user_id_from_username — Get the Instagram user ID for a given usernameSetup follows the standard MCP pattern: clone or install the server, then register it in your client's configuration file and restart the client. The configuration snippets on this page cover Claude Desktop, Claude Code and Cursor.
python -m pip install - An instagram accountDeveloper-tool servers are usually the first ones people connect, because they turn "help me with this code" into an assistant that can actually read the repo and act on it. Instagram Dm MCP sits in that group, and the shape of its toolset — send_message, send_photo_message, send_video_message among others — tells you what it is really for. Worth comparing against the other developer tools servers in this directory before you commit to one, since several overlap in scope but differ sharply in setup cost and permissions.
| Tool | What it does |
|---|---|
| send_message | Send an Instagram direct message to a user by username. |
| send_photo_message | Send a photo as an Instagram direct message to a user by username. |
| send_video_message | Send a video as an Instagram direct message to a user by username. |
| list_chats | Get Instagram Direct Message threads (chats) from your account, with optional filters/limits. |
| list_messages | Get messages from a specific Instagram Direct Message thread by thread ID. Now exposes item_type and shared post/reel info for each message. Use this to determine which download tool to use. |
| download_media_from_message | Download a direct-uploaded photo or video from a DM message (not for shared posts/reels/clips). |
| download_shared_post_from_message | Download media from a shared post, reel, or clip in a DM message (not for direct uploads). |
| list_media_messages | List all messages containing direct-uploaded media (photo/video) in a DM thread. |
| mark_message_seen | Mark a specific message in an Instagram Direct Message thread as seen. |
| list_pending_chats | Get Instagram Direct Message threads from your pending inbox. |
| search_threads | Search Instagram Direct Message threads by username or keyword. |
| get_thread_by_participants | Get an Instagram Direct Message thread by participant user IDs. |
| get_thread_details | Get details and messages for a specific Instagram Direct Message thread by thread ID. |
| get_user_id_from_username | Get the Instagram user ID for a given username. |
- Using Python
```json
{
"mcpServers": {
"instagram_dms": {
"command": "python",
"args": [
"{{PATH_TO_SRC}}/instagram_dm_mcp/src/ mcp_server.py"
]
}
}
}Configuration as documented by the project. Restart the client after saving.
python -m pip install - An instagram accountKill hallucinated APIs — version-accurate, up-to-date library documentation injected straight into context.
Microsoft's official browser automation server — drive a real browser through the accessibility tree, no screenshots needed.
GitHub's official server — repos, issues, pull requests, Actions and code security, straight from your assistant.
Issue tracking at the speed of conversation — Linear's official hosted server with OAuth and zero install.
Local repository surgery — status, diffs, commits, branches and history for any repo on disk.
Timezone sanity for AI — current time anywhere and correct conversions, without the model doing date math.