English | 한국어
meta-mcp

Instagram Graph API(v26.0)、Threads API、およびMeta プラットフォーム管理に対応した、幅広い機能を備える MCP サーバーです。
使用する場面
AI アシスタントには、次のように指示できます。
- 「Instagram に写真を投稿して」 — 写真、動画、リール、ストーリーズ、カルーセルを公開します
- 「Threads にテキスト投稿を公開して」 — アンケート、GIF、リンク添付、トピックタグ付きのテキスト投稿を作成します
- 「Instagram のフォロワー数とインサイトを取得して」 — アカウントおよび投稿レベルの分析情報を取得します
- 「カルーセル投稿を予約して」 — Instagram(2~10枚)または Threads(2~20枚)の複数画像アルバムを作成します
- 「最新の投稿へのコメントに返信して」 — 両プラットフォームのコメントを読み取り、返信します
- 「Instagram と Threads に同時投稿して」 — 組み込みの
content_publish プロンプトを使用します
- 「Threads アカウントの分析情報を取得して」 — 閲覧数、いいね、返信、リポスト、引用、クリック数を取得します
- 「Instagram のDMを管理して」 — 会話の一覧表示、メッセージの読み取り、返信の送信を行います
AI エージェントとの連携:機械可読な概要については llms.txt を参照してください。または、templates/CLAUDE.md/templates/AGENTS.md をプロジェクトにコピーすると、MCP を自動検出できます。
機能
- Instagram(33)、Threads(27)、Meta プラットフォーム(6)にわたる66 個のツール
- Instagram:代替テキスト付きの写真/動画/リール/ストーリーズ/カルーセルの公開、コメント管理、インサイトの表示、ハッシュタグ検索、DM対応、コラボレーション招待の管理
- Threads:アンケート、GIF、トピックタグ、リンク添付、代替テキスト、ネタバレ表示、ゴースト投稿、返信承認、位置情報タグ、Instagram ストーリーズへのクロスシェアに対応したテキスト/画像/動画/カルーセルの公開。返信と保留中の返信承認の管理、投稿と場所の検索、プロフィール/メンションの探索、oEmbed、インサイトの表示、投稿の削除
- Meta:トークンの交換/更新/デバッグ、Webhook 管理
- 2 個のリソース:Instagram プロフィール、Threads プロフィール
- 2 個のプロンプト:プラットフォーム横断のコンテンツ公開、分析レポート
x-app-usage ヘッダーによるレート制限の追跡
v2.2.1 の新機能
- 写真、画像ストーリーズ、すべてのカルーセルの子コンテナーと親コンテナーは、公開前にコンテナーの処理完了を待つようになりました。処理エラーが発生すると、公開リクエストは中止されます。
- メンションされたコメントでは、ドキュメントに記載された既定のフィールドを使用する Instagram ユーザーフィールドの拡張が使われるようになりました。
v2.2.0 の新機能
- Instagram のビジネス検索とコラボレーション招待リクエストを修正しました。招待には
media_id と accept を使用します。invite_id と action も引き続き別名としてサポートされます。
- アカウントインサイトで
metric_type、breakdown、人口統計の timeframe がサポートされました。views などの指標では、total_value が自動的に選択されます。
- 単独動画は、フィードにシェアされるリールとして公開されるようになりました。写真、リール、カルーセルの公開では、AI 情報とタイアップ投稿ラベルがサポートされます。リールでは
trial_params にも対応しました。
- 公開 Threads oEmbed はトークンなしで動作します。v2.1.1 以降に追加されたトークン更新、Instagram Messaging、公開、返信処理の修正も含まれています。
v2.1.0 の新機能
- Graph API v26.0:v25.0 からアップグレードしました(v26.0 の変更履歴で非推奨となったフィールドやエンドポイントは使用されていません)
- Tenor の削除:GIF プロバイダーは GIPHY のみになりました(Tenor は 2026 年 3 月 31 日にサービスを終了しました)。
gif_provider パラメーターは廃止されました
- Threads のゴースト投稿:
threads_publish_text に is_ghost_post を追加しました(24 時間後に自動アーカイブされます)
- Threads の返信承認:公開ツールに
enable_reply_approvals を追加し、threads_get_pending_replies と threads_manage_pending_reply も追加しました
- Threads から Instagram ストーリーズへのクロスシェア:すべての公開ツールに
crossreshare_to_ig / crossreshare_to_ig_dark_mode を追加しました
- Threads の位置情報タグ付け:公開ツールに
location_id を追加し、threads_search_locations と threads_get_location も追加しました
- Threads のプロフィール検索:公開プロフィール向けに
threads_lookup_profile と threads_get_profile_posts を追加しました
- Threads のメンション:
threads_get_mentions を追加しました
- Threads の oEmbed:公開投稿の埋め込み用に
threads_get_oembed を追加しました
- Threads の会話:返信スレッドをフラット化(ネスト解除)する
threads_get_conversation を追加しました
threads_search_posts を修正:正しい search_mode / search_type パラメーターを使用して、正しい /keyword_search エンドポイントを呼び出すようになりました(以前のバージョンでは存在しないエンドポイントが指定されていました)
- 投稿/返信のフィールドに
is_verified、profile_picture_url、location_id、root_post、replied_to、reply_audience を追加しました
v2.0.0 の新機能
- Graph API v25.0:有効期限が切れた v21.0(2025 年 9 月)から、現行の v25.0 にアップグレードしました
- 非推奨メトリクスを修正:
impressions、video_views、engagement を views、reach、saved、shares に置き換えました
- Threads の投票:インタラクティブな投票を添付した投稿を作成できます
- Threads の GIF:GIPHY または Tenor の GIF を添付できます
- Threads のトピックタグ:トピックタグで投稿を分類できます
- Threads のリンク添付:テキスト投稿に URL プレビューカードを添付できます
- Threads の投稿検索:キーワードまたはトピックタグで公開投稿を検索できます
- Threads の投稿削除:投稿を削除できます(1 日あたり 100 件のレート制限があります)
- Threads の公開上限:残りの上限を確認できます
- Threads の引用投稿:ID を指定して他の投稿を引用できます
- Threads のネタバレフラグ:コンテンツをネタバレとしてマークできます
- Threads の代替テキスト:すべてのメディアタイプにアクセシビリティ向けの説明を追加できます
- Threads の新しい返信制御:
parent_post_author_only と followers_only のオプションを追加しました
- Instagram の代替テキスト:写真、リール、カルーセルアイテムに対応しました
- Instagram のコラボレーション招待:コラボレーション招待を取得して返信できます
- インサイトメトリクスを更新:新しい
clicks、reposts、reels_skip_rate メトリクスを追加しました
アカウント要件
| プラットフォーム | アカウントの種類 | 備考 |
|---|
| Instagram | ビジネスまたはクリエイターアカウント | 個人アカウントでは Graph API を使用できません。Instagram の設定から無料で切り替えられます |
| Threads | すべてのアカウント | すべての Threads アカウントで API を使用できます(2025 年 9 月以降、Instagram アカウントとのリンクは不要です) |
| Meta(トークン/Webhook ツール) | Meta Developer App | developers.facebook.com で作成してください |
インストール
MCP ホストの npx 環境を含め、Node.js 20 以降が必要です。
npx(推奨)
{
"mcpServers": {
"meta": {
"command": "npx",
"args": ["-y", "@mikusnuz/meta-mcp"],
"env": {
"INSTAGRAM_ACCESS_TOKEN": "your_ig_token",
"INSTAGRAM_USER_ID": "your_ig_user_id",
"INSTAGRAM_MESSAGING_ACCESS_TOKEN": "your_page_access_token",
"INSTAGRAM_PAGE_ID": "your_linked_page_id",
"THREADS_ACCESS_TOKEN": "your_threads_token",
"THREADS_USER_ID": "your_threads_user_id"
}
}
}
}
手動
git clone https://github.com/mikusnuz/meta-mcp.git
cd meta-mcp
npm install
npm run build
{
"mcpServers": {
"meta": {
"command": "node",
"args": ["/path/to/meta-mcp/dist/index.js"],
"env": {
"INSTAGRAM_ACCESS_TOKEN": "your_ig_token",
"INSTAGRAM_USER_ID": "your_ig_user_id",
"INSTAGRAM_MESSAGING_ACCESS_TOKEN": "your_page_access_token",
"INSTAGRAM_PAGE_ID": "your_linked_page_id",
"THREADS_ACCESS_TOKEN": "your_threads_token",
"THREADS_USER_ID": "your_threads_user_id"
}
}
}
}
環境変数
| 変数 | 必須 | 説明 |
|---|
INSTAGRAM_ACCESS_TOKEN | Instagram の場合 | Instagram Graph API アクセストークン |
INSTAGRAM_USER_ID | Instagram の場合 | Instagram ビジネス/クリエイターアカウント ID |
INSTAGRAM_MESSAGING_ACCESS_TOKEN | Instagram DM の場合 | Facebook ログインを使用した Instagram Messaging 用のページアクセストークン |
INSTAGRAM_PAGE_ID | Instagram DM の場合 | Instagram プロフェッショナルアカウントにリンクされた Facebook ページ ID |
THREADS_ACCESS_TOKEN | Threads の場合 | Threads API アクセストークン |
THREADS_USER_ID | Threads の場合 | Threads ユーザー ID |
META_APP_ID | トークン/Webhook ツールの場合 | Meta アプリ ID |
META_APP_SECRET | トークン/Webhook ツールの場合 | Meta アプリシークレット |
使用するプラットフォームの変数のみを設定する必要があります。たとえば、Threads のみを使用する場合は、THREADS_ACCESS_TOKEN と THREADS_USER_ID だけを設定します。
ツール
Meta プラットフォーム (6)
| ツール | 説明 |
|---|
meta_exchange_token | 短期トークンを長期トークン(約60日間)に交換します |
meta_refresh_token | Instagram/Facebook のトークンを延長するか、Threads トークンを更新します(platform がフローを選択します) |
meta_debug_token | トークンの有効性、有効期限、スコープを検査します |
meta_get_app_info | Meta アプリの情報を取得します |
meta_subscribe_webhook | Webhook 通知を購読します |
meta_get_webhook_subscriptions | 現在の Webhook 購読を一覧表示します |
Instagram — 投稿 (6)
| ツール | 説明 |
|---|
ig_publish_photo | 写真投稿を公開します(alt_text に対応) |
ig_publish_video | 動画投稿を公開します |
ig_publish_carousel | カルーセル/アルバムを公開します(2~10項目、項目ごとの alt_text に対応) |
ig_publish_reel | リールを公開します(alt_text に対応) |
ig_publish_story | ストーリーを公開します(24時間) |
ig_get_container_status | メディアコンテナの処理ステータスを確認します |
Instagram — メディア (5)
| ツール | 説明 |
|---|
ig_get_media_list | 公開済みメディアを一覧表示します |
ig_get_media | メディアの詳細を取得します |
ig_delete_media | メディア投稿を削除します |
ig_get_media_insights | メディアの分析情報(表示回数、リーチ、保存数、シェア数)を取得します |
ig_toggle_comments | 投稿のコメントを有効/無効にします |
Instagram — コメント (7)
| ツール | 説明 |
|---|
ig_get_comments | 投稿のコメントを取得します |
ig_get_comment | コメントの詳細を取得します |
ig_post_comment | コメントを投稿します |
ig_get_replies | コメントへの返信を取得します |
ig_reply_to_comment | コメントに返信します |
ig_hide_comment | コメントを非表示/表示にします |
ig_delete_comment | コメントを削除します |
Instagram — プロフィールと分析 (5)
| ツール | 説明 |
|---|
ig_get_profile | アカウントのプロフィール情報を取得します |
ig_get_account_insights | アカウントレベルの分析情報(表示回数、リーチ、フォロワー数)を取得します |
ig_business_discovery | 別のビジネスアカウントを検索します |
ig_get_collaboration_invites | 保留中のコラボレーション招待を取得します |
ig_respond_collaboration_invite | コラボレーション招待を承認または辞退します |
Instagram — ハッシュタグ (4)
| ツール | 説明 |
|---|
ig_search_hashtag | 名前でハッシュタグを検索します |
ig_get_hashtag | ハッシュタグの情報を取得します |
ig_get_hashtag_recent | ハッシュタグの最近のメディアを取得します |
ig_get_hashtag_top | ハッシュタグのトップメディアを取得します |
Instagram — メンションとタグ (2)
| ツール | 説明 |
|---|
ig_get_mentioned_comments | あなたをメンションしたコメントを取得します |
ig_get_tagged_media | あなたがタグ付けされたメディアを取得します |
Instagram — メッセージング (4)
| ツール | 説明 |
|---|
ig_get_conversations | DM の会話を一覧表示します |
ig_get_messages | 会話内のメッセージを取得します |
ig_send_message | DM を送信します |
ig_get_message | メッセージの詳細を取得します |
Threads — 公開 (7)
| ツール | 説明 |
|---|
threads_publish_text | テキスト投稿を公開します (投票、GIF、リンク添付、トピックタグ、引用投稿、スポイラーフラグ、ゴースト投稿、返信承認、位置タグ、IG ストーリーズへのクロスシェア) |
threads_publish_image | 画像投稿を公開します (alt_text、トピックタグ、スポイラーフラグ、返信承認、位置タグ、IG ストーリーズへのクロスシェア) |
threads_publish_video | 動画投稿を公開します (alt_text、トピックタグ、スポイラーフラグ、返信承認、位置タグ、IG ストーリーズへのクロスシェア) |
threads_publish_carousel | カルーセルを公開します (2〜20 件のアイテム、アイテムごとの alt_text、返信承認、位置タグ、IG ストーリーズへのクロスシェア) |
threads_delete_post | 投稿を削除します (1 日最大 100 件) |
threads_get_container_status | コンテナの処理ステータスを確認します |
threads_get_publishing_limit | 残りの公開クォータを確認します (1 日 250 投稿) |
Threads — メディアと検索 (4)
| ツール | 説明 |
|---|
threads_get_posts | 公開済みの投稿を一覧表示します (topic_tag、poll、GIF、location、verification フィールドを含む) |
threads_get_post | 投稿の詳細を取得します |
threads_get_profile_posts | ユーザー名で公開プロフィールの投稿を一覧表示します (プロフィール検出) |
threads_search_posts | キーワードまたはトピックタグで /keyword_search 経由で公開投稿を検索します。メディアタイプと投稿者で絞り込めます |
Threads — 返信 (7)
| ツール | 説明 |
|---|
threads_get_replies | 投稿へのトップレベルの返信を取得します |
threads_get_conversation | 投稿へのすべての返信 (ネストされたものを含めフラット化) を取得します |
threads_reply | 投稿に返信します (画像/動画の添付に対応) |
threads_hide_reply | 返信を非表示にします |
threads_unhide_reply | 返信の非表示を解除します |
threads_get_pending_replies | 返信承認が有効な投稿で、承認待ちの返信を取得します |
threads_manage_pending_reply | 承認待ちの返信を承認または無視します |
Threads — プロフィールと検出 (3)
| ツール | 説明 |
|---|
threads_get_profile | Threads プロフィール情報を取得します (is_verified を含む) |
threads_get_user_threads | ユーザーのスレッドを一覧表示します |
threads_lookup_profile | ユーザー名で公開プロフィールを検索します (プロフィール検出) |
Threads — メンション (1)
| ツール | 説明 |
|---|
threads_get_mentions | ユーザーが @メンションされた投稿を取得します |
Threads — 位置情報 (2)
| ツール | 説明 |
|---|
threads_search_locations | タグ付けする位置情報を、クエリまたは座標で検索します |
threads_get_location | ID で位置情報オブジェクトを取得します |
Threads — ツールとリソース (1)
| ツール | 説明 |
|---|
threads_get_oembed | 公開投稿の埋め込み HTML/メタデータを取得します |
Threads — インサイト (2)
| ツール | 説明 |
|---|
threads_get_post_insights | 投稿の分析情報を取得します (表示回数、いいね、返信、リポスト、引用、クリック) |
threads_get_user_insights | アカウントレベルの分析情報を取得します (Instagram アカウントを連携していない Threads プロフィールでも利用できます) |
リソース
| リソース URI | 説明 |
|---|
instagram://profile | Instagram アカウントのプロフィールデータ |
threads://profile | Threads アカウントのプロフィールデータ (is_verified を含む) |
プロンプト
| プロンプト | 説明 |
|---|
content_publish | コンテンツを Instagram と Threads にクロス投稿します |
analytics_report | 統合された分析レポートを生成します |
セットアップガイド
ステップ 1: Meta Developer App を作成する
すべてのプラットフォーム (Instagram、Threads) には Meta Developer App が必要です。
- developers.facebook.com にアクセスしてログインします
- "My Apps" → "Create App" をクリックします
- "Other" → "Business" (個人利用の場合は "None") を選択します
- アプリ名を入力して作成します
あなたの META_APP_ID と META_APP_SECRET は App Settings → Basic にあります。
ステップ 2: Instagram のセットアップ
Instagram ビジネスアカウントまたはクリエイターアカウントが必要です。Instagram アプリ → 設定 → アカウントの種類 から無料で切り替えられます。
- Meta アプリで 「製品を追加」 に進み、「Instagram Graph API」 を追加します
- 「Instagram Graph API」→「設定」 に進み、Facebook ページ経由で Instagram ビジネスアカウントを接続します
- Graph API Explorer を開きます
- アプリを選択します
- 権限を追加します:
instagram_basic、instagram_content_publish、instagram_manage_comments、instagram_manage_insights、instagram_manage_contents、instagram_manage_messages、pages_show_list、pages_read_engagement、pages_manage_metadata
- 「アクセストークンを生成」 をクリックして認可します
- 生成されたトークンは短期間(約 1 時間)のみ有効です。長期トークン(約 60 日)と交換してください:
GET https://graph.facebook.com/v26.0/oauth/access_token
?grant_type=fb_exchange_token
&client_id=YOUR_APP_ID
&client_secret=YOUR_APP_SECRET
&fb_exchange_token=SHORT_LIVED_TOKEN
または、セットアップ後に meta_exchange_token ツールを使用します。
- Instagram ユーザー ID を取得します — トークンを使って次を呼び出します:
GET https://graph.facebook.com/v26.0/me/accounts?fields=id,name,access_token&access_token=YOUR_TOKEN
これにより Facebook ページが返されます。各ページについて、リンクされた Instagram アカウントを取得します:
GET https://graph.facebook.com/v26.0/{page-id}?fields=instagram_business_account&access_token=YOUR_TOKEN
instagram_business_account.id が INSTAGRAM_USER_ID です(17841400123456789 のような数値 ID)。
DM ツールでは、対応するページの id が INSTAGRAM_PAGE_ID で、その
access_token が INSTAGRAM_MESSAGING_ACCESS_TOKEN です。代わりに IG ユーザー
ID やユーザートークンを使用しないでください。
ステップ 3: Threads のセットアップ
任意の Threads アカウント(個人またはビジネス)で動作します。2025 年 9 月以降、Instagram アカウントのリンクは不要になりました。
- Meta アプリで 「製品を追加」 に進み、「Threads API」 を追加します
- 「Threads API」→「設定」 に進みます:
- 「役割」で Threads アカウントを Threads テスターとして追加します
- Threads アプリで招待を承認します: 設定 → アカウント → ウェブサイトの権限 → 招待
- 認可 URL を生成します:
https://threads.net/oauth/authorize
?client_id=YOUR_APP_ID
&redirect_uri=YOUR_REDIRECT_URI
&scope=threads_basic,threads_content_publish,threads_manage_insights,threads_manage_replies,threads_read_replies,threads_keyword_search,threads_manage_mentions,threads_delete,threads_location_tagging,threads_profile_discovery
&response_type=code
- ローカルテストでは、リダイレクト URI として
https://localhost/ を使用します(アプリ設定 → Threads API → リダイレクト URI で設定)
- 認可後、コードをアクセストークンと交換します:
POST https://graph.threads.net/oauth/access_token
Content-Type: application/x-www-form-urlencoded
client_id=YOUR_APP_ID
&client_secret=YOUR_APP_SECRET
&grant_type=authorization_code
&redirect_uri=YOUR_REDIRECT_URI
&code=AUTHORIZATION_CODE
- 長期トークン(約 60 日)と交換します:
GET https://graph.threads.net/access_token
?grant_type=th_exchange_token
&client_secret=YOUR_APP_SECRET
&access_token=SHORT_LIVED_TOKEN
- Threads ユーザー ID を取得します — トークンを使って次を呼び出します:
GET https://graph.threads.net/v1.0/me?fields=id,username&access_token=YOUR_TOKEN
id フィールドが THREADS_USER_ID です(1234567890 のような数値 ID)。
ステップ 4: 環境変数の設定
使用するプラットフォームの変数のみを設定します:
# Instagram (requires Business/Creator account)
INSTAGRAM_ACCESS_TOKEN=EAAxxxxxxx... # Long-lived token from Step 2
INSTAGRAM_USER_ID=17841400123456789 # Numeric ID from Step 2.5
INSTAGRAM_MESSAGING_ACCESS_TOKEN=EAA... # Page token from Step 2.5 (DM tools only)
INSTAGRAM_PAGE_ID=123456789012345 # Linked Facebook Page ID (DM tools only)
# Threads (any account)
THREADS_ACCESS_TOKEN=THQWxxxxxxx... # Long-lived token from Step 3
THREADS_USER_ID=1234567890 # Numeric ID from Step 3.6
# Meta App (for token management & webhooks)
META_APP_ID=123456789012345 # From App Settings → Basic
META_APP_SECRET=abcdef0123456789abcdef # From App Settings → Basic
トークンの更新
アクセストークンは約 60 日で有効期限が切れます。有効期限が切れる前に更新してください:
トークンの状態は meta_debug_token でいつでも確認できます。
非推奨のメトリクス(v22.0 以降)
以下の Instagram メトリクスは Graph API v22.0(2025 年 1 月)で非推奨となり、2025 年 4 月 21 日にすべてのバージョンで削除されました:
| 非推奨のメトリクス | 代替 |
|---|
impressions | views |
video_views | views |
plays | views |
clips_replays_count | views |
engagement | saves + shares + likes + comments |
email_contacts | 削除(代替なし) |
phone_call_clicks | 削除(代替なし) |
text_message_clicks | 削除(代替なし) |
get_directions_clicks | 削除(代替なし) |
website_clicks | 削除(代替なし) |
profile_views | 削除(代替なし) |
ライセンス
MIT