Instagram Public MCP
Instagram Public MCP for Vercel
Pythonで実装されたリモートMCPサーバーです。Instagramのログイン、クッキー、パスワード、保存されたアカウントセッションを一切使用せず、公開のInstagramデータのみを取得します。
重要: mobile-feed Instaloaderパッチ
このビルドでは、標準のInstaloader 4.15.3パッケージを使用していません。
Instaloaderのプルリクエスト#2722にある匿名プロフィール/投稿修正を、次の場所に固定しています:
3f72b47466cc505b92c6e9b0ca2f5689e93a6a89依存関係:
instaloader @ https://github.com/alimony/instaloader/archive/3f72b47466cc505b92c6e9b0ca2f5689e93a6a89.zipこのパッチにより、匿名時の動作は次のように変更されます:
プロフィール解決は
api/v1/users/web_profile_info/からapi/v1/feed/user/{username}/username/にフォールバックできます匿名の投稿ページネーションは
api/v1/feed/user/{id}/を使用します投稿ページは
max_idページネーションを使用します項目はInstaloaderのiPhone/モバイルレスポンスモデルを通じて変換されます
web_profile_infoでの失敗は、長いリトライ/バックオフループを待つことなく、フィードフォールバックに即座に到達できます
認証済みのInstagramアカウントは使用されません。
Related MCP server: instagram
アーキテクチャ
MCP Client
|
v
Vercel /api/mcp
|
v
Patched Instaloader (PR #2722)
|
v
Instagram mobile feed endpointMCPツール
get_instagram_profile
Instagramプロフィールの公開メタデータを返します。
{
"username": "instagram"
}get_instagram_posts
最近の公開投稿を返します。
{
"username": "instagram",
"count": 3
}debug_instagram_connection
生のレガシー web_profile_info HTTPレスポンスを検査します。このツールは診断用に引き続き利用できます。ただしパッチ適用済みのInstaloaderは、web_profile_info エンドポイントが拒否された場合にモバイルフィードエンドポイントへフォールバックできます。
{
"username": "instagram"
}MCPリソース
instagram://profile/{username}
instagram://profile/{username}/postsキャッシュ
デフォルトのインメモリキャッシュ:
CACHE_TTL_SECONDS=600
DEFAULT_POST_COUNT=12
MAX_POST_COUNT=30無効にするには CACHE_TTL_SECONDS=0 を設定します。
Vercelのインスタンスは一時的なものであるため、このキャッシュはウォーム関数インスタンスごとに保持され、グローバルに共有されるキャッシュではありません。
Vercelへのデプロイ
npm install -g vercel
vercel --prod同梱の vercel.json は、関数をサンパウロにデプロイします:
{
"$schema": "https://openapi.vercel.sh/vercel.json",
"regions": ["gru1"]
}MCPエンドポイント:
https://YOUR-PROJECT.vercel.app/api/mcpヘルスエンドポイント:
https://YOUR-PROJECT.vercel.app/api/healthローカル開発
python -m venv .venv
pip install -r requirements.txt
uvicorn api.index:app --reloadMCPエンドポイント:
http://127.0.0.1:8000/api/mcpCursor
.cursor/mcp.json:
{
"mcpServers": {
"instagram-public": {
"url": "https://YOUR-PROJECT.vercel.app/api/mcp"
}
}
}セキュリティ
このリポジトリには、Instagramアカウントの認証情報は含まれていません。
以下のものを含んでおらず、必要もありません:
Instagramのユーザー名/パスワード認証情報
sessionidcsrftokenfb_dtsg認証済みアカウントID
保存されたInstaloaderセッション
Instagramクッキー
制限事項
このサーバーは公開情報のみを取得し、非公開プロフィールの迂回を試みません。
Instagramは、デプロイ先のIPに基づいて匿名トラフィックをレート制限制限したり、ブロックしたりする場合があります。mobile-feedパッチは、既知の壊れた匿名 web_profile_info/タイムラインパスを修正しますが、InstagramがすべてのホスティングプロバイダーやIP範囲からのアクセスを受け入れることを保証するものではありません。
v2.1.1 プロフィール互換性の修正
匿名のモバイルフィードフォールバックは、通常 web_profile_info に存在する省略可能なプロフィールフィールドを省略することがあります。
バージョン2.1.1は、プロフィールプロパティを防御的に読み取ります。biography、external_url、ビジネスアカウントのメタデータなど欠落している値は、get_instagram_profile を失敗させるのではなく、null として返されます。
投稿の取得パスはv2.1.0から変更されません。
This server cannot be deployed
Maintenance
Related MCP Connectors
Read-only public Instagram data: profiles, posts, reels, stories, comments, top-accounts ranking.
Public Instagram profiles and post feeds by handle, with hashtags and mentions parsed.
Instagram: Instagram public data scraper API for search, users, posts, hashtags, locations and more.
Instagram Scraper: 🔥 Get a lot of information from Instagram consistently and quickly!.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables AI assistants to download Instagram content including posts, videos, reels, stories, highlights, and profile pictures using Instaloader, with optional metadata and caption extraction.5MIT
- AlicenseNot gradedqualityDmaintenanceEnables fetching public Instagram profiles, posts, and images without an API key via Instagram's mobile API.2MIT
- AlicenseNot gradedqualityBmaintenanceA local Instagram exporter for MCP clients that exports profile metadata, posts, reels, captions, and comments via a manually authenticated browser session.MIT
- AlicenseAqualityBmaintenanceProvides read-only access to public Threads.net profiles and threads via anonymous scraping, with tools for profile info, user threads, and session management.3MIT