MCP

Serveur MCP

Interroge Claude, ChatGPT ou Cursor sur tes leads, avec tes mots. Le serveur MCP de Gemlead donne aux assistants IA les données et les actions de l'API, avec ton accord.

Ce que c'est

Le Model Context Protocol est le standard ouvert que les assistants IA utilisent pour appeler des outils externes. Connecte Gemlead une fois, et ton assistant peut chercher tes leads chauds, lire tes conversations et y répondre, suivre les résultats d'une campagne ou lancer un export, directement dans le chat. Il ne voit que le compte X que tu connectes, et les règles de l'API s'appliquent, avec les plans Business et Enterprise et les mêmes scopes.

Le serveur utilise le transport Streamable HTTP. Claude et ChatGPT se connectent avec OAuth, Cursor et Claude Code peuvent envoyer une clé API en bearer token.

URL du serveur
https://gemlead.ai/mcp

Configuration

  1. Dans Claude, ouvre Customize, puis Connectors.
  2. Clique sur Add, puis sur Add custom connector.
  3. Nomme-le Gemlead et colle https://gemlead.ai/mcp comme URL du serveur.
  4. Garde Use Claude's published identity comme client OAuth, puis clique sur Add.
  5. Clique sur Connect, connecte-toi à Gemlead et choisis le compte X.

Dans un chat, active Gemlead depuis le menu +, dans Connectors. Claude Desktop et les apps mobiles utilisent les mêmes connecteurs que ton compte Claude, rien d'autre à configurer.

Sur Team et Enterprise, un propriétaire ajoute Gemlead dans Organization settings, Connectors, puis chaque membre clique sur Connect. Le plan Free de Claude permet un seul connecteur personnalisé.

Autres clients

Tout client compatible Streamable HTTP se connecte de la même façon, avec l'URL et un header Authorization. Teste le serveur avec le MCP Inspector.

Terminal
npx @modelcontextprotocol/inspector --cli https://gemlead.ai/mcp \
  --transport http \
  --header "Authorization: Bearer $GEMLEAD_API_KEY" \
  --method tools/list

Plusieurs comptes X

Une connexion correspond à un seul compte X. Pour en gérer plusieurs en même temps, ajoute Gemlead une fois par compte, chacun avec sa propre URL de serveur, https://gemlead.ai/mcp/ suivi d'un nom que tu choisis, comme https://gemlead.ai/mcp/acme et https://gemlead.ai/mcp/julien. Le nom n'est qu'une étiquette, en lettres, chiffres, - et _.

Connecte chacun et choisis son compte X sur la page de consentement de Gemlead. Un nom identique au nom d'utilisateur X du compte le sélectionne automatiquement. Si les comptes sont rattachés à des logins Gemlead différents, connecte-toi au bon avant chaque connexion.

Chaque connexion ne lit et n'agit que sur son propre compte, et dit à l'assistant de quel @handle il s'agit, donc un DM part toujours du compte que tu as demandé. Nomme chaque connecteur d'après son compte, comme Gemlead Acme, pour les distinguer dans le chat.

Outils

Le serveur a 67 outils, un par action de l'API. Les outils de lecture ne font que lire. Les outils d'écriture modifient des données ou agissent sur X depuis ton compte. Ils nécessitent donc le scope write, et l'assistant te demande ton accord avant d'envoyer, de lancer ou de supprimer quoi que ce soit.

Clique sur le tag MCP d'un endpoint dans la référence API pour aller directement à son outil.

Aucun outil ne définit ni ne retire le code X Chat, et c'est voulu, pour qu'un code ne passe jamais par un chat IA. Définis-le dans l'app ou avec Définir le code X Chat.

