这是一个用于发送 Instagram 直接消息的模型上下文协议(MCP)服务器。
使用此服务器,您可以从您的账户发送 Instagram 直接消息(更多功能即将推出)。
当它与 Claude 集成时,您可以执行以下操作:
https://github.com/user-attachments/assets/9c945f25-4484-4223-8d6b-5bf31243464c
要获取此项目及其他项目的更新,请在此处输入您的电子邮件:输入您的电子邮件地址
python -m pip install 安装克隆此仓库
git clone https://github.com/trypeggy/instagram_dm_mcp.git
cd instagram_dm_mcp
安装依赖项
uv sync
pip install -r requirements.txt
配置 Instagram 凭证
提供 Instagram 凭证有两种方式:
选项 A:环境变量(推荐)
快速设置(推荐):
运行辅助脚本:
python setup_env.py
这将交互式地提示您输入凭证,并安全地创建 .env 文件。
手动设置:
在项目根目录中创建 .env 文件:
cp env.example .env
然后编辑 .env 文件,填写实际的凭证:
INSTAGRAM_USERNAME=您的Instagram用户名
INSTAGRAM_PASSWORD=您的Instagram密码
选项 B:命令行参数
您仍然可以通过命令行参数传递凭证(安全性较低)。
连接到 MCP 服务器
对于 Claude 桌面版:
将其保存为 claude_desktop_config.json,位于您的 Claude 桌面版配置目录下:
~/Library/Application Support/Claude/claude_desktop_config.json
对于 Cursor:
将其保存为 mcp.json,位于您的 Cursor 配置目录下:
~/.cursor/mcp.json
使用环境变量配置(推荐):
{
"mcpServers": {
"instagram_dms": {
"command": "uv",
"args": [
"run",
"--directory",
"PATH/TO/instagram_dm_mcp",
"python",
"src/mcp_server.py"
]
}
}
}
{
"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密码}}"
]
}
}
}
重启 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 许可证。