Model Context Protocol · Instagram API (Instagram Login)
An MCP server that connects Claude to your Instagram professional account — plan the post in the conversation and publish 2–10 image carousels without opening the app. Embedded OAuth login. Status: LIVE.
MCP INSTAGRAM B2 TECH is a Model Context Protocol server that gives Claude real access to your professional account — not a chatbot that guesses, but typed calls against the Instagram API (Instagram Login).
Connect a professional account (Business or Creator) with Instagram Business Login embedded in the flow, then ask for the post in natural language: Claude drafts the slides and caption, shows a preview and only publishes once you confirm.
Each image is a public HTTPS URL or base64/bytes: uploads are converted to JPEG (Pillow) and hosted in a public Supabase Storage bucket, where Meta fetches them. Every media container is polled until FINISHED before publishing.
Multi-tenant deploy at mcp-instagram.vercel.app — encrypted tokens in Supabase, and we are the OAuth 2.1 Authorization Server. Same stack as the Meta Ads, Google Ads, GTM and Cloudflare MCPs.
6 tools and 1 prompt — from auth to carousel publish. Everything below is already implemented and live.
confirm=false it returns only a preview; the feed changes only with confirm=true.create_carousel through preview → explicit confirmation.From topic to feed in one conversation: plan_carousel_post → create_carousel (preview) → confirm=true → post is live.
A feed post speaks to your audience in your name. That's why every publish goes through explicit barriers — you are always in control of what shows up on your profile.
Preview before publishing
create_carousel with confirm=false returns the post plan — images, order and caption — without touching the publish API.
Publishing requires confirm=true
The feed only changes with explicit confirmation. The plan_carousel_post prompt follows the same ritual: draft → preview → confirm.
Containers only publish FINISHED
Each media container's status_code is polled until FINISHED before publishing — no half-baked posts from media still processing.
Tenant is never an argument
The tenant is derived from the embedded Authorization Server's access token — each login only sees its own account. No tool accepts "which client".
Tokens encrypted at rest
Long-lived tokens with AES-256-GCM in Supabase, default-deny RLS and the service key server-side only. instagram_token_status shows validity and days until expiry.
Temporary media, deleted in 72h
Uploads live in the public bucket only long enough for Meta to fetch them: the cleanup-media cron deletes each object 72 hours after publishing.
Add the connector, log in with your Instagram account and publish your first carousel in the same conversation. Zero installation — we host the server.
Add the MCP server as a connector in Claude and log in. Nothing to install; we handle OAuth and tokens.
https://mcp-instagram.vercel.app/api/mcp. On Claude Code, use the command below.# Claude Code claude mcp add --transport http \ instagram https://mcp-instagram.vercel.app/api/mcp
/mcp.instagram_token_status to validate the credential and get_connected_account to see the connected account. Ready to publish.From topic to published carousel, all inside the same conversation with Claude.
plan_carousel_post prompt with a topic — Claude drafts the slides and caption.# in Claude plan_carousel_post("3 Claude Code tips")
create_carousel with confirm=false returns images, order and caption — without publishing anything.confirm=true publishes the carousel to the connected account.Still have a question? Write to bruno@b2tech.io.
create_carousel with confirm=false returns only a preview of the post — images, order and caption. Your feed only changes when you confirm with confirm=true, and the plan_carousel_post prompt follows the same ritual.instagram_refresh_token refreshes it on demand (no-op if the token is under 24h old) and the daily refresh-tokens cron automatically extends tokens close to expiry.cleanup-media cron deletes each object 72 hours after publishing.mcp-instagram.vercel.app. You just add the connector in Claude and log in with your account; isolation is per tenant, with tokens encrypted (AES-256-GCM) server-side.2–10 image carousels on your professional account, with embedded OAuth, an automatic media pipeline and publishing only with confirm=true. Free and live.
6 tools + 1 prompt · embedded OAuth · multi-tenant on Vercel