Leads

  • search_leadsScope read
    Les leads, avec les filtres de Lister les leads, comme les leads chauds d'un persona trouvés cette semaine.
    Facultatifpersona_idstatusscore_minscore_maxhotscored_afterscored_beforefound_afterfound_beforeorderlimitcursor
  • get_leadScope read
    Un lead avec son profil, son score et la raison de ce score.
    Obligatoirelead_id
  • update_leadScope write
    Ajoute des métadonnées à un lead, ou le clôture quand tu en as fini avec lui.
    Obligatoirelead_id
    Facultatifmetadatastatus
  • get_lead_originScope read
    Comment Gemlead a trouvé un lead, le post qui l'a fait remonter et ses campagnes.
    Obligatoirelead_id
  • lead_actionScope write
    Relit le profil X d'un lead, le suit ou arrête de le suivre depuis ton compte X, ou le rescore, ce qui coûte jusqu'à 2 crédits par lead : 1 pour le premier tri, 1 de plus pour le score approfondi s'il passe ce tri.
    Obligatoirelead_idaction
  • convert_lead_to_sourceScope write
    Fait d'un lead une source de son persona, pour lire ses abonnements, ses abonnés ou ceux qui commentent ses posts.
    Obligatoirelead_id
    Facultatifmethod
  • delete_leadScope write
    Supprime un lead et le retire de toutes les campagnes. L'assistant te demande d'abord ton accord.
    Obligatoirelead_id

Personas

  • list_personasScope read
    Tes personas avec leurs compteurs et les chiffres du jour.
    Facultatiflimitcursor
  • get_personaScope read
    Un persona et ses stats.
    Obligatoirepersona_id
  • create_personaScope write
    Crée un persona avec sa description, ses mots-clés, ses concurrents et ses sources de départ. Le scoring coûte jusqu'à 2 crédits par lead : 1 pour le premier tri, 1 de plus pour le score approfondi s'il passe ce tri.
    Obligatoirenamedescription
    Facultatifwebsitemarketkeywordscompetitorsavoidmin_followersinclude_closed_inboxesauto_expandauto_expand_directiondaily_scoring_limitsources
  • get_persona_settingsScope read
    Tous les réglages d'un persona, avec ses recherches par mots-clés et ses comptes concurrents.
    Obligatoirepersona_id
  • update_personaScope write
    Modifie les réglages d'un persona, l'active ou le met en pause.
    Obligatoirepersona_id
    Facultatifnamewebsitedescriptionmarketkeywordscompetitorsavoidmin_followersinclude_closed_inboxesauto_expandauto_expand_directiondaily_scoring_limitstatus
  • delete_personaScope write
    Supprime un persona avec ses sources et les leads qui ne sont passés par aucune campagne. L'assistant te demande d'abord ton accord.
    Obligatoirepersona_id
  • reorder_personasScope write
    Définit l'ordre de tes personas.
    Obligatoirepersona_ids
  • suggest_personaScope write
    Demande à l'IA d'écrire un persona à partir d'un nom et de ce que tu vends.
    Obligatoirepersona_name
    Facultatifwebsitebriefcurrent_descriptioninstruction
  • get_persona_suggestionScope read
    La dernière suggestion de persona, pending, ready avec son texte, ou error.
    Aucun argument
  • get_persona_sharingScope read
    Les comptes X du propriétaire qui partagent un persona, et ceux avec lesquels il peut être partagé.
    Obligatoirepersona_id
  • update_persona_sharingScope write
    Choisit les autres comptes X du propriétaire qui partagent un persona. Réservé au propriétaire.
    Obligatoirepersona_idaccount_ids

