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 "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-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.
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.
Latest Blog Posts
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/AleemHaider/instagram-personal-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server