instagram-mcp について
Instagram の Business・Creator アカウント運用者向け MCP サーバーです。公式 Instagram Graph API で複数アカウントの閲覧、投稿、交流、分析を行えます。DM ツールには Meta のアプリ審査が必要です。
主な機能
- 01複数アカウントの管理
- 02プロフィール、メディア、オーディエンスデータの取得
- 03画像、動画、リール、カルーセル、ストーリーズの投稿
- 04コメント管理とハッシュタグ・メンション検索
- 05審査後に利用可能な DM ツール
活用シーン
- 01アカウントや投稿の実績を確認
- 02複数ブランドのアカウントに投稿
- 03コメントへの返信、非表示、削除
- 04ハッシュタグ投稿や公開プロアカウントを検索
MCP 対応
公式 Instagram Graph API を通じて、アカウント、メディア、投稿、インサイト、コメント、検索のツールを MCP クライアントに公開します。DM ツールの有効化には Meta の承認権限が必要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
uvx adelaidasofia-instagram-mcpINSTAGRAM_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 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
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 をご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。