Sources

  • list_sourcesScope read
    Les sources d'un persona avec leurs stats, ou l'une d'elles.
    Obligatoirepersona_id
    Facultatifsource_idlimitcursorpaused
  • add_sourceScope write
    Ajoute un compte X comme source d'un persona.
    Obligatoirepersona_idusername
    Facultatifread_followingread_followersscore_self
  • update_sourceScope write
    Modifie ce que Gemlead lit sur une source, ou la met en pause, la relance, l'ignore, l'actualise ou la score.
    Obligatoirepersona_idsource_id
    Facultatifread_followingread_followersscore_selfaction
  • delete_sourceScope write
    Retire une source et ses leads qui ne sont passés par aucune campagne. L'assistant te demande d'abord ton accord.
    Obligatoirepersona_idsource_id
  • list_source_leadsScope read
    Les leads trouvés par une source, meilleur score en premier.
    Obligatoirepersona_idsource_id
    Facultatiforderlimitcursor
  • list_persona_itemsScope read
    Les recherches par mots-clés ou les comptes concurrents d'un persona, chacun avec ses leads trouvés, scorés et chauds.
    Obligatoirepersona_idkind
  • edit_persona_itemsScope write
    Ajoute ou retire des recherches par mots-clés ou des comptes concurrents sur un persona.
    Obligatoirepersona_idkind
    Facultatifaddremove
  • list_item_leadsScope read
    Les leads trouvés par une recherche par mots-clés ou un compte concurrent, meilleur score en premier.
    Obligatoirepersona_id
    Facultatifsearch_querycompetitor_accountorderlimitcursor
  • suggest_sourcesScope read
    Les comptes X que l'IA suggère comme sources pour un persona.
    Obligatoirepersona_id
  • lookup_x_profileScope read
    Lit un profil X en direct et, avec un persona, indique s'il ferait une bonne source pour lui.
    Obligatoireusername
    Facultatifpersona

Campagnes

  • list_campaignsScope read
    Tes campagnes avec leurs totaux.
    Facultatifstatuspersona_idlimitcursor
  • get_campaign_statsScope read
    Les DM, réponses et taux de réponse d'une campagne sur une période, jour par jour.
    Obligatoirecampaign_id
    Facultatiffromto
  • create_campaignScope write
    Crée une campagne en brouillon à partir d'un modèle ou de ton propre parcours. Rien ne part tant qu'elle n'est pas lancée.
    Obligatoirepersona_idname
    Facultatifmethodmin_scoredaily_limitlead_ordertemplateflow
  • get_campaign_settingsScope read
    Les réglages d'une campagne et son parcours, chaque étape avec son ID.
    Obligatoirecampaign_id
  • update_campaignScope write
    Modifie les réglages d'une campagne ou remplace son parcours.
    Obligatoirecampaign_id
    Facultatifnamemethodmin_scoredaily_limitlead_orderflow
  • set_campaign_statusScope write
    Lance, met en pause ou archive une campagne. La lancer envoie des likes, des commentaires, des follows et des DM depuis ton compte X, donc l'assistant te demande d'abord ton accord.
    Obligatoirecampaign_idstatus
  • duplicate_campaignScope write
    Copie les réglages et le parcours d'une campagne dans un nouveau brouillon.
    Obligatoirecampaign_id
  • delete_campaignScope write
    Supprime une campagne. Ses leads et ses conversations sont conservés, et l'assistant te demande d'abord ton accord.
    Obligatoirecampaign_id
  • list_campaign_leadsScope read
    Les leads d'une campagne par étape, avec ce qu'elle a publié pour chacun.
    Obligatoirecampaign_id
    Facultatifstagestep_idbranchskippedqlimitcursor
  • list_campaign_templatesScope read
    Les modèles de campagne avec leurs parcours complets.
    Facultatifmethodmarket

