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.
https://gemlead.ai/mcpConfiguration
- Dans Claude, ouvre Customize, puis Connectors.
- Clique sur Add, puis sur Add custom connector.
- Nomme-le Gemlead et colle
https://gemlead.ai/mcpcomme URL du serveur. - Garde Use Claude's published identity comme client OAuth, puis clique sur Add.
- 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.
npx @modelcontextprotocol/inspector --cli https://gemlead.ai/mcp \
--transport http \
--header "Authorization: Bearer $GEMLEAD_API_KEY" \
--method tools/listPlusieurs 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
readLes 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
readUn lead avec son profil, son score et la raison de ce score.Obligatoirelead_id - update_leadScope
writeAjoute des métadonnées à un lead, ou le clôture quand tu en as fini avec lui.Obligatoirelead_idFacultatifmetadatastatus - get_lead_originScope
readComment Gemlead a trouvé un lead, le post qui l'a fait remonter et ses campagnes.Obligatoirelead_id - lead_actionScope
writeRelit 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
writeFait d'un lead une source de son persona, pour lire ses abonnements, ses abonnés ou ceux qui commentent ses posts.Obligatoirelead_idFacultatifmethod - delete_leadScope
writeSupprime un lead et le retire de toutes les campagnes. L'assistant te demande d'abord ton accord.Obligatoirelead_id
Personas
- list_personasScope
readTes personas avec leurs compteurs et les chiffres du jour.Facultatiflimitcursor - get_personaScope
readUn persona et ses stats.Obligatoirepersona_id - create_personaScope
writeCré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.ObligatoirenamedescriptionFacultatifwebsitemarketkeywordscompetitorsavoidmin_followersinclude_closed_inboxesauto_expandauto_expand_directiondaily_scoring_limitsources - get_persona_settingsScope
readTous les réglages d'un persona, avec ses recherches par mots-clés et ses comptes concurrents.Obligatoirepersona_id - update_personaScope
writeModifie les réglages d'un persona, l'active ou le met en pause.Obligatoirepersona_idFacultatifnamewebsitedescriptionmarketkeywordscompetitorsavoidmin_followersinclude_closed_inboxesauto_expandauto_expand_directiondaily_scoring_limitstatus - delete_personaScope
writeSupprime 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
writeDéfinit l'ordre de tes personas.Obligatoirepersona_ids - suggest_personaScope
writeDemande à l'IA d'écrire un persona à partir d'un nom et de ce que tu vends.Obligatoirepersona_nameFacultatifwebsitebriefcurrent_descriptioninstruction - get_persona_suggestionScope
readLa dernière suggestion de persona,pending,readyavec son texte, ouerror.Aucun argument - get_persona_sharingScope
readLes comptes X du propriétaire qui partagent un persona, et ceux avec lesquels il peut être partagé.Obligatoirepersona_id - update_persona_sharingScope
writeChoisit les autres comptes X du propriétaire qui partagent un persona. Réservé au propriétaire.Obligatoirepersona_idaccount_ids
Sources
- list_sourcesScope
readLes sources d'un persona avec leurs stats, ou l'une d'elles.Obligatoirepersona_idFacultatifsource_idlimitcursorpaused - add_sourceScope
writeAjoute un compte X comme source d'un persona.Obligatoirepersona_idusernameFacultatifread_followingread_followersscore_self - update_sourceScope
writeModifie ce que Gemlead lit sur une source, ou la met en pause, la relance, l'ignore, l'actualise ou la score.Obligatoirepersona_idsource_idFacultatifread_followingread_followersscore_selfaction - delete_sourceScope
writeRetire 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
readLes leads trouvés par une source, meilleur score en premier.Obligatoirepersona_idsource_idFacultatiforderlimitcursor - list_persona_itemsScope
readLes 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
writeAjoute ou retire des recherches par mots-clés ou des comptes concurrents sur un persona.Obligatoirepersona_idkindFacultatifaddremove - list_item_leadsScope
readLes leads trouvés par une recherche par mots-clés ou un compte concurrent, meilleur score en premier.Obligatoirepersona_idFacultatifsearch_querycompetitor_accountorderlimitcursor - suggest_sourcesScope
readLes comptes X que l'IA suggère comme sources pour un persona.Obligatoirepersona_id - lookup_x_profileScope
readLit un profil X en direct et, avec un persona, indique s'il ferait une bonne source pour lui.ObligatoireusernameFacultatifpersona
Campagnes
- list_campaignsScope
readTes campagnes avec leurs totaux.Facultatifstatuspersona_idlimitcursor - get_campaign_statsScope
readLes DM, réponses et taux de réponse d'une campagne sur une période, jour par jour.Obligatoirecampaign_idFacultatiffromto - create_campaignScope
writeCré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_idnameFacultatifmethodmin_scoredaily_limitlead_ordertemplateflow - get_campaign_settingsScope
readLes réglages d'une campagne et son parcours, chaque étape avec son ID.Obligatoirecampaign_id - update_campaignScope
writeModifie les réglages d'une campagne ou remplace son parcours.Obligatoirecampaign_idFacultatifnamemethodmin_scoredaily_limitlead_orderflow - set_campaign_statusScope
writeLance, 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
writeCopie les réglages et le parcours d'une campagne dans un nouveau brouillon.Obligatoirecampaign_id - delete_campaignScope
writeSupprime une campagne. Ses leads et ses conversations sont conservés, et l'assistant te demande d'abord ton accord.Obligatoirecampaign_id - list_campaign_leadsScope
readLes leads d'une campagne par étape, avec ce qu'elle a publié pour chacun.Obligatoirecampaign_idFacultatifstagestep_idbranchskippedqlimitcursor - get_campaign_trendsScope
readLes leads entrés, DM, réponses et follows d'une campagne, par jour ou par heure.Obligatoirecampaign_idFacultatifmetricsrangetimezone - list_campaign_templatesScope
readLes modèles de campagne avec leurs parcours complets.Facultatifmethodmarket
Conversations
- list_conversationsScope
readTes conversations triées par dernier message, du plus récent au plus ancien, ou seulement les non lues si tu le demandes. Avecinclude_messages, chacune arrive avec tous ses messages.Facultatifunreadpersona_idinclude_messageslimitcursor - get_conversationScope
readUne conversation avec tous ses messages.Obligatoireconversation_id - list_messagesScope
readTout l'historique d'une conversation depuis X, page par page.Obligatoireconversation_idFacultatiflimitcursor - view_mediaScope
readPermet à l'assistant de voir une image ou un GIF d'un message, depuis l'urlde sonmedia.Obligatoireurl - send_messageScope
writeEnvoie 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_idFacultatiftextmediareply_to_message_id - react_to_messageScope
writeAjoute ou retire ta réaction emoji sur un message récent.Obligatoireconversation_idmessage_idemojiFacultatifremove - delete_messageScope
writeSupprime un message récent, pour toi ou pour vous deux. L'assistant te demande d'abord ton accord.Obligatoireconversation_idmessage_idFacultatiffor_everyone - update_conversationScope
writeMarque une conversation comme lue ou non lue, la déplace dans une colonne du tableau, ou l'épingle ou la désépingle.Obligatoireconversation_idFacultatifreadcolumn_idpinned - delete_conversationScope
writeSupprime une conversation dans Gemlead et dans ton inbox X. L'assistant te demande d'abord ton accord.Obligatoireconversation_id - update_conversation_translationScope
writeActive ou désactive la traduction d'une conversation, ou lit ses réglages.Obligatoireconversation_idFacultatifenabledshownlanguage - translate_messagesScope
writeTraduit les messages récents d'une conversation dans une langue.Obligatoireconversation_idFacultatifmessage_idslanguage - list_pipeline_columnsScope
readLes colonnes de ton tableau des conversations, dans l'ordre.Aucun argument - edit_pipeline_columnsScope
writeCrée, renomme, replie, supprime ou réordonne les colonnes de ton tableau des conversations.ObligatoireactionFacultatifcolumn_idnamecollapsedpositioncolumn_ids
Sam AI
- get_sam_settingsScope
readLe 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
writeModifie 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.autoenvoie des réponses depuis ton compte X, donc l'assistant te demande d'abord ton accord.Facultatifconversation_idpersona_idmodeinstructionsenabled - edit_sam_filesScope
writeAjoute 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
readLe compte X de la connexion, et son plan.Aucun argument - get_account_settingsScope
readLa 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
writeModifie 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
readLes comptes X et les domaines que Gemlead ne contacte jamais, sur le compte ou sur un persona.Facultatifpersona - edit_exclusion_listScope
writeAjoute ou retire des comptes X et des domaines de la liste d'exclusion du compte ou d'un persona.Facultatifaddremovepersona - get_analyticsScope
readUn graphique de ton Dashboard pour le compte ou un persona, ou les dernières réponses, les derniers DM et les derniers leads chauds.ObligatoiremetricFacultatifpersonascalestartendtimezone - create_exportScope
readLance 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
readLe statut d'un export, sa progression et son lien de téléchargement.Obligatoireexport_id - list_exportsScope
readTes exports, les plus récents en premier, avec leur statut et leur lien.Aucun argument
Équipe
- get_teamScope
readLe propriétaire du compte X, ses membres et ses invitations, avec leurs rôles et leurs zones.Aucun argument - edit_teamScope
writeInvite 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.ObligatoireactionFacultatifemailrolezonesmember_id
Julien AI
- ask_julien_aiScope
writePose une question à Julien AI, l'assistant de Gemlead, sur Gemlead et les données de ton compte. Avecchat_id, il continue un chat. Une réponse encorerunningaprès 25 secondes revient avec son ID. Rappelle alors l'outil avec seulementreply_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_idouexport_id. Les listes se paginent aveclimitetcursor, comme dans Pagination. - Un outil qui fait plusieurs choses prend un argument
action,kindoustatus, commelead_actionavecactionégal àrescore,refresh,followouunfollow. list_campaignsprendstatussous forme de tableau dedraft,active,pausedetarchived.get_campaign_statscompte defromàto, deux dates ISO 8601. Par défaut,tovaut maintenant etfrom30 jours avant.create_exportprend les filtres desearch_leadsdansfilters, sanslimitnicursor. Avectypeàconversations, il exporte toutes les conversations en DM avec leur fil complet, etfiltersprendpersona_idetunread. Il fonctionne avec une cléread, comme Créer un export.ask_julien_aienvoietextà Julien AI, avecchat_idpour continuer un chat. Une réponse qui prend plus de 25 secondes revient enrunningavec sonid. Rappelle l'outil avec seulementreply_id, égal à cette valeur, et il attend encore jusqu'à 25 secondes.get_conversationetlist_messagesdonnent les médias de chaque message avec leururl.view_mediaprend l'urld'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_messageen envoie une avecmedia, soit uneurlhttps publique, soit desdataen base64 avec leurmime_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.