MCP — interfaz programática

Además de REST, GetMyBot ofrece una interfaz MCP (Model Context Protocol) diseñada para agentes e IA que invocan herramientas en lugar de llamar endpoints manualmente. REST sigue siendo la interfaz principal; MCP es una alternativa cómoda para escenarios agénticos. Los nombres de herramientas, recursos y prompts que aparecen a continuación coinciden con lo que publica el servidor.

Dirección y autorización

MCP está disponible en el endpoint /mcp (transporte Streamable HTTP, método POST). La autorización usa el mismo token personal que para REST: cabecera Authorization: Bearer mbp_…. No necesitas crear tokens adicionales: un único PAT funciona tanto para REST como para MCP. Cada herramienta requiere el mismo scope que el endpoint REST correspondiente; un token con scope * tiene acceso completo. Si el scope es insuficiente, la llamada se rechaza (fail-closed), igual que en REST.

Conexión con Claude Code / Cursor

Añade GetMyBot como servidor MCP remoto. Ejemplo de configuración (mcpServers) — sustituye tu dominio y token:

{
  "mcpServers": {
    "mybot": {
      "url": "https://tu-dominio/mcp",
      "headers": {
        "Authorization": "Bearer mbp_TU_TOKEN"
      }
    }
  }
}

Claude Code: coloca este bloque en .mcp.json del proyecto o añade el servidor con el comando claude mcp add. Cursor: añade el mismo bloque en los ajustes MCP (Settings → MCP → Add server). Tras conectar, el cliente recibirá automáticamente la lista de herramientas, recursos y prompts.

Herramientas por dominio

El servidor publica 100 herramientas — cobertura completa del REST accesible por PAT. A continuación: la herramienta y el scope requerido. Nombres en formato verbo_sustantivo (snake_case).

Bots (bots)

  • list_botsbots:read
  • get_botbots:read
  • validate_bot_tokenbots:write
  • connect_botbots:write
  • update_botbots:write
  • delete_botbots:write
  • sync_botbots:write
  • change_bot_tokenbots:write
  • transfer_botbots:write
  • get_bot_settingssettings:read
  • update_bot_settingssettings:write

Canales y plantillas de WhatsApp (bots)

El soporte multicanal (Telegram + WhatsApp + VK) también está disponible por MCP. Los canales y las plantillas están protegidos por los scopes compartidos bots:read / bots:write — no hay un scope de canal aparte.

  • list_channelsbots:read — listar los canales de un bot (plataforma tg/wa/vk, external_id, name, enabled, callback_url).
  • connect_channelbots:write — conectar un canal de WhatsApp o VK (platform + credenciales).
  • delete_channelbots:write — desconectar un canal.
  • list_wa_templatesbots:read — el catálogo de plantillas de WhatsApp del canal (name, language, status, category, body).
  • sync_wa_templatesbots:write — resincronizar el catálogo de plantillas desde Meta.
  • create_wa_templatebots:write — crear una plantilla de WhatsApp y enviarla a Meta para revisión.
  • update_wa_templatebots:write — editar una plantilla (en estado APPROVED/REJECTED/PAUSED).
  • delete_wa_templatebots:write — eliminar una plantilla.

Los canales de Telegram se conectan mediante connect_bot, no mediante connect_channel — este último solo maneja wa y vk. Categorías de plantillas: MARKETING / UTILITY / AUTHENTICATION. create_wa_template envía el borrador a Meta para revisión de inmediato; el estado cambia de forma asíncrona — vuelve a leerlo con list_wa_templates (actualizando el catálogo con sync_wa_templates si hace falta).

Subir un encabezado multimedia de plantilla (imagen/vídeo/documento) por MCP aún no está soportado — usa la interfaz web o REST POST /api/bots/{botID}/channels/{channelID}/templates/media.

Reacciones (reactions)

  • list_reactionsreactions:read
  • get_reactionreactions:read
  • create_reactionreactions:write
  • update_reactionreactions:write
  • delete_reactionreactions:write
  • import_reactionsreactions:write
  • test_formulareactions:write
  • reorder_reactionreactions:write
  • get_reaction_linksreactions:read
  • list_reaction_foldersreactions:read
  • create_reaction_folderreactions:write
  • update_reaction_folderreactions:write
  • delete_reaction_folderreactions:write
  • add_reaction_to_folderreactions:write
  • remove_reaction_from_folderreactions:write
  • add_reactions_to_folderreactions:write

La importación mediante import_reactions crea reacciones pero omite los medios: en el contexto MCP no existe verificación premium ni receptor Telegram para archivos. Si el bundle SamBot incluye imágenes, vídeos o documentos, usa la importación REST completa (POST /api/bots/{botID}/reactions/import), que transfiere también los medios.

