MCP INSTAGRAM B2 TECH

Model Context Protocol · Instagram API (Instagram Login)

Publique no Instagram
direto pelo Claude.

Um servidor MCP que liga o Claude à sua conta profissional do Instagram — planeje o post na conversa e publique carrosséis de 2 a 10 imagens sem abrir o app. Login OAuth embutido. Status: LIVE.

6 tools + 1 prompt · OAuth embutido · multi-tenant · grátis

Carrossel de 2–10 imagens Preview antes do publish confirm=true para publicar Token de 60 dias renovado por cron Pipeline de mídia automático Multi-tenant na Vercel OAuth 2.1 Authorization Server Carrossel de 2–10 imagens Preview antes do publish confirm=true para publicar Token de 60 dias renovado por cron Pipeline de mídia automático Multi-tenant na Vercel OAuth 2.1 Authorization Server
O que é

Seu Instagram, operado em linguagem natural

O MCP INSTAGRAM B2 TECH é um servidor Model Context Protocol que dá ao Claude acesso real à sua conta profissional — não um chatbot que adivinha, mas chamadas tipadas na Instagram API (Instagram Login).

Conexão real

Claude publica na sua conta

Conecte uma conta profissional (Business ou Creator) com o Instagram Business Login embutido no fluxo e peça o post em linguagem natural: o Claude rascunha os slides e a legenda, mostra o preview e só publica quando você confirmar.

Pipeline de mídia

Da imagem ao feed, sem hospedagem manual

Cada imagem é uma URL pública HTTPS ou base64/bytes: uploads viram JPEG (Pillow) e vão para um bucket público do Supabase Storage, de onde a Meta os busca. Cada media container é checado até FINISHED antes do publish.

Status

LIVE em produção

Deploy multi-tenant em mcp-instagram.vercel.app — tokens cifrados no Supabase e nós somos o OAuth 2.1 Authorization Server. Mesmo stack dos MCPs de Meta Ads, Google Ads, GTM e Cloudflare.

O que ele já faz

O catálogo completo de ferramentas

6 tools e 1 prompt — da autenticação ao publish do carrossel. Tudo abaixo já está implementado e no ar.

Autenticação

4 tools
  • instagram_loginInicia a conexão de uma conta via Instagram Business Login (no hosted, o connector cuida disso automaticamente).
  • instagram_submit_callbackFinaliza o login submetendo a URL de redirect colada.
  • instagram_token_statusDiz se a credencial é válida e quantos dias faltam para expirar.
  • instagram_refresh_tokenRenova o token de longa duração (no-op se ele tem menos de 24h).

Conta conectada

1 tool
  • get_connected_accountA conta profissional conectada — id e username. Um token = uma conta; sem lista de contas para errar.

Publicação

1 · confirm=true
  • create_carouselPublica um carrossel de 2 a 10 imagens. Com confirm=false devolve só o preview; o feed muda apenas com confirm=true.

Prompt MCP

1 prompt
  • plan_carousel_postRecebe um tema, rascunha os slides e a legenda, e conduz o create_carousel de preview → confirmação explícita.

Do tema ao feed numa conversa: plan_carousel_postcreate_carousel (preview) → confirm=true → post no ar.

Modelo de segurança dos writes

O Claude não posta nada sozinho

Um post no feed fala com a sua audiência em seu nome. Por isso cada publish passa por barreiras explícitas — você está sempre no controle do que aparece no seu perfil.

Preview antes de publicar

create_carousel com confirm=false devolve o plano do post — imagens, ordem e legenda — sem tocar na API de publish.

Publicar exige confirm=true

O feed só muda com confirmação explícita. O prompt plan_carousel_post segue o mesmo rito: rascunho → preview → confirmação.

Container só publica FINISHED

O status_code de cada media container é checado até FINISHED antes do publish — nada de post pela metade por mídia ainda em processamento.

Tenant nunca é argumento

O tenant é derivado do access token do Authorization Server embutido — cada login enxerga só a própria conta. Nenhuma tool aceita "de qual cliente".

Tokens cifrados em repouso

