Skip to content

Wahlu MCP server for Instagram

An Instagram MCP server for scheduling posts.

Connect Claude, ChatGPT, Codex or Cursor to Wahlu's hosted MCP server and your agent can draft and schedule Instagram feed posts, carousels, Reels and Stories. Every schedule can wait for your approval.

Hosted MCP · Streamable HTTP · OAuth
https://mcp.wahlu.com/mcp

Every Wahlu plan includes agent access, through MCP and the API. Claude and ChatGPT directory apps are Coming soon; custom connections work now.

Add the Instagram MCP server

Set this up once and your agent can work on every network you've connected, not just Instagram.

  1. 1

    Connect Instagram in Wahlu

    Sign up to Wahlu and connect an Instagram Business or Creator account to a brand. Instagram only lets apps post to professional accounts, and you can switch for free in the Instagram app.

  2. 2

    Add the URL

    In your agent, add https://mcp.wahlu.com/mcp as a remote MCP server.

  3. 3

    Sign in and approve

    Wahlu opens a sign-in in your browser. Choose the workspace and brands, and untick any permission you don't want to give, such as Publishing.

  4. 4

    Ask for a post

    Your agent drafts the Instagram post, checks it and schedules it, held for your approval. Approve it in Wahlu.

Ask your agent for Instagram posts

Example prompts and the steps to expect. These are illustrations, not recorded conversations.

Example prompt

“Here are four photos from Saturday's market. Make an Instagram carousel with a short caption and no more than five hashtags, and hold it for my review on Friday at 8am.”

Example prompt

“Turn this video into a Reel for Tuesday evening, add @northroasters as a collaborator and leave the schedule for me to approve.”

Example prompt

“What's on Instagram for this brand next week? Find the quiet day and draft a Story to fill it.”

What your agent can do on Instagram

Your agent works through Wahlu's tools, so it can set the Instagram options Wahlu supports.

Post types

Feed post
One to 10 images or videos, with a caption of up to 2,200 characters. Two or more make a carousel.
Reel
One video, with a caption. Trial Reels and collaborators are supported.
Story
One image or video. Stories don't take a caption.

Settings on a draft

Post type
Feed post, Reel or Story.
Collaborators
Invite up to five accounts by their handle.
Trial Reel
Share a Reel with non-followers first, then share it to followers yourself or let Instagram decide based on how it performs.

What it can't do

  • Post to a personal Instagram account. Instagram only lets apps post to Business and Creator accounts.
  • Add a first comment, a location or tagged people to a post.
  • Wahlu's MCP server publishes. It doesn't read your feed, inbox or followers, and it has no tool for replying to comments or sending messages.

The tool calls, in order

  1. 01

    list_targetsFinds the brand's connected Instagram account and checks it's ready.

  2. 02

    import_media_from_url, upload_media or list_mediaBrings in the image or video, or picks one from your media library.

  3. 03

    create_draftCreates the draft with its caption and instagram_settings, such as the post type.

  4. 04

    preflight_draftChecks the draft against Instagram's rules without changing it.

  5. 05

    create_schedulePuts it on the calendar at pending_review, held for your approval.

Instagram limits to know

Wahlu checks these before a post is scheduled, so the agent finds out early.

You stay in control.

Every Wahlu plan includes agent access, through MCP and the API. You choose the workspace, brands and permissions each connection gets, and can disconnect it at any time.

Held until you approve

Agents create schedules at pending_review unless you've told them to publish. A held schedule can't publish until you approve it in Wahlu or ask an agent with Publishing permission to approve it.

Publishing is its own permission

Publishing is separate from Manage your schedule. Leave it unticked and nothing your agent schedules can go out on its own.

Checked before it's scheduled

preflight_draft reports anything that would stop a post, such as media the network won't accept or a caption that's too long, without changing anything. Autopilot's lines to check reach your agent too, and approving past them takes an explicit acknowledgement.

Some things stay in the app

Use the app for queues, draft media and platform settings, and connecting social accounts. Agents can change the name or caption of an unused draft and approve held schedules with the right permissions.

Works on the Free plan.

Every Wahlu plan includes agent access, through MCP and the API.

Free needs no card and includes 1 brand, 3 social accounts and 3 published posts a month, counted across your workspace. Paid plans raise those limits.

Questions about the MCP server

An MCP server gives an AI agent a set of tools it can call. Wahlu's hosted MCP server at https://mcp.wahlu.com/mcp lets an MCP client such as Claude, ChatGPT, Codex or Cursor draft and schedule posts for the Instagram account you've connected in Wahlu. It publishes posts; it doesn't read your feed or inbox.

Yes. Instagram only lets apps post to professional accounts, which means a Business or Creator account. You can switch for free in the Instagram app.

Yes. It can create feed posts, carousels of up to 10 images or videos, Reels and Stories. Stories don't take a caption.

Not unless you allow it. Agents hold schedules for your approval unless you tell them to publish, and they can only publish with the Publishing permission. Untick it on the sign-in screen and nothing your agent schedules can go out on its own.

It doesn't add a first comment, location or tagged people, and it has no tool for reading your feed, replying to comments or sending messages.

Yes. Claude and ChatGPT connect as custom MCP connections today; their directory apps are coming soon. Codex, Claude Code, Cursor and Gemini CLI have their own setup steps.

Your next Instagram post, drafted by your agent.

Connect your Instagram account in Wahlu, then add the MCP server to your agent.