Difusiones (broadcasts)

  • start_broadcastbroadcasts:write (opt. paid, opt. segmento por etiquetas)
  • get_broadcastbroadcasts:write
  • pause_broadcastbroadcasts:write
  • resume_broadcastbroadcasts:write
  • cancel_broadcastbroadcasts:write

Etiquetas (labels)

  • list_labelslabels:read
  • create_labellabels:write
  • delete_labellabels:write
  • set_label_favoritelabels:write

Colecciones y registros (collections)

  • list_collectionscollections:read
  • create_collectioncollections:write
  • update_collectioncollections:write
  • delete_collectioncollections:write
  • list_recordscollections:read
  • create_recordcollections:write
  • update_recordcollections:write
  • delete_recordcollections:write

Escenarios (flows)

  • list_flowsflows:read
  • get_flowflows:read
  • create_flowflows:write
  • update_flowflows:write
  • delete_flowflows:write

Integraciones, conexiones y credenciales (integrations)

  • list_integrationsintegrations:read
  • get_integration_sheetsintegrations:read
  • get_integration_statusintegrations:read
  • create_integrationintegrations:write
  • update_integrationintegrations:write
  • delete_integrationintegrations:write
  • rotate_integration_tokenintegrations:write
  • list_connectionsintegrations:read
  • create_connectionintegrations:write
  • test_connectionintegrations:write
  • update_connectionintegrations:write
  • delete_connectionintegrations:write
  • list_credentialsintegrations:read
  • create_credentialintegrations:write
  • update_credentialintegrations:write
  • delete_credentialintegrations:write

Medios (media)

  • upload_mediamedia:write
  • get_mediamedia:write

Plantillas (templates)

  • list_templatestemplates:read
  • delete_templatetemplates:write
  • create_template_from_bottemplates:write
  • apply_templatetemplates:write

Suscriptores, chats y diálogos — lectura (subscribers)

  • list_subscriberssubscribers:read (paginación offset/limit, filtros por etiquetas)
  • list_chatssubscribers:read
  • list_dialogssubscribers:read
  • read_dialogsubscribers:read
  • send_dialog_messagesubscribers:write
  • send_dialog_reactionsubscribers:write
  • transcribe_dialog_messagesubscribers:write

Estadísticas y analítica (stats)

  • get_statsstats:read
  • get_stats_summarystats:read
  • get_stats_recentstats:read
  • get_stats_logstats:read
  • get_reaction_healthstats:read
  • get_analyticsstats:read
  • get_analytics_chatsstats:read
  • get_funnelstats:read

Facturación — lectura (billing)

  • get_balancebilling:read
  • list_tariffsbilling:read
  • get_transactionsbilling:read

Envío de mensajes

  • send_messagebroadcasts:write — envía un mensaje en nombre del bot; el consumo de saldo se registra automáticamente según el propietario del token.

Recursos

Además de las herramientas, el servidor expone recursos que puedes leer para no tener que adivinar la estructura:

  • mybot://openapi.yaml — especificación OpenAPI completa (la misma que se sirve en /openapi.yaml).
  • mybot://reference — referencia compacta: lista de herramientas con sus scopes y convenciones (URL base, paginación, formato de errores, límites).
  • mybot://schemas/reaction, mybot://schemas/trigger, mybot://schemas/action, mybot://schemas/flow, mybot://schemas/collection — esquemas JSON de configuraciones. Lo más valioso para generar correctamente reacciones (disparador, condiciones, chats, acciones), escenarios y colecciones.
  • mybot://bots — lista dinámica de tus bots (contexto rápido sin invocar una herramienta).

Prompts

Escenarios predefinidos (slash-comandos en el cliente MCP):

  • setup_autoresponder — construye un bot de respuesta automática (argumentos: bot, tema/conjunto de preguntas).
  • segment_broadcast — difusión segmentada por etiquetas (argumentos: bot, etiquetas, reacción/texto).
  • diagnose_reaction — analiza por qué una reacción no se activa (lee la reacción, reaction-health y el orden).
  • import_from_sambot — ejecuta la importación de un bundle SamBot y verifica el resultado.
  • weekly_report — resumen de estadísticas y analítica del bot para un período.

Cuándo usar MCP y cuándo REST

  • Si estás construyendo una integración, sincronización, script o panel propio, usa REST.
  • Si estás conectando GetMyBot a un asistente o agente de IA que admite MCP, usa /mcp.

Ambas interfaces funcionan con el mismo token y se rigen por los mismos permisos del propietario. Si no encuentras una herramienta para tu tarea, el endpoint REST correspondiente siempre está disponible en la referencia interactiva.

Qué sigue