mcpField
I

Instagram DM Server for AI Assistants

ローカル
github.com/KynuxDevコミュニケーション430 週間前に更新

Instagram DM Server for AI Assistants について

Instagram DM Server for AI Assistantsは、MCP対応AIアシスタントから自然言語でInstagramのDMを管理できます。Cookie認証を使い、受信箱の閲覧、送信、検索、スレッド管理に対応します。

主な機能

  1. 01受信箱とメッセージスレッドの表示
  2. 02テキストとリンクの送信
  3. 03スレッド、メッセージ、ユーザーの検索
  4. 04リクエスト、既読状態、リアクションの管理
  5. 05メッセージ取得の自動ページング

活用シーン

  1. 01未読DMと保留中のリクエストの確認
  2. 02会話内のキーワード検索
  3. 03ユーザーへのメッセージやリンクの送信

MCP 対応

MCP サーバーとして、互換クライアントに15個のツールを通じてInstagram DMの閲覧、送信、検索、管理機能を公開します。認証情報は環境変数で渡します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの 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 の DM を操作

MCP 対応の AI アシスタントを使って、自然言語で Instagram ダイレクトメッセージを読んだり、送信、検索、管理したりできます。

npm version npm downloads GitHub stars

CI License: MIT Node.js TypeScript MCP


Model Context Protocol サーバーです。Instagram ダイレクトメッセージと、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 の DM を読んで」

これで準備完了です。🎉

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!"

✨ 機能

3 つのカテゴリにわたる15 個のツールで、Instagram の DM を管理するために必要なすべての機能を利用できます。

📥 読み取りとモニタリング
ツール説明
instagram_get_inbox最近の DM の会話を、未読/グループ/ミュートの表示とともに一覧表示
instagram_get_thread会話のメッセージを取得(自動ページネーションに対応し、一度に 500 件以上のメッセージを取得可能)
instagram_get_pending承認待ちの DM リクエストを一覧表示
instagram_user_info任意のユーザーのプロフィールを取得:自己紹介、フォロワー数、投稿、認証状況
instagram_thread_infoスレッドのメタデータ:参加者、グループ情報、ミュート/アーカイブの状態
✏️ 送信と管理
ツール説明
instagram_send_message任意のスレッドでテキストメッセージを送信
instagram_send_link任意のキャプションを添えて URL を共有
instagram_create_thread1 人または複数のユーザーとの新しい DM を開始
instagram_like_message任意のメッセージに好きな絵文字でリアクション
instagram_unsend_message自分が送信したメッセージを取り消す
instagram_mark_seen会話を既読にする
instagram_approve_pending保留中の DM リクエストを承認
🔍 検索と発見
ツール説明
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. 次の 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 DM を読んで」未読インジケーター付きで受信トレイを取得します
「@username に『Hey!』を送って」スレッドを見つけてメッセージを送信します
「『meeting』に関するメッセージを DM から検索して」スレッド内のメッセージをキーワードで検索します
「@johndoe との新しい会話を始めて」新しいスレッドを作成してメッセージを送信します
「保留中の DM リクエストを表示して承認して」保留中のリクエストを一覧表示して承認します
「@user のプロフィール情報は?」プロフィールの詳細を取得します
「@friend との直近 200 件のメッセージを取得して」ページネーションを自動で行い、すべてのメッセージを取得します
「最後のメッセージに 🔥 でリアクションして」任意のメッセージに絵文字でリアクションします

📖 ツールリファレンス

パラメーター付きの全 15 ツールを表示
ツール説明パラメーター
instagram_get_inboxDM の会話を一覧表示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_linkURL を共有thread_id, url, text?
instagram_create_thread新しい DM を開始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) │
                                             └──────────────────────┘

設計原則:

  • 依存関係は 1 つのみ — @modelcontextprotocol/sdk のみを使用します。axios も puppeteer もなく、余計なものはありません。
  • TypeScript の厳格モード — any 型はゼロで、src/types.ts のインターフェースは完全に型付けされています
  • ページネーションの自動処理 — 500 件のメッセージをリクエストすると、サーバーがレート制限を適用しながら残りを処理します
  • 14 種類以上のメッセージタイプ — テキスト、メディア、音声、リール、リンク、クリップ、GIF、投稿、ストーリーなど

🔒 セキュリティ

  • セッション Cookie がランタイム終了後にログへ記録されたり、保存されたりすることはありません
  • すべての認証情報は環境変数からのみ読み込まれます
  • データがサードパーティのサービスに送信されることはありません
  • 脆弱性の報告については、SECURITY.md をご覧ください

⚠️ 免責事項

このプロジェクトでは Instagram の非公式ウェブ API を使用しているため、予告なく変更される場合があります。

  • 個人利用のみ — スパム、大量メッセージ送信、または Instagram の利用規約に違反する自動化には使用しないでください
  • セッション Cookie は機密性の高い認証情報です — 決して共有したり、コミットしたりしないでください
  • このプロジェクトは Meta または Instagram とは提携、承認、関係していません
  • ご自身の責任でご利用ください — アカウント制限について、作者は一切責任を負いません

🤝 コントリビューション

コントリビューションを歓迎します!開発環境のセットアップとガイドラインについては、CONTRIBUTING.md をご覧ください。

プロジェクトを金銭的に支援したい場合は、GitHub でスポンサーになることをご検討ください。

📄 ライセンス

MIT — Kynux が ❤️ を込めて作成


このプロジェクトがお役に立った場合は、⭐ を付けていただけると幸いです

バグを報告 · 機能をリクエスト · コントリビューション

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。