关于 Instagram Direct Messages
Instagram Direct Messages 是一个 MCP 服务,用于通过用户自己的 Instagram 账号发送私信。它面向希望在 Claude Desktop 或 Cursor 中操作 Instagram 私信的用户。
主要功能
- 01按用户名发送文字私信
- 02发送图片和视频私信
- 03列出私信会话与消息
- 04下载私信中的媒体文件
- 05搜索用户、会话与关注关系
适用场景
- 01在 AI 客户端中直接向指定用户发送私信
- 02整理并下载私信中收到的图片或视频
- 03查询用户资料、粉丝与关注列表
MCP 相关
该项目是一个 MCP 服务,通过工具向 MCP 客户端暴露 Instagram 私信、用户查询和媒体下载等操作。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Instagram DM MCP 服务
这是一个用于发送 Instagram 私信的模型上下文协议(MCP)服务。
使用它,你可以通过自己的账号发送 Instagram 私信(即将推出更多功能)。
以下是连接到 Claude 后可以执行的操作示例。
https://github.com/user-attachments/assets/9c945f25-4484-4223-8d6b-5bf31243464c
如需获取此项目及我们其他项目的更新,请在此处输入你的电子邮件
安装
前提条件
- Python 3.11+
- Anthropic Claude Desktop 桌面应用(或 Cursor)
- Pip(Python 包管理器),使用
python -m pip install安装 - Instagram 账号
步骤
-
克隆此仓库
git clone https://github.com/trypeggy/instagram_dm_mcp.git cd instagram_dm_mcp -
安装依赖项
- 使用 uv(推荐):
uv sync - 使用 Pip:
pip install -r requirements.txt
-
配置 Instagram 凭据
提供 Instagram 凭据有两种方式:
选项 A:环境变量(推荐)
快速设置(推荐):
运行辅助脚本:
python setup_env.py脚本会交互式地提示你输入凭据,并安全地创建
.env文件。手动设置:
在项目根目录下创建
.env文件:cp env.example .env然后使用你的实际凭据编辑
.env:INSTAGRAM_USERNAME=your_instagram_username INSTAGRAM_PASSWORD=your_instagram_password选项 B:命令行参数
你仍可以将凭据作为命令行参数传入(安全性较低)。
-
连接到 MCP 服务
对于 Claude Desktop:
将以下内容保存为
claude_desktop_config.json,并放在 Claude Desktop 配置目录中:~/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", "{{YOUR_INSTAGRAM_USERNAME}}", "--password", "{{YOUR_INSTAGRAM_PASSWORD}}" ] } } } -
重启 Claude Desktop / Cursor
打开 Claude Desktop,现在你应该可以看到 Instagram DM 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 | 下载私信中直接上传的照片或视频(不适用于共享帖子/短视频/片段)。 |
download_shared_post_from_message | 下载私信中共享帖子、短视频或片段里的媒体(不适用于直接上传的媒体)。 |
list_media_messages | 列出私信会话中所有包含直接上传媒体(照片/视频)的消息。 |
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 Desktop 集成问题,请参阅 MCP 文档。文档中包含检查日志和解决常见问题的实用提示。
反馈
非常欢迎您提供反馈。请告诉我们,您希望列表中的哪些功能能尽快推出,或提出全新的功能需求。
许可证
本项目采用 MIT 许可证。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。