A production-ready Model Context Protocol (MCP) server that enables AI applications to seamlessly interact with Instagram Business accounts.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add instagram --env INSTAGRAM_ACCESS_TOKEN='<INSTAGRAM_ACCESS_TOKEN>' --env FACEBOOK_APP_ID='<FACEBOOK_APP_ID>' --env FACEBOOK_APP_SECRET='<FACEBOOK_APP_SECRET>' --env INSTAGRAM_BUSINESS_ACCOUNT_ID='<INSTAGRAM_BUSINESS_ACCOUNT_ID>' -- python src/instagram_mcp_server.py~/.codex/config.toml
[mcp_servers.instagram]
command = "python"
args = ["src/instagram_mcp_server.py"]
env = { INSTAGRAM_ACCESS_TOKEN = "<INSTAGRAM_ACCESS_TOKEN>", FACEBOOK_APP_ID = "<FACEBOOK_APP_ID>", FACEBOOK_APP_SECRET = "<FACEBOOK_APP_SECRET>", INSTAGRAM_BUSINESS_ACCOUNT_ID = "<INSTAGRAM_BUSINESS_ACCOUNT_ID>" }
# codex mcp add instagram --env INSTAGRAM_ACCESS_TOKEN='<INSTAGRAM_ACCESS_TOKEN>' --env FACEBOOK_APP_ID='<FACEBOOK_APP_ID>' --env FACEBOOK_APP_SECRET='<FACEBOOK_APP_SECRET>' --env INSTAGRAM_BUSINESS_ACCOUNT_ID='<INSTAGRAM_BUSINESS_ACCOUNT_ID>' -- python src/instagram_mcp_server.py~/.cursor/mcp.json
{
"mcpServers": {
"instagram": {
"command": "python",
"args": [
"src/instagram_mcp_server.py"
],
"env": {
"INSTAGRAM_ACCESS_TOKEN": "<INSTAGRAM_ACCESS_TOKEN>",
"FACEBOOK_APP_ID": "<FACEBOOK_APP_ID>",
"FACEBOOK_APP_SECRET": "<FACEBOOK_APP_SECRET>",
"INSTAGRAM_BUSINESS_ACCOUNT_ID": "<INSTAGRAM_BUSINESS_ACCOUNT_ID>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"instagram": {
"type": "stdio",
"command": "python",
"args": [
"src/instagram_mcp_server.py"
],
"env": {
"INSTAGRAM_ACCESS_TOKEN": "<INSTAGRAM_ACCESS_TOKEN>",
"FACEBOOK_APP_ID": "<FACEBOOK_APP_ID>",
"FACEBOOK_APP_SECRET": "<FACEBOOK_APP_SECRET>",
"INSTAGRAM_BUSINESS_ACCOUNT_ID": "<INSTAGRAM_BUSINESS_ACCOUNT_ID>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"instagram": {
"command": "python",
"args": [
"src/instagram_mcp_server.py"
],
"env": {
"INSTAGRAM_ACCESS_TOKEN": "<INSTAGRAM_ACCESS_TOKEN>",
"FACEBOOK_APP_ID": "<FACEBOOK_APP_ID>",
"FACEBOOK_APP_SECRET": "<FACEBOOK_APP_SECRET>",
"INSTAGRAM_BUSINESS_ACCOUNT_ID": "<INSTAGRAM_BUSINESS_ACCOUNT_ID>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"instagram": {
"command": "python",
"args": [
"src/instagram_mcp_server.py"
],
"env": {
"INSTAGRAM_ACCESS_TOKEN": "<INSTAGRAM_ACCESS_TOKEN>",
"FACEBOOK_APP_ID": "<FACEBOOK_APP_ID>",
"FACEBOOK_APP_SECRET": "<FACEBOOK_APP_SECRET>",
"INSTAGRAM_BUSINESS_ACCOUNT_ID": "<INSTAGRAM_BUSINESS_ACCOUNT_ID>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"instagram": {
"command": "python",
"args": [
"src/instagram_mcp_server.py"
],
"env": {
"INSTAGRAM_ACCESS_TOKEN": "<INSTAGRAM_ACCESS_TOKEN>",
"FACEBOOK_APP_ID": "<FACEBOOK_APP_ID>",
"FACEBOOK_APP_SECRET": "<FACEBOOK_APP_SECRET>",
"INSTAGRAM_BUSINESS_ACCOUNT_ID": "<INSTAGRAM_BUSINESS_ACCOUNT_ID>"
}
}
}
}Environment variables
INSTAGRAM_ACCESS_TOKENFACEBOOK_APP_IDFACEBOOK_APP_SECRETINSTAGRAM_BUSINESS_ACCOUNT_ID
Replace the placeholders with your own credentials and keep them out of version control.