返回市场
Instagram直接消息MCP

Instagram直接消息MCP

作者:trypeggy143 星标更新:2025-08-14

项目介绍

Instagram 直接消息 MCP 服务器

这是一个用于发送 Instagram 直接消息的模型上下文协议(MCP)服务器。

使用此服务器,您可以从您的账户发送 Instagram 直接消息(更多功能即将推出)。

当它与 Claude 集成时,您可以执行以下操作:

https://github.com/user-attachments/assets/9c945f25-4484-4223-8d6b-5bf31243464c

要获取此项目及其他项目的更新,请在此处输入您的电子邮件:输入您的电子邮件地址


安装

先决条件

  • Python 3.11+
  • Anthropic Claude 桌面应用(或 Cursor)
  • Pip(Python 包管理器),通过 python -m pip install 安装
  • 一个 Instagram 账户

步骤

  1. 克隆此仓库

    git clone https://github.com/trypeggy/instagram_dm_mcp.git
    cd instagram_dm_mcp
    
  2. 安装依赖项

  • 使用 uv(推荐):
    uv sync
    
  • 使用 Pip:
    pip install -r requirements.txt
    
  1. 配置 Instagram 凭证

    提供 Instagram 凭证有两种方式:

    选项 A:环境变量(推荐)

    快速设置(推荐):

    运行辅助脚本:

    python setup_env.py
    

    这将交互式地提示您输入凭证,并安全地创建 .env 文件。

    手动设置:

    在项目根目录中创建 .env 文件:

    cp env.example .env
    

    然后编辑 .env 文件,填写实际的凭证:

    INSTAGRAM_USERNAME=您的Instagram用户名
    INSTAGRAM_PASSWORD=您的Instagram密码
    

    选项 B:命令行参数

    您仍然可以通过命令行参数传递凭证(安全性较低)。

  2. 连接到 MCP 服务器

    对于 Claude 桌面版:

    将其保存为 claude_desktop_config.json,位于您的 Claude 桌面版配置目录下:

    ~/Library/Application Support/Claude/claude_desktop_config.json
    

    对于 Cursor:

    将其保存为 mcp.json,位于您的 Cursor 配置目录下:

    ~/.cursor/mcp.json
    

    使用环境变量配置(推荐):

    • 使用 uv
    {
      "mcpServers": {
        "instagram_dms": {
            "command": "uv",
            "args": [
              "run",
              "--directory",
              "PATH/TO/instagram_dm_mcp",
              "python",
              "src/mcp_server.py"
            ]
         }
       }
     }
    
    • 使用 Python
    {
      "mcpServers": {
        "instagram_dms": {
          "command": "python",
          "args": [
            "{{PATH_TO_SRC}}/instagram_dm_mcp/src/ mcp_server.py"
          ]
        }
      }
    }
    

    使用命令行参数配置:

    {
      "mcpServers": {
        "instagram_dms": {
          "command": "python",
          "args": [
            "{{PATH_TO_SRC}}/instagram_dm_mcp/src/mcp_server.py",
            "--username",
            "{{您的Instagram用户名}}",
           "--password",
           "{{您的Instagram密码}}"
          ]
        }
      }
    }
    
  3. 重启 Claude 桌面版 / Cursor

    打开 Claude 桌面版,您现在应该能看到 Instagram 直接消息 MCP 已作为可用集成列出。

    或者重启 Cursor。


使用

以下是所有可用工具及其功能列表:

工具名称描述
send_message向指定用户名的用户发送 Instagram 直接消息。
send_photo_message向指定用户名的用户发送照片作为 Instagram 直接消息。
send_video_message向指定用户名的用户发送视频作为 Instagram 直接消息。
list_chats获取 Instagram 直接消息线程(聊天),可选过滤/限制。
list_messages根据线程ID获取特定 Instagram 直接消息线程中的消息。现在暴露每个消息的 item_type 和共享帖子/故事信息。使用此功能确定应使用哪个下载工具。
download_media_from_message从 DM 消息中下载直接上传的照片或视频(不适用于共享帖子/故事/片段)。
download_shared_post_from_message从 DM 消息中下载共享帖子、故事或片段中的媒体(不适用于直接上传)。
list_media_messages列出包含直接上传媒体(照片/视频)的所有 DM 线程中的消息。
mark_message_seen标记特定 Instagram 直接消息线程中的消息为已读。
list_pending_chats获取待处理的 Instagram 直接消息线程。
search_threads根据用户名或关键词搜索 Instagram 直接消息线程。
get_thread_by_participants根据参与者用户ID获取 Instagram 直接消息线程。
get_thread_details根据线程ID获取特定 Instagram 直接消息线程的详细信息和消息。
get_user_id_from_username根据用户名获取 Instagram 用户ID。
get_username_from_user_id根据用户ID获取 Instagram 用户名。
get_user_info根据用户名获取特定 Instagram 用户的信息。
search_users根据用户名搜索 Instagram 用户。
get_user_stories根据用户名获取特定 Instagram 用户的最近故事。
like_media根据媒体ID点赞或取消点赞特定媒体帖子。
get_user_followers根据用户名获取特定 Instagram 用户的关注者列表。
get_user_following根据用户名获取特定 Instagram 用户正在关注的用户列表。
get_user_posts根据用户名获取特定 Instagram 用户的最近帖子。

故障排除

Instagram 登录挂起: 该服务器现在包括自动会话管理以防止登录挂起。会话文件(例如,username_session.json)会自动创建并重复使用,以在运行之间维持身份验证状态。

有关更多的 Claude 桌面版集成故障排除,请参阅 MCP 文档。文档中包含了检查日志和解决常见问题的有用提示。


反馈

您的反馈将非常宝贵。请 告诉我们 您希望在列表中看到哪些功能,或者请求完全新的功能。


许可证

本项目采用 MIT 许可证。

许可证 Python