instagram-personal-mcp
Provides tools for interacting with a personal Instagram account, including reading profiles, searching users, fetching posts and comments, liking, commenting, following/unfollowing, saving posts, and sending/receiving direct messages via the unofficial private API.
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-personal-mcpList my DM threads"
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-personal-mcp

A Model Context Protocol server that wraps
instagrapi so Claude (or any MCP
client) can read, engage, and DM from a personal Instagram account — no
Business/Creator switch, no Meta app review.
⚠️ Unofficial private API. This server uses Instagram's reverse-engineered mobile API (via
instagrapi). It is not affiliated with or endorsed by Meta. Accounts driving private-API traffic can be rate-limited, challenged, or permanently disabled. Use a burner account until you trust your setup, keep activity natural, and don't connect over VPNs / datacenter IPs.
24 tools across auth, profile/read, engagement, and DMs.
Quick start
git clone https://github.com/AleemHaider/instagram-personal-mcp
cd instagram-personal-mcp
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"Drop your creds in a .env:
cp .env.example .env
# edit: IG_USERNAME, IG_PASSWORDThen run it:
instagram-personal-mcpThe first call (e.g. instagram_session_status or instagram_login) will
authenticate and save a session file to
~/.config/instagram-personal-mcp/session.json. Subsequent runs reuse it.
Related MCP server: Instagram MCP Server
Connect to Claude Desktop
Edit ~/.config/Claude/claude_desktop_config.json (Linux) /
~/Library/Application Support/Claude/claude_desktop_config.json (macOS):
{
"mcpServers": {
"instagram-personal": {
"command": "instagram-personal-mcp",
"env": {
"IG_USERNAME": "your_username",
"IG_PASSWORD": "your_password"
}
}
}
}Restart Claude Desktop.
Tools
Auth
Tool | What it does |
| Log in. Pass |
| Log out and delete the saved session. |
| Report whether a usable session is loaded. |
Profile & read
Tool | What it does |
| Profile of the logged-in account. |
| Public profile of another user. |
| Search users by keyword. |
| Recent posts by a user. |
| Details of a single post (URL or media pk). |
| Comments on a post. |
| Users who liked a post. |
| List a user's followers. |
| List who a user follows. |
| Home feed. |
| Active stories from a user. |
Engagement
Tool | What it does |
| Like a post. |
| Unlike a post. |
| Comment on a post. |
| Follow a user. |
| Unfollow a user. |
| Save a post to your collection. |
| Remove a post from your saved collection. |
Direct messages
Tool | What it does |
| List DM threads. |
| Messages in a thread. |
| Send a DM (comma-separated usernames for group). |
2FA flow
Call
instagram_login(no code) — if 2FA is required you'll get{"error": true, "code": "2FA_REQUIRED", ...}.Get the code from your authenticator / SMS.
Call
instagram_loginagain withverification_code="123456".
Errors
Tools return structured errors instead of raising. Look for error: true and a
machine-readable code:
NOT_LOGGED_IN— callinstagram_loginfirst.LOGIN_REQUIRED— saved session was rejected; log in again.2FA_REQUIRED— callinstagram_loginagain withverification_code.CHALLENGE_REQUIRED— Instagram wants a security challenge solved; log in from the IG app / web once to clear it.RATE_LIMITED—PleaseWaitFewMinutesfrom upstream; back off.USER_NOT_FOUND/MEDIA_NOT_FOUND— bad input or removed content.
Development
pip install -e ".[dev]"
pytestWhy a separate project from instagram-mcp?
The sibling instagram-mcp
wraps the official Instagram Graph API — Business/Creator accounts only,
requires a Meta app and tokens, fully ToS-compliant. This project wraps the
unofficial private API for personal accounts and carries the risks above.
They're kept separate so the official one stays clean and reviewable.
License
MIT — see LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
- MysocialOAuthio.mysocial
Social media MCP server: your Instagram, TikTok, YouTube, LinkedIn and Threads history for your AI.
Instagram for AI agents: publish, read comments and DMs, insights, and engage from your account.
Managed LinkedIn MCP server for AI agents: search, connect, message and enrich on accounts you own.
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
Related MCP Servers
- AlicenseAqualityDmaintenanceMCP server that enables integration with Instagram, allowing interaction with Instagram features through the Model Context Protocol.1515 npm8MIT
- AlicenseNot gradedqualityFmaintenanceAn MCP server that integrates with Instagram's Graph API to enable AI-driven management of Instagram Business accounts. It provides tools for fetching profile data, publishing media, analyzing engagement metrics, and managing direct messages.186MIT
- AlicenseAqualityCmaintenanceInstagram MCP server with 23 tools for the Graph API. Manage posts, comments, DMs, stories, hashtags, reels, carousels, and analytics.2336MIT
- AlicenseNot gradedqualityCmaintenanceMCP server for Instagram Graph API integration, enabling AI applications to manage Instagram Business accounts: fetch profiles, media, insights, publish content, and handle DMs.MIT