Skip to main content
Glama

insta-pilot

Instagram para Claude. Servidor MCP + skill que le da a Claude Code control de tus cuentas de Instagram mediante la API oficial (sin scraping frágil ni riesgo de ban): exportar toda la cuenta, publicar reels/fotos/carruseles/historias, leer y responder comentarios, leer y contestar DMs, analítica y una bandeja unificada de "lo que falta por responder".

Tú:     responde a los comentarios de hoy
Claude: ig_inbox → 7 comentarios sin responder, 2 DMs
        [tabla con respuestas propuestas en tu tono]
        ¿Las publico?
Tú:     sí
Claude: ig_comment_reply ×7 ✓

Qué incluye

Área

Tools

Cuentas

ig_accounts, ig_use_account (multi-cuenta)

Perfil y scraping

ig_profile, ig_media_list, ig_media_get, ig_export (JSON + CSV de todo)

Métricas

ig_media_insights, ig_account_insights (+ demografía), ig_analytics (top posts, mejores horas)

Comentarios

ig_comments, ig_comments_unanswered, ig_comment_reply, ig_comment_hide, ig_comment_delete, ig_comments_toggle

Publicar

ig_publish_reel, ig_publish_image, ig_publish_carousel, ig_publish_story, ig_publishing_limit

DMs

ig_conversations, ig_messages, ig_send_message

Triage

ig_inbox — comentarios sin responder + DMs que esperan respuesta

Seguridad por diseño

  • Lista de bloqueo: cuentas que la herramienta se niega a tocar aunque tengas su token (insta-pilot block <usuario> o INSTA_PILOT_BLOCKLIST).

  • dry_run en todas las escrituras: Claude enseña lo que haría antes de hacerlo.

  • Modo solo lectura: INSTA_PILOT_READ_ONLY=1 oculta todas las tools de escritura.

  • Auditoría: cada escritura queda en ~/.insta-pilot/audit.jsonl.

  • Tokens en local (~/.insta-pilot/accounts.json), renovación automática antes de que caduquen (60 días).

  • Reintentos con backoff ante límites de la API.

Related MCP server: instagram-mcp

Instalación

Requisitos: Node 20+, una cuenta de Instagram profesional (Business o Creator, se cambia gratis en Ajustes → Tipo de cuenta).

git clone https://github.com/dfadify-web/insta-pilot && cd insta-pilot
npm install && npm link
insta-pilot install          # registra el MCP en Claude Code + instala la skill

Conseguir el token (5 min, una vez por cuenta)

  1. developers.facebook.com/apps → Crear app → caso de uso "Gestionar mensajes y contenido en Instagram".

  2. En API de Instagram → Configuración de la API con inicio de sesión de Instagram, añade tu cuenta (en Roles → Probadores de Instagram si te lo pide y acepta la invitación en Instagram → Ajustes → Apps y sitios web).

  3. Pulsa Generar token junto a la cuenta y concede los permisos instagram_business_basic, instagram_business_content_publish, instagram_business_manage_comments, instagram_business_manage_messages, instagram_business_manage_insights.

  4. insta-pilot add <TOKEN>
    insta-pilot doctor

En modo desarrollo de la app todo funciona para tus propias cuentas; no hace falta pasar la revisión de Meta.

Subir archivos locales

La API solo acepta URLs públicas. Para subir un .mp4 de tu disco, insta-pilot lo sube temporalmente a tu Vercel Blob y lo borra al publicar:

# Vercel → Storage → Blob → crear store → copiar el token read-write
setx INSTA_PILOT_BLOB_TOKEN "vercel_blob_rw_..."

Sin token, pasa una URL pública en video / image.

CLI

insta-pilot add <TOKEN> [--secret APP_SECRET]   añadir cuenta (con --secret canjea un token corto por uno de 60 días)
insta-pilot list | use <u> | remove <u> | block <u>
insta-pilot refresh [u]       renovar token
insta-pilot doctor            comprobar tokens y permisos
insta-pilot inbox [u]         pendiente de responder
insta-pilot export [u] [--dms]

Variables de entorno

Variable

Uso

INSTA_PILOT_HOME

Carpeta de config (por defecto ~/.insta-pilot)

INSTA_PILOT_READ_ONLY

1 = sin escrituras

INSTA_PILOT_BLOCKLIST

Cuentas bloqueadas extra, separadas por comas

INSTA_PILOT_BLOB_TOKEN

Token Vercel Blob para subir archivos locales

INSTA_PILOT_API_VERSION

Versión Graph API (por defecto v23.0)

Límites (de Instagram, no de la herramienta)

  • ~50 publicaciones por cuenta cada 24 h.

  • DMs: solo responder a conversaciones que inició la otra persona, dentro de 24 h.

  • No da acceso a la lista de seguidores ni a likes por usuario.

Desarrollo

npm test     # node:test con fetch simulado, sin tocar Instagram

MIT © dfadify-web

Available Tools

24 tools
ig_account_insightsA
Read-only

Métricas de la cuenta en un rango (por defecto últimos 28 días). Con breakdown (age|gender|country|city) devuelve demografía de seguidores.

Inputs: since, until, account, metrics, +1 more.

ig_accountsA
Read-only

Lista las cuentas configuradas, la activa y la lista de bloqueo.

Inputs: no named parameters.

ig_analyticsC
Read-only

Análisis de rendimiento: top/peores publicaciones, mejores días y horas para publicar, medias de engagement y views.

