mcpField
I
Instagram Direct Messages

Instagram Direct Messages

ローカル
github.com/trypeggyソーシャルメディア18763 週間前に更新

Instagram Direct Messages について

Instagram Direct Messages は、利用者自身のアカウントから Instagram のダイレクトメッセージを送信する MCP サーバーです。Claude Desktop や Cursor から Instagram の DM を操作したい利用者を想定しています。

主な機能

  1. 01ユーザー名を指定したテキスト DM の送信
  2. 02写真・動画の DM 送信
  3. 03DM スレッドとメッセージの一覧表示
  4. 04DM 内メディアのダウンロード
  5. 05ユーザー・スレッド・フォロー関係の検索

活用シーン

  1. 01AI クライアントから特定のユーザーへ DM を送信する
  2. 02DM で受け取った写真や動画を取得する
  3. 03ユーザーのプロフィール、フォロワー、フォロー一覧を確認する

MCP 対応

本プロジェクトは MCP サーバーであり、Instagram DM、ユーザー検索、メディア取得の操作をツールとして MCP クライアントに公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Instagram DM MCP サーバー

これは、Instagram のダイレクトメッセージを送信するための Model Context Protocol(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 アカウント
手順
  1. このリポジトリをクローンする

    git clone https://github.com/trypeggy/instagram_dm_mcp.git
    cd instagram_dm_mcp
    
  2. 依存関係をインストールする

  • uv を使用する(推奨):
    uv sync
    
  • Pip を使用する:
    pip install -r requirements.txt
    
  1. Instagram の認証情報を設定する

    Instagram の認証情報を指定する方法は 2 つあります。

    オプション A:環境変数(推奨)

    クイックセットアップ(推奨):

    ヘルパースクリプトを実行します。

    python setup_env.py
    

    認証情報を対話形式で入力するよう求められ、安全に .env ファイルが作成されます。

    手動セットアップ:

    プロジェクトのルートに .env ファイルを作成します。

    cp env.example .env
    

    次に、.env を実際の認証情報に置き換えて編集します。

    INSTAGRAM_USERNAME=your_instagram_username
    INSTAGRAM_PASSWORD=your_instagram_password
    

    オプション B:コマンドライン引数

    コマンドライン引数として認証情報を渡すこともできます(安全性は低くなります)。

  2. 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}}"
          ]
        }
      }
    }
    
  3. 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_messageDM メッセージに直接アップロードされた写真または動画をダウンロードします(共有投稿/リール/クリップには使用しません)。
download_shared_post_from_messageDM メッセージで共有された投稿、リール、またはクリップからメディアをダウンロードします(直接アップロードされたメディアには使用しません)。
list_media_messagesDM スレッド内で、直接アップロードされたメディア(写真/動画)を含むすべてのメッセージを一覧表示します。
mark_message_seenInstagram ダイレクトメッセージのスレッド内の特定のメッセージを既読にします。
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ライセンスの下でライセンスされています。

ライセンス Python

コメント

MCP は初めてですか?

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

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