mcpField
I

Instagram DM Server for AI Assistants

本地服务
github.com/KynuxDev通信协作430 周前更新

关于 Instagram DM Server for AI Assistants

Instagram DM Server for AI Assistants 通过自然语言管理 Instagram 私信,适合使用 MCP 兼容 AI 助手处理收件箱的用户。它提供读取、发送、搜索和会话管理功能,并使用 Cookie 认证。

主要功能

  1. 01查看收件箱与私信会话
  2. 02发送文本和链接
  3. 03搜索会话、消息与用户
  4. 04管理请求、已读状态和反应
  5. 05自动分页获取消息

适用场景

  1. 01查看未读私信和待处理请求
  2. 02搜索对话中的关键词
  3. 03向用户发送消息或链接

MCP 相关

作为 MCP 服务,它通过 15 个工具向兼容客户端开放 Instagram 私信读取、发送、搜索及管理功能。认证凭据通过环境变量提供。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"instagram-dm": {
"command": "npx",
"args": [
"-y",
"mcp-instagram-dm"
]
}
}
}
启动命令npx -y mcp-instagram-dm

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmmcp-instagram-dm2.1.1

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

📨 MCP Instagram DM

使用 AI 控制 Instagram 私信

通过自然语言,使用任何兼容 MCP 的 AI 助手读取、发送、搜索和管理 Instagram Direct Messages。

npm version npm downloads GitHub stars

CI License: MIT Node.js TypeScript MCP


一个 Model Context Protocol 服务,可将 Instagram Direct Messages 与 Claude、Cursor 等 AI 助手以及任何兼容 MCP 的客户端连接起来。

基于 Cookie 的身份验证——无需 API 密钥,无需 OAuth,即可使用。


快速开始 · 功能 · 配置 · 工具参考 · 参与贡献


💡 如果觉得这个项目有用,请考虑点个 ⭐——这能帮助更多人发现它!


⚡ 快速开始

不到 60 秒即可开始使用:

1. 添加到 MCP 配置中(Claude Desktop、Claude Code 或 Cursor):

{
  "mcpServers": {
    "instagram": {
      "command": "npx",
      "args": ["-y", "mcp-instagram-dm"],
      "env": {
        "INSTAGRAM_SESSION_ID": "your_session_id",
        "INSTAGRAM_CSRF_TOKEN": "your_csrf_token",
        "INSTAGRAM_DS_USER_ID": "your_user_id"
      }
    }
  }
}

2. 与 AI 助手对话:

“读取我的 Instagram 私信”

就这样——现在可以开始使用了。🎉

需要帮助获取 Cookie?请参阅下方的配置。

🎬 效果展示

You:    "Show me my unread Instagram DMs"
Claude: Fetching your inbox...

        📬 Inbox (3 conversations)

        [UNREAD] john_doe (thread_id: 340282366841710300...)
          Last: [2026-03-29 14:23:01] john_doe: Hey, are you free tonight?

        [UNREAD] [GROUP] project_team (thread_id: 340282366841710301...)
          Last: [2026-03-29 13:45:22] alice: Meeting moved to 3pm

        jane_smith (thread_id: 340282366841710302...)
          Last: [2026-03-29 10:12:45] You: Thanks! See you then

You:    "Reply to john_doe: Yeah, let's meet at 7!"
Claude: ✅ Message sent: "Yeah, let's meet at 7!"

✨ 功能

15 个工具,分为三类——管理 Instagram 私信所需的一切:

📥 读取与监控
工具描述
instagram_get_inbox列出最近的私信对话,并显示未读/群组/已静音状态
instagram_get_thread获取对话中的消息(自动分页——一次获取 500 条以上的消息)
instagram_get_pending列出等待你批准的待处理私信请求
instagram_user_info获取任意用户的个人资料:简介、粉丝数、帖子、认证状态
instagram_thread_info对话元数据:参与者、群组信息、静音/归档状态
✏️ 发送与管理
工具描述
instagram_send_message在任意对话中发送文本消息
instagram_send_link分享 URL,可附带说明文字
instagram_create_thread与一个或多个用户发起新的私信对话
instagram_like_message使用任意表情回应任意消息
instagram_unsend_message撤回你发送的消息
instagram_mark_seen将对话标记为已读
instagram_approve_pending批准待处理的私信请求
🔍 搜索与发现
工具描述
instagram_search_inbox按用户名或姓名搜索对话(扫描所有分页)
instagram_search_messages在对话中查找包含特定文本的消息
instagram_search_users搜索 Instagram 用户以发起新对话

📦 安装

npx(推荐——无需安装)
npx mcp-instagram-dm
npm 全局安装
npm install -g mcp-instagram-dm
mcp-instagram-dm
从源代码安装
git clone https://github.com/KynuxDev/mcp-instagram-dm.git
cd mcp-instagram-dm
npm install && npm run build
node dist/index.js

🔧 配置

获取 Cookie
  1. 在 Chrome 中打开 instagram.com 并登录
  2. 按 F12 → Application 标签页 → Cookies → https://www.instagram.com
  3. 复制以下三个值:
Cookie 名称环境变量描述
sessionidINSTAGRAM_SESSION_ID你的会话令牌
csrftokenINSTAGRAM_CSRF_TOKENCSRF 保护令牌
ds_user_idINSTAGRAM_DS_USER_ID你的数字用户 ID

💡 提示: 你也可以运行 node get-cookies.js,按照引导完成操作。

