mcpField
I
instagram-mcp

instagram-mcp

ローカル
diazroa.comソーシャルメディア121 週間前に更新

instagram-mcp について

Instagram の Business・Creator アカウント運用者向け MCP サーバーです。公式 Instagram Graph API で複数アカウントの閲覧、投稿、交流、分析を行えます。DM ツールには Meta のアプリ審査が必要です。

主な機能

  1. 01複数アカウントの管理
  2. 02プロフィール、メディア、オーディエンスデータの取得
  3. 03画像、動画、リール、カルーセル、ストーリーズの投稿
  4. 04コメント管理とハッシュタグ・メンション検索
  5. 05審査後に利用可能な DM ツール

活用シーン

  1. 01アカウントや投稿の実績を確認
  2. 02複数ブランドのアカウントに投稿
  3. 03コメントへの返信、非表示、削除
  4. 04ハッシュタグ投稿や公開プロアカウントを検索

MCP 対応

公式 Instagram Graph API を通じて、アカウント、メディア、投稿、インサイト、コメント、検索のツールを MCP クライアントに公開します。DM ツールの有効化には Meta の承認権限が必要です。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"adelaidasofia-instagram": {
"command": "uvx",
"args": [
"adelaidasofia-instagram-mcp"
],
"env": {
"INSTAGRAM_MCP_ACCESS_TOKEN": "<INSTAGRAM_MCP_ACCESS_TOKEN>",
"INSTAGRAM_MCP_IG_USER_ID": "<INSTAGRAM_MCP_IG_USER_ID>"
}
}
}
}
起動コマンドuvx adelaidasofia-instagram-mcp
設定が必要な環境変数
INSTAGRAM_MCP_ACCESS_TOKENシークレットLong-lived Graph API token (optional; or use add_account at runtime, stored in OS keychain).
INSTAGRAM_MCP_IG_USER_IDNumeric Instagram Business/Creator account id paired with the access token.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypiadelaidasofia-instagram-mcp0.1.2

ツール

29

掲載時のツール一覧 · 2 週間前に更新

このツールにパラメーターはありません。

詳細

instagram-mcp

公式 Instagram Graph API 用の MCP サーバーです。Claude(または任意の MCP クライアント)から、1 つまたは複数の Instagram Business/Creator アカウントのデータを読み取り、投稿し、コメントし、分析データを取得できます。利用規約に準拠しており、非公開 API やリバースエンジニアリングされた API は使用しません。

アカウント、メディア、投稿、インサイト、コメント、検索、(審査が必要な)ダイレクトメッセージに対応する 29 個のツールを備えています。

npx-style stdio MCP · Python · FastMCP · MIT

このサーバーを選ぶ理由

多くの「Instagram 自動化」ツールは、(a)Instagram の利用規約に違反し、アカウント停止のリスクがある非公式の非公開 API(ユーザー名とパスワード)を使用するか、(b)投稿しかできず、インサイト、コメント、メンションを読み取れません。このサーバーは公式 Graph API のみを使用して構築されており、初めから複数アカウントに対応し、読み取りと書き込みの両方を網羅しています。Meta の承認なしで利用できない機能は、DM のみです(ダイレクトメッセージを参照)。

要件

  • Instagram のプロアカウント(ビジネスまたはクリエイター)。個人アカウントでは Graph API を使用できません。切り替えは無料で、元に戻すこともできます(Instagram アプリ → 設定 → アカウントタイプ)。
  • Facebook ページに接続された Instagram アカウント。
  • instagram_basic + instagram_content_publish + instagram_manage_comments + instagram_manage_insights を含む長期有効なアクセストークンと、アカウントの数値形式のInstagram Business Account ID。SETUP.mdで、トークンと ID の取得手順を確認してください。
  • Python 3.10 以降。

インストール

PyPI から:

pip install adelaidasofia-instagram-mcp

またはソースから:

git clone https://github.com/adelaidasofia/instagram-mcp
cd instagram-mcp
python3 -m venv .venv && .venv/bin/pip install -e .

MCP クライアント(Claude Desktop/Claude Code)に登録する場合の、単一アカウント向けの設定不要な方法:

{
  "mcpServers": {
    "instagram": {
      "command": "instagram-mcp",
      "env": {
        "INSTAGRAM_MCP_ACCESS_TOKEN": "EAA...your-long-lived-token...",
        "INSTAGRAM_MCP_IG_USER_ID": "17841400000000000"
      }
    }
  }
}

