Google Search Console integration for Model Context Protocol (MCP)
Instagram is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
Instagram for AI agents: publish, read comments and DMs, insights, and engage from your account.
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user --transport http mcp-dir-instagram-mcp https://api.mcp.ai/p_instagram
# 2 — ask your agent for something these tools do
# instagram_actions_list_accounts, instagram_actions_like, instagram_actions_list_comments and 24 more
Instagram costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. Nothing here runs on your machine and nothing runs on ours: this server answers at its publisher’s own address, and what you install is the connection straight to it.
This is a public server: it answers at its publisher’s own address and this marketplace is not in the path. Claude Code registers it in one command; --scope user makes it available in every project. The transport below is http, as the publisher's own manifest declares it.
claude mcp add --scope user --transport http mcp-dir-instagram-mcp https://api.mcp.ai/p_instagramReconnect, or start a new session, and the tools appear in the model’s tool list.
One config entry pointing straight at the publisher’s own address — this marketplace is not in the path, and nothing from this listing executes on your machine.
27 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
List the Instagram accounts connected to this install — id, username, label.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| account | string | no | — |
Like one or more Instagram posts, addressed by post URL or shortcode (NOT the numeric media id the official API returns). Returns a job_id; poll instagram_actions_get_job_status.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| posts | array | yes | — |
| account | string | no | — |
List the comments on a post, addressed by URL or shortcode. Returns each comment_id in the form that instagram_actions_like_comment accepts. The official API returns a DIFFERENT id that is not accepted there. Returns a job_id; poll instagram_actions_get_job_status.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| posts | array | yes | — |
| account | string | no | — |
Like one or more comments. Each comment_id MUST come from instagram_actions_list_comments. The id returned by the official instagram_get_ig_media_comments belongs to a different namespace and is rejected. Returns a job_id; poll instagram_actions_get_job_status.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| comment_ids | array | yes | — |
| account | string | no | — |
Follow one or more Instagram users by @username. Returns a job_id.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| targets | array | yes | — |
| account | string | no | — |
Unfollow one or more Instagram users by @username. Returns a job_id.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| targets | array | yes | — |
| account | string | no | — |
List a specific user's currently available stories (read-only, does not mark as seen). Returns a job_id (or the result inline when wait=true).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | string | yes | — |
| wait | boolean | no | — |
| account | string | no | — |
Watch (mark as seen) the stories of one or more profiles. Omit targets to watch the home tray. Returns a job_id.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| targets | array | no | — |
| account | string | no | — |
Send the FIRST direct message to someone who has never messaged this account (the official API cannot do this). One recipient per call, low daily cap. Returns a job_id.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | string | yes | — |
| text | string | yes | — |
| dry_run | boolean | no | — |
| account | string | no | — |
Get the status/progress/result of a previously started action by its job_id. Bulk support: accepts job_ids for batched execution.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| job_id | string | yes | — |
| account | string | no | — |
| job_ids | array | no | — |
List recent action jobs for the connected account, optionally filtered by status.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| status | string | no | — |
| account | string | no | — |
Get Instagram Business Account info including profile details and statistics. Use "me" to query your own authenticated account, or provide the numeric Business Account ID of an account you manage. NOTE: followers_count and follows_count are returned for your own profile (ig_user_id="me"). For other accounts, follower/… Bulk support: accepts ig_user_ids for batched execution.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| ig_user_id | string | no | — |
| graph_api_version | string | no | — |
| account | string | no | — |
| ig_user_ids | array | no | — |
List account media. REST response: read result.result.data and result.result.paging (not result.data). Null engagement fields mean unavailable, not zero; use media insights for saved, shares and views. Bulk support: accepts ig_user_ids, auto_resolve_fb_page_ids for batched execution.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| after | string | no | — |
| limit | number | no | — |
| since | number | no | — |
| until | number | no | — |
| before | string | no | — |
| fields | string | no | — |
| ig_user_id | string | no | — |
| graph_api_version | string | no | — |
| auto_resolve_fb_page_id | boolean | no | — |
| account | string | no | — |
| ig_user_ids | array | no | — |
| auto_resolve_fb_page_ids | array | no | — |
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 INSTAGR… Bulk support: accepts ig_media_ids for batched execution.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| fields | string | no | — |
| ig_media_id | string | yes | — |
| graph_api_version | string | no | — |
| account | string | no | — |
| ig_media_ids | array | no | — |
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 indicat… Bulk support: accepts ig_media_ids for batched execution.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| after | string | no | — |
| limit | number | no | — |
| before | string | no | — |
| fields | string | no | — |
| ig_media_id | string | yes | — |
| graph_api_version | string | no | — |
| account | string | no | — |
| ig_media_ids | array | no | — |
Read media insights. REST response: read result.result.data. Request metric=[views,reach,saved,shares] for views, reach, saves and shares; availability depends on the media type and metric. Bulk support: accepts ig_media_ids for batched execution.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| metric | array | yes | — |
| period | string | no | — |
| breakdown | string | no | — |
| ig_media_id | string | yes | — |
| graph_api_version | string | no | — |
| account | string | no | — |
| ig_media_ids | array | no | — |
Read account insights at result.result.data in REST. An empty data array means insights are unavailable, not zero. It does not by itself establish a follower-count restriction. Bulk support: accepts ig_user_ids for batched execution.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| since | number | no | — |
| until | number | no | — |
| metric | array | no | — |
| period | string | no | — |
| breakdown | string | no | — |
| timeframe | string | no | — |
| ig_user_id | string | no | — |
| metric_type | string | no | — |
| graph_api_version | string | no | — |
| account | string | no | — |
| ig_user_ids | array | no | — |
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. Bulk support: accepts ig_user_ids, location_ids for batched execution.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| caption | string | no | — |
| alt_text | string | no | — |
| children | array | no | — |
| cover_url | string | no | — |
| image_url | string | no | — |
| user_tags | array | no | — |
| video_url | string | no | — |
| audio_name | string | no | — |
| ig_user_id | string | no | — |
| image_file | object | no | — |
| media_type | string | no | — |
| video_file | object | no | — |
| location_id | string | no | — |
| thumb_offset | number | no | — |
| share_to_feed | boolean | no | — |
| is_carousel_item | boolean | no | — |
| graph_api_version | string | no | — |
| account | string | no | — |
| ig_user_ids | array | no | — |
| location_ids | array | no | — |
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. Bulk support: accepts ig_user_ids, location_ids for batched execution.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| caption | string | no | — |
| children | array | no | — |
| ig_user_id | string | no | — |
| location_id | string | no | — |
| share_to_feed | boolean | no | — |
| child_image_urls | array | no | — |
| child_video_urls | array | no | — |
| child_image_files | array | no | — |
| child_video_files | array | no | — |
| graph_api_version | string | no | — |
| account | string | no | — |
| ig_user_ids | array | no | — |
| location_ids | array | no | — |
Tool to publish a media container to an Instagram Business account. This action automatically waits for the container to finish processing before publishing. Instagram enforces an account-specific content-publishing rate limit over a 24-hour moving window; the exact cap varies by account and should be read live via IN… Bulk support: accepts ig_user_ids, creation_ids for batched execution.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| ig_user_id | string | no | — |
| creation_id | string | yes | — |
| max_wait_seconds | number | no | — |
| graph_api_version | string | no | — |
| poll_interval_seconds | number | no | — |
| account | string | no | — |
| ig_user_ids | array | no | — |
| creation_ids | array | no | — |
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. Bulk support: accepts ig_comment_ids for batched execution.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| message | string | yes | — |
| ig_comment_id | string | yes | — |
| graph_api_version | string | no | — |
| account | string | no | — |
| ig_comment_ids | array | no | — |
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. Bulk support: accepts ig_user_ids, recipient_ids, reply_to_message_ids for batched
| Parameter | Type | Required | Notes |
|---|---|---|---|
| text | string | yes | — |
| ig_user_id | string | no | — |
| recipient_id | string | yes | — |
| graph_api_version | string | no | — |
| reply_to_message_id | string | no | — |
| account | string | no | — |
| ig_user_ids | array | no | — |
| recipient_ids | array | no | — |
| reply_to_message_ids | array | no | — |
Send an image via Instagram DM to a specific user. Each send modifies inbox state; avoid bulk or automated sends without explicit user approval. Bulk support: accepts ig_user_ids, recipient_ids for batched execution.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| image_url | string | yes | — |
| ig_user_id | string | no | — |
| recipient_id | string | yes | — |
| graph_api_version | string | no | — |
| account | string | no | — |
| ig_user_ids | array | no | — |
| recipient_ids | array | no | — |
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… Bulk support: accepts ig_user_ids, recipient_ids for batched execution.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| ig_user_id | string | no | — |
| recipient_id | string | yes | — |
| graph_api_version | string | no | — |
| account | string | no | — |
| ig_user_ids | array | no | — |
| recipient_ids | array | no | — |
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. Bulk support: accepts conversation_ids for batched execution.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| conversation_id | string | yes | — |
| graph_api_version | string | no | — |
| account | string | no | — |
| conversation_ids | array | no | — |
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 … Bulk support: accepts user_ids, ig_user_ids for batched execution.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| after | string | no | — |
| limit | number | no | — |
| user_id | string | no | — |
| platform | string | no | — |
| ig_user_id | string | no | — |
| graph_api_version | string | no | — |
| account | string | no | — |
| user_ids | array | no | — |
| ig_user_ids | array | no | — |
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. Bulk support: accepts conversation_ids for batched execution.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| after | string | no | — |
| limit | number | no | — |
| conversation_id | string | yes | — |
| graph_api_version | string | no | — |
| account | string | no | — |
| conversation_ids | array | no | — |
- Every tool — any call limit is its publisher’s, not ours
- No card, and mcprush charges nothing for it
- Runs at its publisher’s own address — this marketplace is not in the path
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install Instagram or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
This listing is an address its publisher runs, and you connect to it directly — this marketplace is not in the path. The scanner reads packages and public source, and an address is neither: the repository linked on this page is where this record was collected from, not a copy of what the address serves, so it is not graded in its place. So there is no grade — not a withheld one, an unmeasured one.
Release history
This is an address its publisher runs: which release it serves is theirs to choose, so there is nothing here to pin. The history below is for reading; the current release on file is 0.1.0.
No release note was published with this version.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish Instagram can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.