环境变量
变量必需默认值描述
INSTAGRAM_SESSION_ID✅—你的 Instagram 会话 Cookie
INSTAGRAM_CSRF_TOKEN✅—Cookie 中的 CSRF 令牌
INSTAGRAM_DS_USER_ID✅—你的数字用户 ID
INSTAGRAM_RATE_LIMIT_MS—300分页 API 请求之间的延迟(毫秒)
客户端设置
Claude Desktop

编辑 ~/Library/Application Support/Claude/claude_desktop_config.json(macOS)或 %APPDATA%\Claude\claude_desktop_config.json(Windows):

{
  "mcpServers": {
    "instagram": {
      "command": "npx",
      "args": ["-y", "mcp-instagram-dm"],
      "env": {
        "INSTAGRAM_SESSION_ID": "your_session_id",
        "INSTAGRAM_CSRF_TOKEN": "your_csrf_token",
        "INSTAGRAM_DS_USER_ID": "your_user_id"
      }
    }
  }
}
Claude Code

添加到项目的 .mcp.json:

{
  "mcpServers": {
    "instagram": {
      "command": "npx",
      "args": ["-y", "mcp-instagram-dm"],
      "env": {
        "INSTAGRAM_SESSION_ID": "your_session_id",
        "INSTAGRAM_CSRF_TOKEN": "your_csrf_token",
        "INSTAGRAM_DS_USER_ID": "your_user_id"
      }
    }
  }
}
Cursor

添加到项目中的 .cursor/mcp.json:

{
  "mcpServers": {
    "instagram": {
      "command": "npx",
      "args": ["-y", "mcp-instagram-dm"],
      "env": {
        "INSTAGRAM_SESSION_ID": "your_session_id",
        "INSTAGRAM_CSRF_TOKEN": "your_csrf_token",
        "INSTAGRAM_DS_USER_ID": "your_user_id"
      }
    }
  }
}

💬 使用示例

只需自然地与 AI 助手对话:

你说的话执行操作
"读取我的未读 Instagram 私信"获取收件箱并显示未读标记
"给 @username 发送“Hey!”"查找对话并发送消息
"在我的私信中搜索关于“meeting”的消息"扫描对话消息以查找关键词
"与 @johndoe 开始新的对话"创建新对话并发送消息
"显示待处理的私信请求并批准它们"列出并批准待处理请求
"@user 的个人资料信息是什么?"获取完整的个人资料详情
"获取我和 @friend 的最近 200 条消息"自动分页以获取所有消息
"对最后一条消息做出 🔥 表情回应"对任意消息发送表情回应

📖 工具参考

查看全部 15 个工具及其参数
工具描述参数
instagram_get_inbox列出私信对话limit?、cursor?
instagram_get_thread获取对话消息(自动分页)thread_id、limit?、cursor?
instagram_get_pending列出待处理请求limit?、cursor?
instagram_user_info获取用户个人资料user_id
instagram_thread_info获取对话详情thread_id
instagram_send_message发送文本消息thread_id、text
instagram_send_link分享 URLthread_id、url、text?
instagram_create_thread开始新的私信对话recipient_ids[]、text
instagram_like_message用表情回应thread_id、item_id、emoji?
instagram_unsend_message撤回消息thread_id、item_id
instagram_mark_seen标记为已读thread_id、item_id
instagram_approve_pending批准请求thread_id
instagram_search_inbox搜索对话query、max_pages?
instagram_search_messages在对话中搜索thread_id、query、max_messages?
instagram_search_users查找用户query

🏗️ 架构

┌─────────────────────┐     MCP (stdio)     ┌──────────────────────┐
│   AI Assistant       │◄──────────────────►│   MCP Server          │
│   (Claude, Cursor)   │                     │   src/index.ts        │
└─────────────────────┘                     │   15 tools            │
                                             └──────────┬───────────┘
                                                        │
                                             ┌──────────▼───────────┐
                                             │   Instagram Client    │
                                             │   src/instagram.ts    │
                                             │   Cookie auth + HTTP  │
                                             └──────────┬───────────┘
                                                        │
                                             ┌──────────▼───────────┐
                                             │   Instagram Web API   │
                                             │   (Private endpoints) │
                                             └──────────────────────┘

设计原则:

  • 单一依赖 — 仅使用 @modelcontextprotocol/sdk。不依赖 axios、puppeteer,也没有冗余内容。
  • 严格 TypeScript — 不使用 any 类型,src/types.ts 中的接口均有完整类型定义
  • 自动分页 — 请求 500 条消息,剩余部分由服务端处理,并实施速率限制
  • 14+ 种消息类型 — 文本、媒体、语音、Reels、链接、短视频、GIF、帖子、快拍等

🔒 安全

  • 会话 Cookie 绝不会被记录或在运行时之外存储
  • 所有凭据仅从环境变量读取
  • 不会向任何第三方服务发送数据
  • 如需报告漏洞,请参阅 SECURITY.md

⚠️ 免责声明

本项目使用 Instagram 的非官方 Web API,该 API 可能随时变更,恕不另行通知。

  • 仅供个人使用——请勿用于垃圾信息、群发消息,或违反 Instagram 服务条款的自动化操作
  • 您的会话 Cookie 属于敏感凭据——切勿分享或提交
  • 本项目与 Meta 或 Instagram 无关联、未获认可,也不存在任何联系
  • 使用风险自负——作者不对任何账户限制负责

🤝 贡献

欢迎贡献!有关开发环境设置和指南,请参阅 CONTRIBUTING.md。

如果您愿意在经济上支持本项目,可以考虑 在 GitHub 上赞助。

📄 许可证

MIT — 由 Kynux 用 ❤️ 制作


如果本项目对您有帮助,不妨点个 ⭐

报告 Bug · 请求新功能 · 参与贡献

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。