Provides Instagram data access and actions via MCP including account management, messaging, content posting, and insights.
Configuration
View docs{
"mcpServers": {
"arjun1194-insta-mcp": {
"command": "node",
"args": [
"/ABSOLUTE/PATH/TO/insta-mcp/dist/index.js"
],
"env": {
"INSTA_DATA_DIR": "./data",
"INSTAGRAM_PASSWORD": "your_password",
"INSTAGRAM_USERNAME": "your_username"
}
}
}
}You can run an Instagram MCP Server locally to programmatically manage accounts, analyze insights, post content, and interact with DMs, all through an MCP client. This server exposes a rich set of capabilities that you can drive from your interface or companion AI to streamline social media tasks.
Connect an MCP client to the local Instagram MCP Server to access account management, content creation, messaging, and discovery features. You will run the server locally and point your client to the provided runtime, then configure your client to supply your Instagram credentials through environment variables or a credentials file. The client will invoke tools such as viewing your profile, posting photos or videos, reading message threads, and analyzing post performance.
To integrate with a client like Claude Desktop, configure the MCP endpoint as a local stdio server. You will start the server with Node and point the client to the runtime entry file, passing your credentials via environment variables. This lets your client securely issue commands like get_account_overview, upload_photo, get_inbox, and get_post_insights.
Example client configuration (Claude Desktop) to connect to a local Instagram MCP Server. Use an absolute path to the built runtime and supply credentials through environment variables.
{
"mcpServers": {
"instagram": {
"command": "node",
"args": ["/ABSOLUTE/PATH/TO/insta-mcp/dist/index.js"],
"env": {
"INSTAGRAM_USERNAME": "your_username",
"INSTAGRAM_PASSWORD": "your_password",
"INSTA_DATA_DIR": "./data"
}
}
}
}Prerequisites ensure Node.js is installed on your system and you have an Instagram account to test with.
Step-by-step commands to set up the server locally.
# Clone the MCP Instagram server repository
git clone https://github.com/your-repo/insta-mcp.git
cd insta-mcp
# Install dependencies
npm install
# Build the project for runtime
npm run buildYou configure credentials and data storage either via environment variables or a local credentials file.
Environment variables you may set directly in your shell or in a local .env file.
Environment variables shown in typical local usage include the following:
# As a shell export or in a .env file
INSTAGRAM_USERNAME=your_user
INSTAGRAM_PASSWORD=your_pass
INSTA_DATA_DIR=./dataOperate with care and comply with platform terms. Use throttling to avoid excessive requests and protect user data.
Fetch profile statistics such as followers, following, bio, and other basic details.
Retrieve notifications including likes and follows to understand engagement.
Update profile fields like name, bio, website, and email.
Block a specific user from your account.
Switch between Private and Public account visibility.
List a user’s followers.
List the accounts followed by a user.
Identify unfollowers or superfans by comparing lists.
Follow a user; unfollow_user to stop following.
Unfollow a user you are currently following.
View the latest posts from a specific user.
Get detailed metrics for a post (likes, comments, viewers).
Post a photo to your feed.
Post a video to your feed.
Post a Reel to your feed.
Post a carousel with multiple media items.
Find locations to tag in posts.
Like a post to show engagement.
Add a comment to a post.
Reply to an existing comment on a post.
View recent direct message threads.
Fetch message history for a specific thread.
Send a direct message to users or groups.
Add reactions to messages.
Manage pending DM requests.
Mute a direct message thread.
Leave a direct message thread.
Search for users, tags, or places.
Retrieve your main home feed.
Access the explore page feed.
Fetch your bookmarked collections.
Review posts you have liked.
Get recent posts for a hashtag.
View active stories from tray or a specific user.
Access a user’s story highlights.