Tokens de longa duração com AES-256-GCM no Supabase, RLS default-deny e service key só no servidor. O instagram_token_status mostra a validade e os dias até expirar.

Mídia temporária, apagada em 72h

Uploads ficam no bucket público só o tempo necessário para a Meta buscá-los: o cron cleanup-media apaga cada objeto 72 horas depois do publish.

Como conectar

Em pé em poucos minutos

Adicione o connector, faça login na sua conta Instagram e publique o primeiro carrossel na mesma conversa. Zero instalação — o servidor é hospedado por nós.

Serviço hospedado

Hospedado — mcp-instagram.vercel.app

Adicione o servidor MCP como connector no Claude e faça login. Nada para instalar; nós cuidamos do OAuth e dos tokens.

  1. Adicione o connector. No Claude.ai → Configurações → Conectores → Adicionar conector personalizado, cole https://mcp-instagram.vercel.app/api/mcp. No Claude Code, use o comando abaixo.
    # Claude Code
    claude mcp add --transport http \
      instagram https://mcp-instagram.vercel.app/api/mcp
  2. Faça login no Instagram. O handshake OAuth (nosso Authorization Server → Instagram Business Login) roda automaticamente ao conectar; no Claude Code, complete via /mcp.
  3. Confirme. Rode instagram_token_status para validar a credencial e get_connected_account para ver a conta conectada. Pronto para publicar.
Depois de conectar

Primeiro post — o fluxo na prática

Do tema ao carrossel publicado, tudo dentro da mesma conversa com o Claude.

  1. Peça o post. Use o prompt plan_carousel_post com o tema — o Claude rascunha os slides e a legenda.
    # no Claude
    plan_carousel_post("3 dicas de Claude Code")
  2. Revise o preview. create_carousel com confirm=false devolve imagens, ordem e legenda — sem publicar nada.
  3. Confirme. Aprovou? O mesmo call com confirm=true publica o carrossel na conta conectada.

Perguntas frequentes

Ficou alguma dúvida? Escreva para bruno@b2tech.io.

Quanto custa?
O MCP Instagram é grátis. Você só precisa de uma conta Instagram profissional (Business ou Creator).
É seguro? O Claude pode postar sozinho?
Não. create_carousel com confirm=false devolve apenas um preview do post — imagens, ordem e legenda. O feed só muda quando você confirma com confirm=true, e o prompt plan_carousel_post segue o mesmo rito.
Que tipo de conta eu preciso?
Uma conta Instagram profissional (Business ou Creator). O servidor usa a Instagram API with Instagram Login — o login é feito direto na conta Instagram, sem exigir uma Página do Facebook vinculada.
Como funciona o token de 60 dias?
O Instagram Business Login troca o código de autorização por um token de curta duração e depois por um token de longa duração (~60 dias), renovado no lugar — não existe refresh token. instagram_refresh_token renova na hora (no-op se o token tem menos de 24h) e o cron diário refresh-tokens estende automaticamente os que estão perto de expirar.
Onde ficam minhas imagens?
URLs públicas HTTPS de JPEG são usadas direto. Uploads (base64/bytes) são convertidos para JPEG com Pillow e hospedados num bucket público do Supabase Storage só até a Meta buscá-los — o cron cleanup-media apaga cada objeto 72 horas depois do publish.
Existe limite de publicação?
A API do Instagram permite 100 posts publicados por conta a cada 24 horas — e um carrossel inteiro conta como um post só. Para publicação assistida pelo Claude, o limite é confortável.
Posso rodar o servidor na minha máquina?
Não — o código do servidor é privado e ele é oferecido como serviço hospedado em mcp-instagram.vercel.app. Você só adiciona o connector no Claude e faz login na sua conta; o isolamento é por tenant, com tokens cifrados (AES-256-GCM) no servidor.
Comece agora

Pare de montar post no celular.
Peça ao Claude e ele planeja, mostra o preview e publica.

Carrosséis de 2 a 10 imagens na sua conta profissional, com OAuth embutido, pipeline de mídia automático e publish só com confirm=true. Grátis e no ar.

6 tools + 1 prompt · OAuth embutido · multi-tenant na Vercel