MCP — interfaccia programmatica

Oltre a REST, GetMyBot offre un'interfaccia MCP (Model Context Protocol) pensata per agenti AI e assistenti che invocano strumenti anziché chiamare endpoint manualmente. REST rimane l'interfaccia principale; MCP è una comoda alternativa per scenari agentici. I nomi di strumenti, risorse e prompt elencati qui coincidono con quelli pubblicati dal server.

Indirizzo e autorizzazione

MCP è disponibile all'endpoint /mcp (trasporto Streamable HTTP, metodo POST). L'autorizzazione usa lo stesso token personale utilizzato per REST: header Authorization: Bearer mbp_…. Non è necessario creare token separati: un singolo PAT funziona sia per REST che per MCP. Ogni strumento richiede lo stesso scope del corrispondente endpoint REST; un token con scope * ha accesso completo. Se lo scope non è sufficiente, la chiamata viene rifiutata (fail-closed), come in REST.

Connessione a Claude Code / Cursor

Aggiungi GetMyBot come server MCP remoto. Esempio di configurazione (mcpServers) — sostituisci il tuo dominio e token:

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

Claude Code: inserisci questo blocco nel file .mcp.json del progetto oppure aggiungi il server con il comando claude mcp add. Cursor: aggiungi lo stesso blocco nelle impostazioni MCP (Settings → MCP → Add server). Dopo la connessione, il client riceve automaticamente l'elenco di strumenti, risorse e prompt.

Strumenti per dominio

Il server pubblica 100 strumenti — copertura completa del REST accessibile tramite PAT. Di seguito trovi lo strumento e lo scope richiesto. I nomi seguono il formato verbo_sostantivo (snake_case).

Bot (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

Canali e template WhatsApp (bots)

Il supporto multicanale (Telegram + WhatsApp + VK) è disponibile anche via MCP. I canali e i template sono regolati dagli scope condivisi bots:read / bots:write — non esiste uno scope separato per i canali.

  • list_channelsbots:read — elenca i canali di un bot (platform tg/wa/vk, external_id, name, enabled, callback_url).
  • connect_channelbots:write — collega un canale WhatsApp o VK (platform + creds).
  • delete_channelbots:write — scollega un canale.
  • list_wa_templatesbots:read — il catalogo dei template WhatsApp del canale (name, language, status, category, body).
  • sync_wa_templatesbots:write — risincronizza il catalogo dei template da Meta.
  • create_wa_templatebots:write — crea un template WhatsApp e lo invia alla moderazione di Meta.
  • update_wa_templatebots:write — modifica un template (negli stati APPROVED/REJECTED/PAUSED).
  • delete_wa_templatebots:write — elimina un template.

I canali Telegram si collegano tramite connect_bot, non connect_channel — quest'ultimo gestisce solo wa e vk. Categorie dei template: MARKETING / UTILITY / AUTHENTICATION. create_wa_template invia subito la bozza alla moderazione di Meta; lo stato cambia in modo asincrono — rileggilo tramite list_wa_templates (aggiornando il catalogo con sync_wa_templates se necessario).

Il caricamento dell'header multimediale di un template (immagine/video/documento) via MCP non è ancora supportato — usa l'interfaccia web o il REST POST /api/bots/{botID}/channels/{channelID}/templates/media.

Reazioni (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

L'importazione tramite import_reactions crea le reazioni ma salta i media: nel contesto MCP non è disponibile la verifica premium né il ricevitore Telegram per i file. Se il bundle SamBot contiene immagini, video o documenti, usa l'importazione REST completa (POST /api/bots/{botID}/reactions/import), che trasferisce anche i media.

Trasmissioni (broadcasts)

  • start_broadcastbroadcasts:write (opz. paid, opz. segmento per etichette)
  • get_broadcastbroadcasts:write
  • pause_broadcastbroadcasts:write
  • resume_broadcastbroadcasts:write
  • cancel_broadcastbroadcasts:write

Etichette (labels)

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

Raccolte e record (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

Scenari (flows)

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

Integrazioni, connessioni, credenziali (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

Media (media)

  • upload_mediamedia:write
  • get_mediamedia:write

Template (templates)

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

Iscritti, chat, dialoghi — lettura (subscribers)

  • list_subscriberssubscribers:read (paginazione offset/limit, filtri per etichette)
  • list_chatssubscribers:read
  • list_dialogssubscribers:read
  • read_dialogsubscribers:read
  • send_dialog_messagesubscribers:write
  • send_dialog_reactionsubscribers:write
  • transcribe_dialog_messagesubscribers:write

Statistiche e analisi (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

Fatturazione — lettura (billing)

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

Invio messaggi

  • send_messagebroadcasts:write — invia un messaggio a nome del bot; il consumo del saldo viene calcolato automaticamente in base al proprietario del token.

Risorse

Oltre agli strumenti, il server espone risorse che puoi leggere per non dover indovinare la struttura:

  • mybot://openapi.yaml — specifica OpenAPI completa (la stessa restituita da /openapi.yaml).
  • mybot://reference — riferimento compatto: elenco degli strumenti con i relativi scope e convenzioni (URL base, paginazione, formato degli errori, limiti).
  • mybot://schemas/reaction, mybot://schemas/trigger, mybot://schemas/action, mybot://schemas/flow, mybot://schemas/collection — schemi JSON delle configurazioni. Particolarmente utili per generare correttamente reazioni (trigger, condizioni, chat, azioni), scenari e raccolte.
  • mybot://bots — elenco dinamico dei tuoi bot (contesto rapido senza chiamare uno strumento).

Prompt

Scenari pronti all'uso (slash-command nel client MCP):

  • setup_autoresponder — configura un bot di risposta automatica (argomenti: bot, tema/insieme di domande).
  • segment_broadcast — trasmissione per segmento di etichette (argomenti: bot, etichette, reazione/testo).
  • diagnose_reaction — analizza perché una reazione non si attiva (legge la reazione, la reaction-health e l'ordine).
  • import_from_sambot — esegui l'importazione di un bundle SamBot e verifica il risultato.
  • weekly_report — riepilogo di statistiche e analisi del bot per un periodo.

Quando scegliere MCP e quando REST

  • Stai scrivendo un'integrazione, una sincronizzazione, uno script o un pannello personalizzato — usa REST.
  • Stai collegando GetMyBot a un assistente AI o a un agente che supporta MCP — usa /mcp.

Entrambe le interfacce funzionano con lo stesso token e rispettano gli stessi permessi del proprietario. Se non trovi uno strumento adatto, il corrispondente endpoint REST è sempre disponibile nel riferimento interattivo.

Prossimi passi