Instagram Public MCP
Provides tools to retrieve public Instagram profile metadata and recent posts, including a diagnostic tool for inspecting connection responses.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Instagram Public MCPShow me the recent posts from @nasa"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Instagram Public MCP for Vercel
A remote MCP server written in Python that queries public Instagram data only without an Instagram login, cookies, passwords, or saved account sessions.
Important: mobile-feed Instaloader patch
This build does not use the stock Instaloader 4.15.3 package.
It pins the anonymous profile/post fix from Instaloader pull request #2722 at:
3f72b47466cc505b92c6e9b0ca2f5689e93a6a89Dependency:
instaloader @ https://github.com/alimony/instaloader/archive/3f72b47466cc505b92c6e9b0ca2f5689e93a6a89.zipThe patch changes anonymous behavior so that:
profile resolution can fall back from
api/v1/users/web_profile_info/toapi/v1/feed/user/{username}/username/;anonymous post pagination uses
api/v1/feed/user/{id}/;post pages use
max_idpagination;items are converted through Instaloader's iPhone/mobile response model;
failures from
web_profile_infocan reach the feed fallback immediately instead of waiting through a long retry/backoff loop.
No authenticated Instagram account is used.
Related MCP server: Instagram Download MCP Server
Architecture
MCP Client
|
v
Vercel /api/mcp
|
v
Patched Instaloader (PR #2722)
|
v
Instagram mobile feed endpointMCP Tools
get_instagram_profile
Returns public metadata for an Instagram profile.
{
"username": "instagram"
}get_instagram_posts
Returns recent public posts.
{
"username": "instagram",
"count": 3
}debug_instagram_connection
Inspects the raw legacy web_profile_info HTTP response. This tool remains
available for diagnostics, but the patched Instaloader can fall back to the
mobile feed endpoint when that endpoint is refused.
{
"username": "instagram"
}MCP Resources
instagram://profile/{username}
instagram://profile/{username}/postsCache
Default in-memory cache:
CACHE_TTL_SECONDS=600
DEFAULT_POST_COUNT=12
MAX_POST_COUNT=30Set CACHE_TTL_SECONDS=0 to disable it.
Vercel instances are ephemeral, so this cache is per warm function instance, not a globally shared cache.
Deploy to Vercel
npm install -g vercel
vercel --prodThe included vercel.json deploys the function to São Paulo:
{
"$schema": "https://openapi.vercel.sh/vercel.json",
"regions": ["gru1"]
}MCP endpoint:
https://YOUR-PROJECT.vercel.app/api/mcpHealth endpoint:
https://YOUR-PROJECT.vercel.app/api/healthLocal development
python -m venv .venv
pip install -r requirements.txt
uvicorn api.index:app --reloadMCP endpoint:
http://127.0.0.1:8000/api/mcpCursor
.cursor/mcp.json:
{
"mcpServers": {
"instagram-public": {
"url": "https://YOUR-PROJECT.vercel.app/api/mcp"
}
}
}Security
This repository contains no Instagram account credentials.
It does not contain or require:
Instagram username/password credentials
sessionidcsrftokenfb_dtsgauthenticated account IDs
saved Instaloader sessions
Instagram cookies
Limitations
The server only queries public data and does not attempt to bypass private profiles.
Instagram may still rate-limit or block anonymous traffic based on the
deployment IP. The mobile-feed patch fixes the known broken anonymous
web_profile_info/timeline path, but it cannot guarantee that Instagram will
accept traffic from every hosting provider or IP range.
v2.1.1 profile compatibility fix
The anonymous mobile-feed fallback may omit optional profile fields that are
normally present in web_profile_info.
Version 2.1.1 reads profile properties defensively. Missing values such as
biography, external_url, or business-account metadata are returned as
null instead of causing get_instagram_profile to fail.
The post-fetching path is unchanged from v2.1.0.
This server cannot be deployed
Maintenance
Related MCP Connectors
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!.
Get social media data from Instagram and TikTok: profiles, posts, videos, comments, and more.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables Instagram engagement analysis using the unofficial Instagram Private API, including comment sentiment analysis, account comparison, demographic extraction, lead identification, and engagement reporting.36 npmMIT
- 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 gradedqualityCmaintenanceEnables 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