Conversations

  • list_conversationsScope read
    Tes conversations triées par dernier message, du plus récent au plus ancien, ou seulement les non lues si tu le demandes. Avec include_messages, chacune arrive avec tous ses messages.
    Facultatifunreadpersona_idinclude_messageslimitcursor
  • get_conversationScope read
    Une conversation avec tous ses messages.
    Obligatoireconversation_id
  • list_messagesScope read
    Tout l'historique d'une conversation depuis X, page par page.
    Obligatoireconversation_id
    Facultatiflimitcursor
  • view_mediaScope read
    Permet à l'assistant de voir une image ou un GIF d'un message, depuis l'url de son media.
    Obligatoireurl
  • send_messageScope write
    Envoie un DM au lead depuis ton compte X, avec du texte, une image, un GIF, une vidéo ou un message vocal. L'assistant te montre d'abord le texte.
    Obligatoireconversation_id
    Facultatiftextmediareply_to_message_id
  • react_to_messageScope write
    Ajoute ou retire ta réaction emoji sur un message récent.
    Obligatoireconversation_idmessage_idemoji
    Facultatifremove
  • delete_messageScope write
    Supprime un message récent, pour toi ou pour vous deux. L'assistant te demande d'abord ton accord.
    Obligatoireconversation_idmessage_id
    Facultatiffor_everyone
  • update_conversationScope write
    Marque une conversation comme lue ou non lue, la déplace dans une colonne du tableau, ou l'épingle ou la désépingle.
    Obligatoireconversation_id
    Facultatifreadcolumn_idpinned
  • delete_conversationScope write
    Supprime une conversation dans Gemlead et dans ton inbox X. L'assistant te demande d'abord ton accord.
    Obligatoireconversation_id
  • update_conversation_translationScope write
    Active ou désactive la traduction d'une conversation, ou lit ses réglages.
    Obligatoireconversation_id
    Facultatifenabledshownlanguage
  • translate_messagesScope write
    Traduit les messages récents d'une conversation dans une langue.
    Obligatoireconversation_id
    Facultatifmessage_idslanguage
  • list_pipeline_columnsScope read
    Les colonnes de ton tableau des conversations, dans l'ordre.
    Aucun argument
  • edit_pipeline_columnsScope write
    Crée, renomme, replie, supprime ou réordonne les colonnes de ton tableau des conversations.
    Obligatoireaction
    Facultatifcolumn_idnamecollapsedpositioncolumn_ids

Sam AI

  • get_sam_settingsScope read
    Le mode, les instructions et les fichiers de Sam AI sur le compte X, un persona ou une conversation. Sur une conversation, aussi le mode qui s'applique vraiment, ce que fait Sam AI et la réponse qu'il a prête.
    Facultatifconversation_idpersona_id
  • update_sam_settingsScope write
    Modifie le mode ou les instructions de Sam AI sur un persona ou une conversation, ou l'active, le désactive et règle les infos de ton business sur le compte X. auto envoie des réponses depuis ton compte X, donc l'assistant te demande d'abord ton accord.
    Facultatifconversation_idpersona_idmodeinstructionsenabled
  • edit_sam_filesScope write
    Ajoute des fichiers depuis une URL ou retire des fichiers que lit Sam AI, sur le compte X, un persona ou une conversation. L'assistant te demande ton accord avant d'en retirer un.
    Facultatifconversation_idpersona_idaddremove

Compte et autres outils

  • get_accountScope read
    Le compte X de la connexion, et son plan.
    Aucun argument
  • get_account_settingsScope read
    La synchronisation de l'inbox, la pause des DM, X Chat, et le fuseau horaire et la langue du propriétaire.
    Aucun argument
  • update_account_settingsScope write
    Modifie la synchronisation de l'inbox ou le fuseau horaire, la langue ou le nom du propriétaire, ou relit le profil X.
    Facultatifsync_all_conversationstimezonelanguagefirst_namelast_nameinbox_syncrefresh_x_profile
  • get_exclusion_listScope read
    Les comptes X et les domaines que Gemlead ne contacte jamais, sur le compte ou sur un persona.
    Facultatifpersona
  • edit_exclusion_listScope write
    Ajoute ou retire des comptes X et des domaines de la liste d'exclusion du compte ou d'un persona.
    Facultatifaddremovepersona
  • get_analyticsScope read
    Un graphique de ton Dashboard pour le compte ou un persona, ou les dernières réponses, les derniers DM et les derniers leads chauds.
    Obligatoiremetric
    Facultatifpersonascalestartendtimezone
  • create_exportScope read
    Lance un export de tes leads en CSV ou JSON Lines, ou de toutes tes conversations en DM avec leur fil complet, en JSON Lines ou Markdown.
    Facultatiftypeformatfilters
  • get_exportScope read
    Le statut d'un export, sa progression et son lien de téléchargement.
    Obligatoireexport_id
  • list_exportsScope read
    Tes exports, les plus récents en premier, avec leur statut et leur lien.
    Aucun argument

