# How to integrate Instagram MCP with Grok Build

```json
{
  "title": "How to integrate Instagram MCP with Grok Build",
  "toolkit": "Instagram",
  "toolkit_slug": "instagram",
  "framework": "Grok Build",
  "framework_slug": "grok-build",
  "url": "https://composio.dev/toolkits/instagram/framework/grok-build",
  "markdown_url": "https://composio.dev/toolkits/instagram/framework/grok-build.md",
  "updated_at": "2026-05-12T10:15:59.478Z"
}
```

## Introduction

### How to integrate Instagram MCP with Grok Build
[Grok Build](https://docs.x.ai/build/overview) is xAI's terminal coding agent. It runs on Grok 4.5, plans its work before it acts, and can run multiple sub-agents in parallel. It also reads Claude Code's MCP configuration, so any server you already have in a .mcp.json is picked up with no changes.
In this guide, I will show you how to connect your Instagram account to Grok Build through Composio, so it can get analytics for last week's posts, list your most recent Instagram photos, fetch comments on your latest post, and more without leaving the terminal. Composio holds the OAuth tokens for you, and Grok Build only calls the tools you approve.

## Also integrate Instagram with

- [ChatGPT Work](https://composio.dev/toolkits/instagram/framework/chatgpt)
- [Antigravity](https://composio.dev/toolkits/instagram/framework/antigravity)
- [OpenAI Agents SDK](https://composio.dev/toolkits/instagram/framework/open-ai-agents-sdk)
- [Claude Agent SDK](https://composio.dev/toolkits/instagram/framework/claude-agents-sdk)
- [Claude Code](https://composio.dev/toolkits/instagram/framework/claude-code)
- [Claude Cowork](https://composio.dev/toolkits/instagram/framework/claude-cowork)
- [Codex](https://composio.dev/toolkits/instagram/framework/codex)
- [Kimi Code](https://composio.dev/toolkits/instagram/framework/kimi)
- [Cursor](https://composio.dev/toolkits/instagram/framework/cursor)
- [VS Code](https://composio.dev/toolkits/instagram/framework/vscode)
- [OpenCode](https://composio.dev/toolkits/instagram/framework/opencode)
- [OpenClaw](https://composio.dev/toolkits/instagram/framework/openclaw)
- [Hermes](https://composio.dev/toolkits/instagram/framework/hermes-agent)
- [CLI](https://composio.dev/toolkits/instagram/framework/cli)
- [Google ADK](https://composio.dev/toolkits/instagram/framework/google-adk)
- [LangChain](https://composio.dev/toolkits/instagram/framework/langchain)
- [Vercel AI SDK](https://composio.dev/toolkits/instagram/framework/ai-sdk)
- [Mastra AI](https://composio.dev/toolkits/instagram/framework/mastra-ai)
- [LlamaIndex](https://composio.dev/toolkits/instagram/framework/llama-index)
- [CrewAI](https://composio.dev/toolkits/instagram/framework/crew-ai)

## TL;DR

### Why use Composio over a standalone MCP server?
- Read and write access. Composio's Instagram integration lets Grok Build take real actions like creating drafts, sending updates, and labeling records, not just reading data.
- 1,000+ SaaS toolkits out of the box. One endpoint gives you a full catalog of pre-built connectors, from Gmail and Slack to Notion, Linear, and Salesforce.
- One MCP server for every app. Wire up a single Composio server instead of maintaining a separate MCP entry for each app.
- Smart, context-aware tool loading. Grok Build caps how many tools it holds in a single request. Composio loads only the tools a task needs, so you do not spend that budget on tools you are not using.
- Cross-app automation. Chain actions across apps in one run. Pull a thread, summarize it in Notion, and post the highlights to Slack from a single prompt.

## Connect Instagram to Grok Build

### Prerequisites
- Grok Build installed and signed in. Install with curl -fsSL https://x.ai/cli/install.sh | bash on macOS or Linux, or irm https://x.ai/cli/install.ps1 | iex on Windows PowerShell. On first launch Grok opens a browser to authenticate; for headless or CI use, set an XAI_API_KEY environment variable instead (create the key at [console.x.ai](https://console.x.ai/)).
- Access to the Instagram account you want to connect.
- The [Composio MCP endpoint](https://dashboard.composio.dev/login?utm_source=toolkits&utm_medium=framework_template&utm_campaign=grok-build&utm_content=composio_connect). Composio's server is remote and hosted, so there is nothing to run locally and no tunnel to set up.
### Step-by-step: Connect Instagram to Grok Build
### 1. Install and verify Grok Build
Install the CLI, then restart your shell so the grok binary lands on your PATH:

```bash
curl -fsSL https://x.ai/cli/install.sh | bash
which grok
```

## What is the Instagram MCP server, and what's possible with it?

The Instagram MCP server is an implementation of the Model Context Protocol that connects your AI agent and assistants like Claude, Cursor, etc directly to your Instagram Business or Creator account. It provides structured and secure access to your Instagram content and analytics, so your agent can publish posts, analyze insights, fetch comments, manage conversations, and more—all on your behalf.
- Automated post and carousel publishing: Let your agent draft and publish single-photo, video, or multi-image carousel posts to your feed with ease.
- Real-time comments retrieval: Ask your agent to fetch and organize comments from any of your Instagram posts, making it simple to engage with your audience.
- Insightful analytics and reporting: Request detailed insights on individual posts or your entire account, including impressions, reach, and engagement metrics.
- Direct message conversation management: Retrieve details about your Instagram DM conversations, including participants and recent messages, to help you stay connected.
- Profile and media access: Instantly fetch your profile details, statistics, and all media you've posted—photos, videos, and reels—so your agent can reference or repurpose your content.

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `INSTAGRAM_CREATE_CAROUSEL_CONTAINER` | Create Carousel Container | Create a draft carousel post with multiple images/videos before publishing. Instagram requires carousels to have between 2 and 10 media items. Container creation_ids expire in under 24 hours, so publish promptly after creation. |
| `INSTAGRAM_DELETE_COMMENT` | Delete Comment | Tool to delete a comment on Instagram media. Use when you need to remove a comment that was created by your Instagram Business or Creator Account. Note: You can only delete comments that your account created - you cannot delete other users' comments unless they are on your own media. |
| `INSTAGRAM_DELETE_MESSENGER_PROFILE` | Delete Messenger Profile | Tool to delete messenger profile settings for an Instagram account. Use when you need to remove ice breakers, persistent menu, greeting messages, or other messaging configuration from the messenger profile. |
| `INSTAGRAM_GET_CONVERSATION` | Get Conversation | Get details about a specific Instagram DM conversation (participants, etc). Requires a Business or Creator account with Instagram messaging permissions; personal accounts will return permission errors. Newly sent/received messages may take a few seconds to appear in results. |
| `INSTAGRAM_GET_IG_COMMENT_REPLIES` | Get IG Comment Replies | Get replies to a specific Instagram comment. Returns a list of comment replies with details like text, username, timestamp, and like count. Use when you need to retrieve child comments (replies) for a specific parent comment. |
| `INSTAGRAM_GET_IG_MEDIA` | Get Instagram Media | Get a published Instagram Media object (photo, video, story, reel, or carousel). Use when you need to retrieve detailed information about a specific Instagram post including engagement metrics, caption, media URLs, and metadata. NOTE: This action is for published media only. For unpublished container IDs (from INSTAGRAM_CREATE_MEDIA_CONTAINER), use INSTAGRAM_GET_POST_STATUS to check status instead. |
| `INSTAGRAM_GET_IG_MEDIA_CHILDREN` | Get IG Media Children | Tool to get media objects (images/videos) that are children of an Instagram carousel/album post. Use when you need to retrieve individual media items from a carousel album post. Note: Carousel children media do not support insights queries - for analytics, query metrics at the parent carousel level. |
| `INSTAGRAM_GET_IG_MEDIA_COMMENTS` | Get IG Media Comments | Tool to retrieve comments on an Instagram media object. Use when you need to fetch comments from a specific Instagram post, photo, video, or carousel owned by the connected Business/Creator account. Supports cursor-based pagination for navigating through large comment lists. An empty data array in the response indicates the post has no comments and is not an error. Bulk-fetching across many media objects may trigger API rate limits. |
| `INSTAGRAM_GET_IG_MEDIA_INSIGHTS` | Get IG Media Insights | Tool to get insights and metrics for Instagram media objects (photos, videos, reels, carousel albums). Use when you need to retrieve performance data such as views, reach, likes, comments, saves, and shares for specific media. Note: Insights data is only available for media published within the last 2 years, and the account must have at least 1,000 followers. Requires a Business or Creator account; personal Instagram profiles are not supported. |
| `INSTAGRAM_GET_IG_USER_CONTENT_PUBLISHING_LIMIT` | Get IG User Content Publishing Limit | Get an Instagram Business Account's current content publishing usage. Use this to monitor quota usage before publishing; exceeding the daily cap blocks new posts until the quota resets (no partial failure — new publish calls are rejected until reset). IMPORTANT: This endpoint requires an IG User ID (Instagram Business Account ID), NOT an IGSID (Instagram Scoped ID). IGSID is only used for messaging-related endpoints. Content publishing endpoints require a proper IG User ID. Excessive polling of this endpoint may trigger Graph error 613 (rate limit); space calls several seconds apart. |
| `INSTAGRAM_GET_IG_USER_LIVE_MEDIA` | Get IG User Live Media | Get live media objects during an active Instagram broadcast. Returns the live video media ID and metadata when a live broadcast is in progress on an Instagram Business or Creator account. Use this to monitor active live streams and access real-time engagement data. |
| `INSTAGRAM_GET_IG_USER_MEDIA` | Get IG User Media | Get Instagram user's media collection (posts, photos, videos, reels, carousels). Use when you need to retrieve all media published by an Instagram Business or Creator account with support for pagination and time-based filtering. |
| `INSTAGRAM_GET_IG_USER_STORIES` | Get IG User Stories | Get active story media objects for an Instagram Business or Creator account. Stories are retrieved via the /stories endpoint. Returns stories that are currently active within the 24-hour window. Use this to retrieve story content, metadata, and engagement metrics for monitoring or analytics purposes. |
| `INSTAGRAM_GET_IG_USER_TAGS` | Get IG User Tags | Get Instagram media where the user has been tagged by other users. Use when you need to retrieve all media in which an Instagram Business or Creator account has been tagged, including tags in captions, comments, or on the media itself. |
| `INSTAGRAM_GET_MESSENGER_PROFILE` | Get Messenger Profile | Get the messenger profile settings for an Instagram account. Returns ice breakers and other messaging configuration. Use when you need to retrieve messaging settings, ice breaker questions, or messenger configuration for an Instagram Business account. |
| `INSTAGRAM_GET_PAGE_CONVERSATIONS` | Get Page Conversations | Get Instagram conversations for a Page connected to an Instagram Business account. Use platform=instagram parameter to filter for Instagram conversations only. |
| `INSTAGRAM_GET_USER_INFO` | Get User Info | Get Instagram Business Account info including profile details and statistics. IMPORTANT: Only works for Business/Creator accounts you manage through Facebook Business Manager. Cannot query arbitrary public Instagram accounts. Use "me" to query your own authenticated account. NOTE: followers_count and follows_count are ONLY available when querying your own profile with ig_user_id="me" - these fields return null for specific user IDs due to Instagram Graph API limitations. |
| `INSTAGRAM_GET_USER_INSIGHTS` | Get User Insights | Get Instagram account-level insights and analytics (profile views, reach, follower count, etc.). Requires a Business or Creator account; personal accounts are not supported. Returned timestamps are in UTC. metric_type (time_series or total_value): When set to total_value, the API returns a total_value object instead of values. breakdown: Only applicable when metric_type=total_value and only for supported metrics. timeframe: Required for demographics-related metrics and overrides since/until for those metrics. |
| `INSTAGRAM_LIST_ALL_CONVERSATIONS` | List All Conversations | List all Instagram DM conversations for the authenticated user. Requires a Business/Creator account with messaging permissions; personal accounts return empty results. Response conversations are nested under `data.data` — accessing top-level `data` as the final list returns zero items. An empty `data` list is a valid non-error outcome meaning no conversations exist in scope. |
| `INSTAGRAM_LIST_ALL_MESSAGES` | List All Messages | List all messages from a specific Instagram DM conversation. Requires a Business or Creator account with messaging permissions; personal accounts return empty results. Response data is nested under data.data (double-wrapped); attachment-only messages may have empty text fields. |
| `INSTAGRAM_MARK_SEEN` | Mark Seen | Mark Instagram DM messages as read/seen for a specific user. Sends a 'mark_seen' sender action to indicate messages from the specified recipient have been read. Marking as seen is visible to the other party and changes inbox read state — use with explicit user approval in automated or bulk flows. IMPORTANT LIMITATIONS: - The sender_action API feature may have limited support on Instagram - The recipient must have an active 24-hour messaging window open - Requires instagram_manage_messages permission - Only works with Instagram Business or Creator accounts If this action fails with a 500 error, it may indicate that the sender_action feature is not supported for your Instagram account or the specific recipient. |
| `INSTAGRAM_POST_IG_COMMENT_REPLIES` | Post IG Comment Replies | Tool to create a reply to an Instagram comment. Use when you need to reply to a specific comment on an Instagram post owned by a Business or Creator account. The reply must be 300 characters or less, contain at most 4 hashtags and 1 URL, and cannot consist entirely of capital letters. |
| `INSTAGRAM_POST_IG_MEDIA_COMMENTS` | Post IG Media Comments | Tool to create a comment on an Instagram media object. Use when you need to post a comment on a specific Instagram post, photo, video, or carousel. The comment must be 300 characters or less, contain at most 4 hashtags and 1 URL, and cannot consist entirely of capital letters. |
| `INSTAGRAM_POST_IG_USER_MEDIA` | Post IG User Media | Tool to create a media container for Instagram posts. Use this to create a container for images, videos, Reels, or carousels. This is the first step in Instagram's two-step publishing process - after creating the container, use the media_publish endpoint to publish it. |
| `INSTAGRAM_POST_IG_USER_MEDIA_PUBLISH` | Publish IG User Media | Tool to publish a media container to an Instagram Business account. This action automatically waits for the container to finish processing before publishing. Rate limited to 25 API-published posts per 24-hour moving window. The publishing process: 1. First, create a media container using INSTAGRAM_CREATE_MEDIA_CONTAINER 2. Call this action with the creation_id - it will automatically poll for FINISHED status 3. Once ready, the media is published and the published media ID is returned For videos/reels, processing may take 30-120 seconds. Images are typically instant. |
| `INSTAGRAM_POST_IG_USER_MENTIONS` | Reply to IG User Mentions | Tool to reply to a mention of your Instagram Business or Creator account. Use when you need to respond to comments or media captions where your account has been @mentioned by another Instagram user. This creates a comment on the media or comment containing the mention. |
| `INSTAGRAM_SEND_IMAGE` | Send Image | Send an image via Instagram DM to a specific user. Each send modifies inbox state; avoid bulk or automated sends without explicit user approval. |
| `INSTAGRAM_SEND_TEXT_MESSAGE` | Send Text Message | Send a text message to an Instagram user via DM in an existing conversation. Cannot initiate new DM threads — a prior conversation must exist. Requires an Instagram Business or Creator account with messaging permissions. Fails with error_subcode 2534022 if outside the messaging window; do not retry these failures. |
| `INSTAGRAM_UPDATE_MESSENGER_PROFILE` | Update Messenger Profile | Tool to update the messenger profile settings for an Instagram account. Use when you need to configure ice breakers and messaging options. Ice breakers are suggested questions that help users start conversations with your Instagram Business account. |

## Supported Triggers

None listed.

## Creating MCP Server - Stand-alone vs Composio SDK

Once connected, Grok Build can access the Instagram MCP server via Composio to run the app actions you authorize, directly from your terminal.

## Complete Code

None listed.

## How to build Instagram MCP Agent with another framework

- [ChatGPT Work](https://composio.dev/toolkits/instagram/framework/chatgpt)
- [Antigravity](https://composio.dev/toolkits/instagram/framework/antigravity)
- [OpenAI Agents SDK](https://composio.dev/toolkits/instagram/framework/open-ai-agents-sdk)
- [Claude Agent SDK](https://composio.dev/toolkits/instagram/framework/claude-agents-sdk)
- [Claude Code](https://composio.dev/toolkits/instagram/framework/claude-code)
- [Claude Cowork](https://composio.dev/toolkits/instagram/framework/claude-cowork)
- [Codex](https://composio.dev/toolkits/instagram/framework/codex)
- [Kimi Code](https://composio.dev/toolkits/instagram/framework/kimi)
- [Cursor](https://composio.dev/toolkits/instagram/framework/cursor)
- [VS Code](https://composio.dev/toolkits/instagram/framework/vscode)
- [OpenCode](https://composio.dev/toolkits/instagram/framework/opencode)
- [OpenClaw](https://composio.dev/toolkits/instagram/framework/openclaw)
- [Hermes](https://composio.dev/toolkits/instagram/framework/hermes-agent)
- [CLI](https://composio.dev/toolkits/instagram/framework/cli)
- [Google ADK](https://composio.dev/toolkits/instagram/framework/google-adk)
- [LangChain](https://composio.dev/toolkits/instagram/framework/langchain)
- [Vercel AI SDK](https://composio.dev/toolkits/instagram/framework/ai-sdk)
- [Mastra AI](https://composio.dev/toolkits/instagram/framework/mastra-ai)
- [LlamaIndex](https://composio.dev/toolkits/instagram/framework/llama-index)
- [CrewAI](https://composio.dev/toolkits/instagram/framework/crew-ai)

## Related Toolkits

- [Twitter](https://composio.dev/toolkits/twitter) - Twitter is a social media platform for sharing real-time updates, conversations, and news. Stay connected, informed, and engaged with communities worldwide.
- [Ayrshare](https://composio.dev/toolkits/ayrshare) - Ayrshare is a Social Media API for managing, automating, and analyzing posts across multiple platforms. It helps you streamline social media workflows and centralize analytics.
- [DEV Community](https://composio.dev/toolkits/devto) - DEV Community (dev.to) is a social publishing platform for software developers. Use it to share technical articles, grow a developer audience, and join community discussions.
- [Dotsimple](https://composio.dev/toolkits/dotsimple) - Dotsimple is a social media management platform for planning, creating, and publishing content. It helps teams boost their reach with AI-powered content generation and actionable analytics.
- [Strava](https://composio.dev/toolkits/strava) - Strava is a social fitness network and app for cyclists and runners. It's perfect for tracking workouts, sharing progress, and joining active communities.
- [Tiktok](https://composio.dev/toolkits/tiktok) - Tiktok is a short-form video platform for creating, sharing, and discovering viral content. It helps creators and brands reach massive audiences with creative tools and global social features.
- [Gmail](https://composio.dev/toolkits/gmail) - Gmail is Google's email service with powerful spam protection, search, and G Suite integration. It keeps your inbox organized and makes communication fast and reliable.
- [Google Calendar](https://composio.dev/toolkits/googlecalendar) - Google Calendar is a time management service for scheduling meetings, events, and reminders. It streamlines personal and team organization with integrated notifications and sharing options.
- [Google Drive](https://composio.dev/toolkits/googledrive) - Google Drive is a cloud storage platform for uploading, sharing, and collaborating on files. It's perfect for keeping your documents accessible and organized across devices.
- [Outlook](https://composio.dev/toolkits/outlook) - Outlook is Microsoft's email and calendaring platform for unified communications and scheduling. It helps users stay organized with powerful email, contacts, and calendar management.
- [Google Sheets](https://composio.dev/toolkits/googlesheets) - Google Sheets is a cloud-based spreadsheet tool for real-time collaboration and data analysis. It lets teams work together from anywhere, updating information instantly.
- [Supabase](https://composio.dev/toolkits/supabase) - Supabase is an open-source backend platform offering scalable Postgres databases, authentication, storage, and real-time APIs. It lets developers build modern apps without managing infrastructure.
- [Composio](https://composio.dev/toolkits/composio) - Composio is an integration platform that connects AI agents with hundreds of business tools. It streamlines authentication and lets you trigger actions across services—no custom code needed.
- [Notion](https://composio.dev/toolkits/notion) - Notion is a collaborative workspace for notes, docs, wikis, and tasks. It streamlines team knowledge, project tracking, and workflow customization in one place.
- [Slack](https://composio.dev/toolkits/slack) - Slack is a channel-based messaging platform for teams and organizations. It helps people collaborate in real time, share files, and connect all their tools in one place.
- [Airtable](https://composio.dev/toolkits/airtable) - Airtable combines the flexibility of spreadsheets with the power of a database for easy project and data management. Teams use Airtable to organize, track, and collaborate with custom views and automations.
- [Google Docs](https://composio.dev/toolkits/googledocs) - Google Docs is a cloud-based word processor that enables document creation and real-time collaboration. Its seamless sharing and version history make team editing and content management a breeze.
- [Google Super](https://composio.dev/toolkits/googlesuper) - Google Super is an all-in-one suite combining Gmail, Drive, Calendar, Sheets, Analytics, and more. It gives you a unified platform to manage your digital life, boosting productivity and organization.
- [HubSpot](https://composio.dev/toolkits/hubspot) - HubSpot is an all-in-one marketing, sales, and customer service platform. It lets teams nurture leads, automate outreach, and track every customer interaction in one place.
- [Codeinterpreter](https://composio.dev/toolkits/codeinterpreter) - Codeinterpreter is a Python-based coding environment with built-in data analysis and visualization. It lets you instantly run scripts, plot results, and prototype solutions inside supported platforms.

## Frequently Asked Questions

### What is the difference between the Composio Tool Router and a standalone Instagram MCP server?

A standalone Instagram MCP server gives Grok Build a fixed set of Instagram tools tied to that one server. The Composio Tool Router lets Grok Build load tools from Instagram and many other apps on demand, based on the task, all through a single endpoint.

### Does Grok Build support MCP?

Yes. Grok Build ships with native MCP support. Add a server with the grok mcp add command, from the in-session /mcps modal, or by editing ~/.grok/config.toml. It also reads Claude Code-style .mcp.json files, so Grok Build discovers the tools automatically.

### Can I reuse the same MCP config I already use with Claude Code?

Yes. Grok Build has zero-migration compatibility with Claude Code's configuration, so the same Composio server entry works in both without edits.

### How safe is my Instagram data with Composio?

Tokens, keys, and configuration are encrypted at rest and in transit. Composio is SOC 2 Type 2 compliant, so your Instagram data and credentials are handled to that standard.

---
[See all toolkits](https://composio.dev/toolkits) · [Composio docs](https://docs.composio.dev/llms.txt)