Inputs: posts, account, time_zone.

ig_comment_deleteB
Destructive

Elimina un comentario (irreversible).

Inputs: comment_id (required), account, dry_run.

ig_comment_hideB

Oculta (o muestra con hide=false) un comentario.

Inputs: comment_id (required), hide, account, dry_run.

ig_comment_replyC

Responde a un comentario.

Inputs: message (required), comment_id (required), account, dry_run.

ig_commentsC
Read-only

Comentarios de una publicación con sus respuestas.

Inputs: media_id (required), limit, account.

ig_comments_toggleC

Activa o desactiva los comentarios de una publicación.

Inputs: enabled (required), media_id (required), account, dry_run.

ig_comments_unansweredB
Read-only

Comentarios de otras personas a los que la cuenta aún no ha respondido, en las últimas N publicaciones.

Inputs: posts, account, max_age_days.

ig_conversationsB
Read-only

Lista conversaciones de DM con el último mensaje y si esperan respuesta.

Inputs: limit, account, only_awaiting_reply.

ig_exportB
Read-only

Scrapea TODA la cuenta a disco (perfil, todas las publicaciones, comentarios, métricas y opcionalmente DMs) en JSON + CSV.

Inputs: account, out_dir, with_dms, max_media, +2 more.

ig_inboxB
Read-only

Bandeja unificada: comentarios sin responder + DMs que esperan respuesta. Punto de partida para "responde a todo".

Inputs: posts, account, max_age_days.

ig_media_getC
Read-only

Detalle de una publicación (incluye hijos de carrusel).

Inputs: media_id (required), account.

ig_media_insightsB
Read-only

Métricas de una publicación: views, reach, shares, saves, tiempo medio de visionado (reels)…

Inputs: media_id (required), account.

ig_media_listB
Read-only

Lista publicaciones (reels, posts, carruseles) con likes, comentarios y permalink, de más reciente a más antigua.

Inputs: limit, account.

ig_messagesC
Read-only

Mensajes de una conversación (más recientes primero).

Inputs: conversation_id (required), limit, account.

ig_profileB
Read-only

Perfil de la cuenta: bio, seguidores, seguidos, nº de publicaciones.

Inputs: account.

ig_publish_imageC

Publica una foto (JPEG).

Inputs: image (required), account, caption, dry_run, +2 more.

ig_publishing_limitB
Read-only

Cuota de publicaciones usada en las últimas 24 h (límite de la API).

Inputs: account.

ig_publish_reelA

Publica un reel (MP4 vertical 9:16, 3s–15min). Espera a que Instagram procese el vídeo y devuelve el permalink.

Inputs: video (required), cover, account, caption, +6 more.

ig_publish_storyC

Publica una historia (imagen o vídeo).

Inputs: media (required), account, dry_run.

ig_send_messageA

Envía un DM de texto. Solo funciona si la persona escribió en las últimas 24 h (regla de Instagram). recipient_id = with.id de ig_conversations.

Inputs: text (required), recipient_id (required), account, dry_run.

ig_use_accountC
Read-only

Cambia la cuenta activa.

Inputs: username (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

    TDQS

    B3.2/5.0

    Scored across 24 tools

    Disambiguation4/5

    Most tools target clearly distinct resources and actions (media list/get/insights, comment reply/hide/delete, publish variants, DM tools). Mild overlap exists between ig_account_insights and ig_analytics, and between ig_inbox and the comment/DM listing tools, but the descriptions clarify the boundaries (demographic metrics vs. performance analysis; aggregate vs. raw lists).

    Naming Consistency4/5

    Consistent ig_ prefix and snake_case verbs throughout (ig_publish_*, ig_comment_*, ig_media_*). Minor deviations: singular vs. plural (ig_comment_reply vs ig_comments, ig_comments_toggle) and some noun-only names (ig_profile, ig_inbox) break the strict verb_noun pattern, but it stays readable.

    Tool Count4/5

    24 tools is on the heavier side but genuinely justified by the breadth of an Instagram management domain spanning accounts, media, publishing, comments, DMs, and analytics. Each area has a small coherent cluster, so few tools feel redundant.

    Completeness4/5

    Coverage is strong across the lifecycle: reading, publishing, comment moderation, DM handling, analytics, and bulk export. Gaps remain around editing/deleting published media or captions and follower/follow management, though these are largely restricted by the Instagram API.

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      Not graded
      maintenance
      Enables sending and receiving Instagram Direct Messages, managing conversations, downloading media, viewing user profiles and stories, and interacting with posts through natural language in Claude.
      MIT
    • A
      license
      B
      quality
      B
      maintenance
      Enables Claude to read and send Instagram DMs, manage threads and message requests, send media, and run autonomous conversations via the /dm skill.
      27
      3
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Connects Claude to Instagram through Meta's official API, enabling users to retrieve account insights, analyze professional profiles, publish photos/carousels/reels/stories, manage comments, read and respond to Direct messages, and call any Graph API endpoint.
      36 npm
      MIT
    • F
      license
      Not graded
      quality
      A
      maintenance
      Enables sending, reading, and managing Instagram Direct Messages from your own account through Claude Desktop or Cursor, including sending text, photo, and video messages, listing and searching chats and threads, downloading media from messages, and looking up user profiles, followers, posts, and stories. It also supports marking messages as seen and checking pending inbox threads.
      -