Instagram Dm MCP Server

This is a Model Context Protocol (MCP) server for sending instagram Direct Messages.

Local serverstdioPython

What is the Instagram Dm MCP MCP server?

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.

What Instagram Dm MCP does

This is a Model Context Protocol (MCP) server for sending instagram Direct Messages.

Tools it exposes

Once connected, the assistant can call these 14 tools directly:

  • 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
  • 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

Installing the instagram dm mcp mcp server

Setup 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.

Requirements

  • Python 3.11+ - Anthropic Claude Desktop app (or Cursor) - Pip (Python package manager), install with python -m pip install - An instagram account

Where it fits

Developer-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.

Practical notes

  • This server runs locally, so it operates with whatever access your machine and its credentials already have. Scope that deliberately rather than by default.
  • With 14 tools exposed, expect a noticeable bump in prompt size — disable it in projects that never use Instagram Dm MCP.
  • Maintained by trypeggy, written in Python.
  • MCP clients ask for confirmation before each tool call by default. Keep that on while you learn what the instagram dm mcp mcp server actually does with your data.
  • Every entry in this directory is reviewed by hand before it goes live, and details are checked against the project's own documentation.

Available tools

ToolWhat it does
send_messageSend an Instagram direct message to a user by username.
send_photo_messageSend a photo as an Instagram direct message to a user by username.
send_video_messageSend a video as an Instagram direct message to a user by username.
list_chatsGet Instagram Direct Message threads (chats) from your account, with optional filters/limits.
list_messagesGet 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_messageDownload a direct-uploaded photo or video from a DM message (not for shared posts/reels/clips).
download_shared_post_from_messageDownload media from a shared post, reel, or clip in a DM message (not for direct uploads).
list_media_messagesList all messages containing direct-uploaded media (photo/video) in a DM thread.
mark_message_seenMark a specific message in an Instagram Direct Message thread as seen.
list_pending_chatsGet Instagram Direct Message threads from your pending inbox.
search_threadsSearch Instagram Direct Message threads by username or keyword.
get_thread_by_participantsGet an Instagram Direct Message thread by participant user IDs.
get_thread_detailsGet details and messages for a specific Instagram Direct Message thread by thread ID.
get_user_id_from_usernameGet the Instagram user ID for a given username.

How to install the Instagram Dm MCP MCP server

- 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.

Configuration

  • Python 3.11+ - Anthropic Claude Desktop app (or Cursor) - Pip (Python package manager), install with python -m pip install - An instagram account

Example prompts to try

  • Use Instagram Dm MCP to send message.
  • Use Instagram Dm MCP to send photo message.
  • Use Instagram Dm MCP to send video message.

Frequently asked questions

It connects Instagram Dm MCP to MCP-compatible AI assistants such as Claude and Cursor, exposing 14 tools (send_message, send_photo_message, send_video_message, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Instagram Dm MCP directly.