Instagram Mcp Server について
Instagram MCP ServerはInstagram Login APIを通じて、ClaudeとInstagram Business/Creatorアカウントを接続します。投稿、アカウント分析、コメント管理、メッセージ機能をまとめて提供します。
主な機能
- 01写真、リール、カルーセルの投稿
- 02アカウントと投稿のインサイト確認
- 03コメントの閲覧、返信、非表示、削除
- 04ダイレクトメッセージの閲覧と返信
- 05プロフィールと投稿の管理
- 06ハッシュタグ検索とイベント管理
活用シーン
- 01投稿ごとのリーチと反応を比較
- 02説明文付きの商品写真を投稿
- 03顧客からのDMを確認して返信
- 04最近の投稿へのコメントを管理
MCP 対応
Claude WebやClaude DesktopなどのMCPクライアントに、アカウント、投稿、インサイト、コメント、メッセージなどのツールを提供します。Instagram Login APIを介してInstagramに接続します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://your-app.onrender.com/mcpclaude mcp add --transport http instagram-mcp-drashrafsaiyed-cyber https://your-app.onrender.com/mcp{"mcpServers":{"instagram-mcp-drashrafsaiyed-cyber":{"type":"http","url":"https://your-app.onrender.com/mcp"}}}Cursor で開く{"servers":{"instagram-mcp-drashrafsaiyed-cyber":{"type":"http","url":"https://your-app.onrender.com/mcp"}}}VS Code で開く{"mcpServers":{"instagram-mcp-drashrafsaiyed-cyber":{"type":"http","url":"https://your-app.onrender.com/mcp"}}}{"mcpServers":{"instagram-mcp-drashrafsaiyed-cyber":{"serverUrl":"https://your-app.onrender.com/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
📸 Instagram MCP サーバー
Claude から Instagram を操作できます。投稿、分析、DM への返信、コメントの管理を、すべてチャットで行えます。
🎬 デモ GIF は近日公開予定 — Claude がリールを投稿し、インサイトを確認し、画面上でリアルタイムにコメントへ返信します。
できること
Claude に自然な英語で頼むだけで、API の処理を任せられます。
"Show my last 10 posts and which got the most reach"
"Post this image with caption: Monday motivation 💪 #AI #Health"
"Read my DMs from today and draft replies for the questions"
"Hide all spam comments on my latest reel"
"What are my account insights for this week?"
"Which of my reels got the best watch time?"
使用例
📊 コンテンツクリエイター
- 朝のレポート:「昨日の投稿のパフォーマンスを表示して。リーチ、保存数、シェア数を教えて」
- 戦略:「直近のリール 5 件をリーチで比較して、うまくいった要因を教えて」
- 投稿の準備:「このフィットネス投稿のキャプション案を 3 つ作って」
🏥 医師/専門職
- エンゲージメント:「直近の投稿に付いたコメントすべてに、丁寧に返信して」
- 成長の追跡:「今週、フォロワーは何人増えた?」
- コンテンツの監査:「今月のすべての投稿と、それぞれのエンゲージメント率を一覧にして」
🛍️ 小規模事業者
- カスタマーサービス:「過去 24 時間の DM を表示して、注文に関する質問に返信して」
- 投稿:「この商品写真を、このキャプションとハッシュタグで投稿して」
- 分析:「リール、カルーセル、写真のうち、最もリーチを獲得できる投稿タイプはどれ?」
ツール(合計 14 個)
| カテゴリー | ツール | 機能 |
|---|---|---|
| アカウント | get_account_info | フォロワー数、自己紹介、投稿数 |
update_profile | 自己紹介文やウェブサイト URL を更新 | |
list_recent_media | 直近 N 件の投稿とエンゲージメント統計 | |
get_account_insights | リーチ、プロフィールの表示回数、フォロワーの増加数 | |
| インサイト | get_media_insights | 投稿ごとのリーチ、保存数、表示回数、インタラクション |
| 投稿 | publish_photo | キャプションとハッシュタグを付けて写真を投稿 |
publish_reel | リール(動画)を投稿 | |
publish_carousel | 画像 2~10 枚をカルーセルとして投稿 | |
| コメント | get_comments | 投稿に付いたすべてのコメントを確認 |
reply_to_comment | コメントに返信 | |
hide_comment | スパムや不要なコメントを非表示にする | |
delete_comment | コメントを完全に削除 | |
| エンゲージメント | like_media | 投稿やリールに「いいね」する |
unlike_media | 投稿やリールの「いいね」を取り消す | |
like_comment | コメントに「いいね」する | |
| コンテンツ | delete_post | 投稿を完全に削除 |
| ハッシュタグ | search_hashtag | ハッシュタグで公開投稿を検索 |
| イベント | list_events | 今後のイベントを一覧表示 |
create_event | 新しいイベント(健康相談会、ワークショップなど)を作成 | |
| 広告 | get_ad_accounts | リンク済みの広告アカウントを一覧表示 |
get_ad_insights | 広告費、リーチ、CTR を取得 | |
| DM | list_conversations | アクティブな DM スレッドを一覧表示 |
get_messages | スレッド内のメッセージを確認 | |
send_dm | DM に返信(24 時間以内) | |
send_human_agent_dm | Human Agent の 7 日間のウィンドウ内で返信 |
クイックスタート
オプション A — Claude Web + モバイル(推奨)
1. サーバーをデプロイします(無料、2 分):
画面の指示に従い、META_ACCESS_TOKEN と IG_USER_ID を入力します。(取得方法はこちら ↓)
2. Claude Web に接続します:
- claude.ai → Settings → Integrations → Add Integration
https://your-app-name.onrender.com/mcpを貼り付けます
3. 完了です。 新しいチャットを開いて、次のように試してみてください:「Instagram の最近の投稿を表示して」
オプション B — Claude Desktop(ローカル)
git clone https://github.com/drashrafsaiyed-cyber/instagram-mcp
cd instagram-mcp
uv sync
cp .env.example .env
# Fill .env with your token and user ID
uv run server.py
claude_desktop_config.json に追加します:
{
"mcpServers": {
"instagram": {
"command": "uv",
"args": ["--directory", "/path/to/instagram-mcp", "run", "server.py"],
"env": {
"META_ACCESS_TOKEN": "your_token",
"IG_USER_ID": "your_ig_user_id",
"ACCOUNT_NAME": "My Instagram"
}
}
}
}
オプション C — 複数の Instagram アカウント(Claude Desktop)
同じサーバーフォルダーを異なる環境変数で複数回実行します。Claude にはそれぞれ別の名前付き MCP として表示され、混同されることはありません。
{
"mcpServers": {
"instagram-personal": {
"command": "uv",
"args": ["--directory", "/path/to/instagram-mcp", "run", "server.py"],
"env": {
"META_ACCESS_TOKEN": "TOKEN_FOR_ACCOUNT_1",
"IG_USER_ID": "IG_USER_ID_1",
"ACCOUNT_NAME": "Personal"
}
},
"instagram-business": {
"command": "uv",
"args": ["--directory", "/path/to/instagram-mcp", "run", "server.py"],
"env": {
"META_ACCESS_TOKEN": "TOKEN_FOR_ACCOUNT_2",
"IG_USER_ID": "IG_USER_ID_2",
"ACCOUNT_NAME": "My Business"
}
}
}
}
アカウントごとに別々のツールが Claude に表示されます。*"これをマイビジネスに投稿して"*と指示すると、適切なアカウントが自動的に選択されます。
各アカウントはビジネスまたはクリエイターの Instagram アカウントである必要があります。また、Meta アプリの[ユースケース]→[ステップ 2:アクセストークンを生成]→[アカウントを追加]でテスターとして追加してください。
トークンの取得
このサーバーはInstagram Login API(graph.instagram.com)を使用します。これは Instagram のビジネス/クリエイターアカウント向けの、Meta の最新の方法です。
ステップ 1 — Meta アプリを作成するか、開きます
- developers.facebook.com → [マイアプリ]に移動します
- 新しいアプリを作成するか、既存のアプリを開きます
- ユースケース「Instagramでメッセージとコンテンツを管理」を追加します
ステップ 2 — アクセストークンを生成します
- [ユースケース]→[カスタマイズ]→「Instagram Login で API を設定」を選択します
- ステップ 2:「アクセストークンを生成」で、アカウントの横にある[生成]をクリックします
- トークンをコピーします。これが
META_ACCESS_TOKENです - 数値のIG User IDは、同じページのユーザー名の下に表示されます
ステップ 3 — 有効期限が切れる前(60 日)に更新します
curl "https://graph.instagram.com/refresh_access_token?grant_type=ig_refresh_token&access_token=YOUR_TOKEN"
または、プロジェクトフォルダーで次のコマンドを実行します。
uv run python -c "
import httpx, re
from pathlib import Path
env = Path('.env').read_text()
token = re.search(r'META_ACCESS_TOKEN=(.+)', env).group(1).strip()
r = httpx.get('https://graph.instagram.com/refresh_access_token', params={'grant_type':'ig_refresh_token','access_token':token})
new = r.json()['access_token']
Path('.env').write_text(env.replace(token, new))
print('Refreshed. Expires in:', r.json()['expires_in']//86400, 'days')
"
要件
- Instagram のビジネスまたはクリエイターアカウント
- ユースケース「Instagramでメッセージとコンテンツを管理」が設定された Meta Developer アプリ
- Python 3.11 以降
**投稿に関する注意:**画像と動画は、一般公開されている HTTPS URL に配置する必要があります。Instagram はその URL から取得します。Cloudinary(無料)、S3、または一般公開されている GitHub の raw URL を使用してください。ローカルのファイルパスは使用できません。
アーキテクチャ
Claude (Web/Desktop)
│ MCP protocol
▼
instagram-mcp server (FastMCP 3.x, streamable-http or stdio)
│ HTTPS REST
▼
graph.instagram.com (Instagram Login API v21.0)
│
▼
Your Instagram account
graph.facebook.com ではなく graph.instagram.com を使う理由は?
このサーバーは、新しい Instagram Login API を使用します。この API は IGAA... トークンを発行し、graph.instagram.com 経由でリクエストを処理します。以前の Facebook Graph API 方式では、Facebook ページとのリンクと EAA... トークンが必要でした。新しい方法はよりシンプルで、必要なのは Instagram アカウントだけです。Facebook ページは必要ありません。
トラブルシューティング
| エラー | 対処方法 |
|---|---|
Cannot parse access token | トークンの有効期限が切れているか、種類が間違っています。上記の手順で再生成してください。 |
インサイトで code 100 | 指標名が無効です。指標はアカウント用とメディア用のエンドポイントで異なります。 |
code 190 | トークンの有効期限が切れています。更新コマンドを実行してください。 |
| コンテナの処理に失敗しました | 動画が長すぎる(90 秒超)、コーデックが適切でない、または最初の取得後に URL が 404 を返しています。 |
| DM リストが空です | 24 時間のメッセージングウィンドウが有効になっていません。先に誰かから DM を送ってもらう必要があります。 |
| Claude にツールが表示されない | Claude Desktop を完全に再起動してください(システムトレイのアイコン →[終了])。ログは %APPDATA%\Claude\logs\ で確認できます。 |
コントリビューション
プルリクエストを歓迎します。新しいツールを追加した場合や、指標名の不一致を修正した場合は、次の対応をお願いします。
- 実際の Instagram アカウントでテストします
- この README のツール一覧を更新します
- 新しいツールに必要な API 権限を明記します
ライセンス
MIT — 商用利用を含め、自由に使用、フォーク、デプロイできます。
FastMCP で構築 · Instagram Graph API を利用
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。