Équipe

  • get_teamScope read
    Le propriétaire du compte X, ses membres et ses invitations, avec leurs rôles et leurs zones.
    Aucun argument
  • edit_teamScope write
    Invite quelqu'un par email, change le rôle ou les zones d'un membre, retire un membre ou annule une invitation, ou quitte l'équipe.
    Obligatoireaction
    Facultatifemailrolezonesmember_id

Julien AI

  • ask_julien_aiScope write
    Pose une question à Julien AI, l'assistant de Gemlead, sur Gemlead et les données de ton compte. Avec chat_id, il continue un chat. Une réponse encore running après 25 secondes revient avec son ID. Rappelle alors l'outil avec seulement reply_id.
    Facultatiftextchat_idreply_id

Arguments et résultats

  • Un outil prend les paramètres de son endpoint, avec des ID nommés d'après leur objet, comme lead_id, persona_id, campaign_id, conversation_id ou export_id. Les listes se paginent avec limit et cursor, comme dans Pagination.
  • Un outil qui fait plusieurs choses prend un argument action, kind ou status, comme lead_action avec action égal à rescore, refresh, follow ou unfollow.
  • list_campaigns prend status sous forme de tableau de draft, active, paused et archived. get_campaign_stats compte de from à to, deux dates ISO 8601. Par défaut, to vaut maintenant et from 30 jours avant.
  • create_export prend les filtres de search_leads dans filters, sans limit ni cursor. Avec type à conversations, il exporte toutes les conversations en DM avec leur fil complet, et filters prend persona_id et unread. Il fonctionne avec une clé read, comme Créer un export.
  • ask_julien_ai envoie text à Julien AI, avec chat_id pour continuer un chat. Une réponse qui prend plus de 25 secondes revient en running avec son id. Rappelle l'outil avec seulement reply_id, égal à cette valeur, et il attend encore jusqu'à 25 secondes.
  • get_conversation et list_messages donnent les médias de chaque message avec leur url. view_media prend l'url d'une image ou d'un GIF et montre l'image elle-même à l'assistant, qui peut ainsi lire une capture envoyée par un lead. send_message en envoie une avec media, soit une url https publique, soit des data en base64 avec leur mime_type.
  • Un argument incorrect renvoie une erreur d'outil qui le nomme. Une erreur de l'API revient sous forme d'erreur d'outil, avec son code et l'argument concerné.

Chaque outil répond avec le JSON de son endpoint, en contenu structuré et en texte. Les outils ne publient aucun schéma de sortie, la référence API décrit chaque objet.

Sur les plans Free et Starter, le serveur s'installe et liste ses outils, et chaque appel renvoie une erreur plan_required que l'assistant peut expliquer. Les appels d'outils comptent dans les 120 requêtes par minute de la clé, partagées avec l'API REST.

Exemples de prompts

  • Montre-moi les leads chauds du jour pour mon persona Tipsters, et pourquoi chacun a un bon score.
  • Quelle campagne a eu le meilleur taux de réponse sur les 30 derniers jours, et combien de DM a-t-elle envoyés ?
  • Liste mes conversations non lues et résume ce que demande chaque lead.
  • Exporte en CSV tous les leads chauds trouvés cette semaine et donne-moi le lien.
  • Exporte toutes mes conversations en DM, puis dis-moi quelles accroches obtiennent le plus de réponses et comment les leads réagissent au prix.
  • Clôture le lead @jane_builds et enregistre son ID HubSpot hs_48213 dans ses métadonnées.
  • Passe Sam AI en Semi-auto pour mon persona Tipsters et ajoute notre PDF de tarifs à ce qu'il lit.

Sécurité

  • L'assistant ne voit que le compte X que tu as connecté.
  • Révoque une connexion ou une clé à tout moment dans l'app, sur la page API.
  • Donne une clé read à un assistant qui n'a besoin que de lire.
  • Un assistant peut être piégé par un texte qu'il lit. Vérifie ce qu'un outil d'écriture s'apprête à faire avant de l'autoriser.