Instagram Public MCP
Provides tools to retrieve public Instagram profile metadata and recent posts, including a diagnostic tool for inspecting connection responses.
Click on "Install 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 installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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.80MIT
- 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
Related MCP Connectors
Public Instagram profiles and post feeds by handle, with hashtags and mentions parsed.
Scrape and analyze public LinkedIn posts as structured JSON via the Apify LinkedIn Posts API.
Unified social-media data across 10 networks: profiles, posts, search, comments, cross-search.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/pedroantonnio/Instagram-Analytics-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server