> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nekt.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Instagram as an MCP

> Let your AI agents use Instagram in real time through the Nekt MCP Gateway.

Instagram is a social media platform for sharing photos and videos. As an MCP, agents can read engagement insights, list published media and comments, moderate comments, and publish new posts, carousels, or reels to your professional (Business or Creator) accounts.

| | Available |
| :- | :- |
| **Nekt Express** | Yes |
| **GCP** | Yes |
| **AWS** | Yes |

## Adding Instagram as an MCP

Before you start, make sure the [MCP Server](/mcp-server/setup) is set up. See [MCPs](/mcps/overview) for how MCPs work.

1. Go to **Activate → [MCPs](https://app.nekt.ai/mcps)**, click **New MCP** and choose **Instagram**.
2. **Name your MCP** and describe what it is used for. The agent reads the description to choose between MCPs of the same provider.
3. **Setup access**. Click the sign-in button and authorize with a Meta account that can see the data you want the agent to use. Actions run with that account's permissions.
   * **Sign in with Meta**: Sign in with a Meta account that has access to the Facebook Pages linked to the Instagram professional (Business/Creator) accounts you want to read from and publish to. (Required)
4. **Select tools**. Pick the tools your agents can use. See [Available tools](#available-tools) below.
5. Click **Save**. On Growth and Custom plans, choose who can use it; see [Access levels](/mcps/overview#access-levels).

## Example prompts

* "Publish a new photo to our main Instagram account using this image URL and the caption 'Exciting news coming soon!'."
* "What were our top-performing reels by total interactions over the last 30 days?"
* "Check our current API publishing quota to see if we have room for another post today."
* "List the recent comments on our latest carousel post and hide any that contain spam keywords."
* "Get the follower count and profile views from the last week for our professional account."

## Available tools

Choose which of these tools your agents can use in **Select tools**.

### Read tools

| Tool | Description | Parameters |
| :- | :- | :- |
| `get_account_insights` | Get account-level Instagram insights (reach, views, profile views, accounts engaged, total interactions) for a date range (YYYY-MM-DD, defaults to the last 30 days on Meta's side); metrics accepts a custom comma-separated metric list. | `ig_user_id` (string, required), `metrics` (string), `end_date` (string), `start_date` (string) |
| `get_account_profile` | Get an Instagram professional account's profile: username, name, biography, website, followers/following and media counts. | `ig_user_id` (string, required) |
| `get_media_insights` | Get engagement metrics for one Instagram media: reach, likes, comments, saves, shares, views and total interactions. media\_product\_type: FEED (posts/carousels), REELS or STORY — story insights are only available for 24h. | `media_id` (string, required), `media_product_type` (string) |
| `get_publishing_limit` | Get how many API-published posts the Instagram account has used of its rolling 24h publishing quota. | `ig_user_id` (string, required) |
| `list_comments` | List comments on an Instagram media with author username, text, timestamp, like count, hidden flag and replies. | `media_id` (string, required), `limit` (integer) |
| `list_instagram_accounts` | List the Instagram professional accounts accessible to the authenticated user, with the IG user id (used by every other tool), username, followers and the linked Facebook page. | — |
| `list_media` | List an Instagram account's published media (posts, carousels and reels) with caption, type, permalink, timestamp and like/comment counts; since filters by creation date (YYYY-MM-DD). | `ig_user_id` (string, required), `limit` (integer), `since` (string) |
| `list_stories` | List an Instagram account's currently active stories (last 24h) with media type, URL and timestamp. | `ig_user_id` (string, required) |

### Write tools

| Tool | Description | Parameters |
| :- | :- | :- |
| `delete_media` | Permanently delete a published Instagram media: post, reel, story or an entire carousel album (individual carousel items cannot be deleted; ad posts are not supported). | `media_id` (string, required) |
| `moderate_comment` | Moderate a comment on an Instagram media. action: hide, unhide or delete (delete is permanent). | `action` (string, required), `comment_id` (string, required) |
| `publish_carousel` | Publish a carousel post (2-10 images) to an Instagram professional account's feed. Each URL must be a publicly accessible JPEG; the caption cannot be edited after publishing. | `ig_user_id` (string, required), `image_urls` (array, required), `caption` (string) |
| `publish_photo` | Publish a single photo to an Instagram professional account's feed. image\_url must be a publicly accessible JPEG; the caption cannot be edited after publishing. | `image_url` (string, required), `ig_user_id` (string, required), `caption` (string), `alt_text` (string) |
| `publish_reel` | Publish a reel to an Instagram professional account. video\_url must be a publicly accessible MP4/MOV (Meta processes it asynchronously — this tool waits up to \~2min); the caption cannot be edited after publishing. | `video_url` (string, required), `ig_user_id` (string, required), `caption` (string), `cover_url` (string), `share_to_feed` (boolean) |
| `reply_to_comment` | Reply to a comment on an Instagram media as the account owner. | `message` (string, required), `comment_id` (string, required) |
| `update_media` | Enable or disable comments on a published Instagram media (the only supported update on published media — captions cannot be edited via the API). | `media_id` (string, required), `comment_enabled` (boolean, required) |

## Troubleshooting

* **Expired or revoked access:** If your Meta session expires or the app's access is revoked, the MCP will show that it needs to reconnect. Go to the MCP's page and sign in again.
* **Missing accounts:** Standard Instagram accounts are not supported. The Meta account used for authorization must have access to the Facebook Page linked to an Instagram professional (Business or Creator) account.
* **Publishing limitations:** The Instagram API does not allow editing captions after a post is published. Any media URLs provided to the agent for publishing must be publicly accessible.
* **Reel processing delays:** Reels are processed asynchronously by Meta. If the agent publishes a reel, it may take up to a few minutes for the API to confirm the post.
* **Rate limits:** API-published posts count against a rolling 24-hour quota per account. The agent can check your remaining quota if needed.

## Need help?

Contact our support team if you have trouble connecting Instagram.