instagram-mcp は、パッケージのインストール時に追加されるコンソールスクリプトです。ソースチェックアウトからは .venv/bin/instagram-mcp にあります。または、python -m instagram_mcp.server でモジュールを直接実行できます。

環境変数を設定せず、実行時に add_account を呼び出す方法もあります(トークンは OS のキーチェーンに保存されます)。複数アカウントを参照してください。

ツール

アカウントと状態確認 — healthcheck、list_accounts、add_account、set_default_account、remove_account、account_info

プロフィールとメディア — get_profile、list_media、get_media

インサイト — get_account_insights(リーチ、インプレッション、プロフィール閲覧数、フォロワー数)、get_media_insights(投稿ごとのリーチ、保存数、シェア数、インタラクション数)、get_audience_insights(フォロワーの属性:年齢、性別、国、都市)

投稿 — publish_image、publish_video、publish_reel、publish_carousel(画像 2~10 枚)、publish_story、publishing_limit(24 時間以内の残り投稿可能数)。動画/リールのコンテナは非同期で処理されます。投稿前に、サーバーが完了するまでポーリングします。

コメント — get_comments、reply_to_comment、hide_comment、delete_comment

検索 — search_hashtag、get_hashtag_media、get_mentions、business_discovery(ユーザー名を指定して、任意の公開プロアカウントを読み取り)

ダイレクトメッセージ — list_conversations、get_messages、send_message(以下を参照)

投稿には公開された HTTPS メディア URLが必要です。Instagram が自らデータを取得するため、画像/動画はインターネット上からアクセスできる必要があります(S3、Cloudflare、その他の CDN の URL を使用できます)。

複数アカウント

自分、ブランド、クライアントのアカウントをまとめて、サーバー 1 つで運用できます。アカウントごとにトークンを認証します。

add_account(label="brand-a", access_token="EAA...", ig_user_id="178414...", make_default=True)
add_account(label="brand-b", access_token="EAA...", ig_user_id="178414...")
list_media(account="brand-b")
get_account_insights(account="brand-a")

トークンはmacOS キーチェーン(その他のプラットフォームでは chmod 600 のファイル)に保存されます。メタデータファイルには保存されず、どのツールからも返されません。任意のツールで account を省略すると、デフォルトアカウントが使用されます。

ダイレクトメッセージ

DM ツールには instagram_manage_messages 権限が必要です。この権限は Meta のアプリレビューを通じてのみ付与されます(通常は数週間かかり、2025~2026 年は審査がさらに厳格です)。審査が完了するまでは、DM ツールは何もせずに終了するのではなく、その旨の指示を含むエラーを返します。アプリが承認され、トークンにこのスコープが付与されたら、INSTAGRAM_MCP_DM_ENABLED=1 を設定してください。Instagram では標準のメッセージ送信に 24 時間の制限が適用される点にご注意ください。

アプリレビューの全手順(スクリーンキャストの撮影リスト、審査担当者向けテスト手順のテンプレート、プライバシーポリシーとビジネス認証の要件、承認後の切り替え、メッセージタグに関する注意点):docs/APP_REVIEW.md。

安全性

  • 外部への通信先は Meta のホスト許可リスト(graph.facebook.com / graph.instagram.com)に限定されています。一般的な SSRF ガード(RFC1918 / ループバック / リンクローカル / CGNAT / クラウドメタデータ、DNS のフェイルクローズ)が、すべての URL 処理を保護します。
  • 認証情報が漏れることはありません。すべての結果とエラーは、モデルに渡される前にアクセストークン(Meta の EAA… / IGQV… を含む)、Bearer ヘッダー、アプリシークレット、API キーを削除するスクラバーを通過します。
  • 可観測性:各呼び出しは、4 フィールドの JSONL 監査ログ(execution_time_ms、io、token_usage、error_class)を ~/.claude/instagram-mcp/audit.log.jsonl に追記します。
  • 入力検証は、各 Graph 呼び出しの前に実行されます(ID、キャプションの長さ、ハッシュタグ/ユーザー名の文字種、https メディア URL)。

ライセンス

MIT — LICENSE をご覧ください。

Adelaida Diaz-Roa が開発しました。インストール版またはチーム版については、diazroa.com をご覧ください。

コメント

MCP は初めてですか?

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

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