关于 Instagram DM Server for AI Assistants
Instagram DM Server for AI Assistants 通过自然语言管理 Instagram 私信,适合使用 MCP 兼容 AI 助手处理收件箱的用户。它提供读取、发送、搜索和会话管理功能,并使用 Cookie 认证。
主要功能
- 01查看收件箱与私信会话
- 02发送文本和链接
- 03搜索会话、消息与用户
- 04管理请求、已读状态和反应
- 05自动分页获取消息
适用场景
- 01查看未读私信和待处理请求
- 02搜索对话中的关键词
- 03向用户发送消息或链接
MCP 相关
作为 MCP 服务,它通过 15 个工具向兼容客户端开放 Instagram 私信读取、发送、搜索及管理功能。认证凭据通过环境变量提供。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
📨 MCP Instagram DM
使用 AI 控制 Instagram 私信
通过自然语言,使用任何兼容 MCP 的 AI 助手读取、发送、搜索和管理 Instagram Direct Messages。
一个 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
- 在 Chrome 中打开 instagram.com 并登录
- 按
F12→ Application 标签页 → Cookies →https://www.instagram.com - 复制以下三个值:
| Cookie 名称 | 环境变量 | 描述 |
|---|---|---|
sessionid | INSTAGRAM_SESSION_ID | 你的会话令牌 |
csrftoken | INSTAGRAM_CSRF_TOKEN | CSRF 保护令牌 |
ds_user_id | INSTAGRAM_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 | 分享 URL | thread_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 上赞助。
📄 许可证
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。