Fetches public Instagram profiles, posts, and images.
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., "@instagramGet the profile of @natgeo"
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.
mcp-instagram
An MCP (Model Context Protocol) server that fetches public Instagram profiles, posts, and images. No API key needed — uses Instagram's mobile API with TLS fingerprint bypass via curl_cffi.
Tools
Tool | Description |
| Profile info: bio, followers, profile pic (HD), category, verification status |
| Recent posts with captions, likes, comments, dates, and full carousel support |
| Flat list of HD image URLs from recent posts (skips videos) |
All tools accept a username (natgeo), an @handle (@natgeo), or a full URL (https://instagram.com/natgeo).
Related MCP server: Instagram120 MCP Server
Quick Start
Install
pip install mcp curl-cffiOr with uv:
uv pip install mcp curl-cffiRun standalone
python server.pyThe server communicates over stdio using the MCP protocol.
Configure in Claude Code
Add to your claude_desktop_config.json or .claude.json:
{
"mcpServers": {
"instagram": {
"type": "stdio",
"command": "python3",
"args": ["/path/to/mcp-instagram/server.py"]
}
}
}Then use in Claude Code:
> Get the profile of @natgeo
> Show me the latest posts from nike
> Get images from https://instagram.com/foodnetworkExample Output
get_profile("natgeo")
{
"username": "natgeo",
"full_name": "National Geographic",
"biography": "Experience the world through the eyes of National Geographic photographers.",
"profile_pic_url_hd": "https://...",
"followers": 283000000,
"is_verified": true,
"category": "Media/News Company"
}get_post_images("natgeo", max_images=3)
{
"username": "natgeo",
"count": 3,
"images": [
"https://scontent-...",
"https://scontent-...",
"https://scontent-..."
]
}How It Works
Uses Instagram's mobile API (i.instagram.com/api/v1/) with an Android user-agent and curl_cffi to match Chrome's TLS fingerprint. This avoids the browser-based rate limiting and fingerprint detection that blocks standard HTTP clients.
No authentication required
No API key needed
Works with public profiles only
Rate limited by Instagram (be respectful)
Dependencies
mcp >= 1.0.0 — Model Context Protocol SDK
curl_cffi >= 0.7.0 — HTTP client with TLS fingerprint impersonation
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Instagram: Instagram public data scraper API for search, users, posts, hashtags, locations and more.
Public Instagram profiles and post feeds by handle, with hashtags and mentions parsed.
Read-only public Instagram data: profiles, posts, reels, stories, highlights, comments, hashtags.
View and download public Instagram posts, reels, stories, highlights, followers, comments, no login
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.46 npmMIT
- AlicenseCqualityDmaintenanceEnables access to Instagram data including posts, reels, stories, user profiles, and highlights through the Instagram120 API with pagination support.12MIT
- FlicenseAqualityNot gradedmaintenanceEnables access to Instagram data through EnsembleData API, allowing retrieval of user information, posts, reels, follower counts, and search functionality for users, hashtags, and locations.9-
- AlicenseAqualityAmaintenanceEnables MCP clients to look up public Instagram profiles by handle and page through their public post feeds, returning structured JSON data such as follower counts, bios, and engagement metrics.261 npm226 PyPI16MIT