MCP

MCP-Server

Frage Claude, ChatGPT oder Cursor in einfachen Worten nach deinen Leads. Der MCP-Server von Gemlead gibt KI-Assistenten die Daten und Aktionen der API, mit deiner Erlaubnis.

Worum es geht

Das Model Context Protocol ist der offene Standard, über den KI-Assistenten externe Tools aufrufen. Verbinde Gemlead einmal, und dein Assistent kann deine heißen Leads durchsuchen, deine Unterhaltungen lesen und beantworten, prüfen, wie eine Kampagne läuft, oder einen Export starten, direkt im Chat. Er sieht nur das X-Konto, das du verbindest, und es gelten die Regeln der API, also die Tarife Business und Enterprise mit denselben Scopes.

Der Server nutzt Streamable HTTP. Claude und ChatGPT melden sich per OAuth an, Cursor und Claude Code können einen API-Schlüssel als Bearer Token senden.

Server-URL
https://gemlead.ai/mcp

Setup

  1. Öffne in Claude Customize und dann Connectors.
  2. Klicke auf Add und dann auf Add custom connector.
  3. Nenne ihn Gemlead und füge https://gemlead.ai/mcp als Server-URL ein.
  4. Behalte Use Claude's published identity als OAuth-Client und klicke dann auf Add.
  5. Klicke auf Connect, melde dich bei Gemlead an und wähle das X-Konto.

Schalte Gemlead in einem Chat über das Menü + unter Connectors ein. Claude Desktop und die mobilen Apps nutzen dieselben Connectors wie dein Claude-Konto, du musst nichts weiter einrichten.

Bei Team und Enterprise fügt ein Owner Gemlead unter Organization settings, Connectors hinzu, danach klickt jedes Mitglied auf Connect. Der Free-Tarif von Claude erlaubt einen benutzerdefinierten Connector.

Andere Clients

Jeder Client, der Streamable HTTP unterstützt, verbindet sich genauso, mit der URL und einem Header Authorization. Teste den Server mit dem MCP Inspector.

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

Mehrere X-Konten

Eine Verbindung gilt für ein X-Konto. Um mit mehreren gleichzeitig zu arbeiten, füge Gemlead einmal pro Konto hinzu, jedes mit seiner eigenen Server-URL, https://gemlead.ai/mcp/ und einem Namen deiner Wahl, etwa https://gemlead.ai/mcp/acme und https://gemlead.ai/mcp/julien. Der Name ist nur eine Bezeichnung aus Buchstaben, Ziffern, - und _.

Verbinde jeden Connector und wähle auf der Zustimmungsseite von Gemlead sein X-Konto. Ein Name, der dem X-Benutzernamen des Kontos entspricht, wählt es für dich aus. Gehören die Konten zu verschiedenen Gemlead-Logins, melde dich vor jeder Verbindung mit dem richtigen an.

Jede Verbindung liest und handelt nur in ihrem eigenen Konto und teilt dem Assistenten mit, um welches @handle es sich handelt, damit eine DM immer von dem Konto ausgeht, das du angegeben hast. Benenne jeden Connector nach seinem Konto, etwa Gemlead Acme, um sie im Chat auseinanderzuhalten.

Tools

Der Server hat 67 Tools, eines für jede Funktion der API. Lese-Tools lesen nur. Schreib-Tools ändern Daten oder handeln von deinem Konto aus auf X, deshalb brauchen sie den Scope write, und der Assistent fragt dich, bevor er etwas sendet, startet oder löscht.

Klicke in der API-Referenz auf das MCP-Tag eines Endpoints, um zu seinem Tool zu springen.

Bewusst setzt oder entfernt kein Tool den X Chat-Code, damit ein Code nie durch einen KI-Chat läuft. Setze ihn in der App oder mit X Chat-Code setzen.

Leads

  • search_leadsScope read
    Leads mit den Filtern von Leads auflisten, etwa die heißen Leads einer Persona aus dieser Woche.
    Optionalpersona_idstatusscore_minscore_maxhotscored_afterscored_beforefound_afterfound_beforeorderlimitcursor
  • get_leadScope read
    Ein Lead mit Profil, Score und Begründung.
    Erforderlichlead_id
  • update_leadScope write
    Setzt Metadaten für einen Lead oder schließt ihn, wenn du mit ihm fertig bist.
    Erforderlichlead_id
    Optionalmetadatastatus
  • get_lead_originScope read
    Wie Gemlead einen Lead gefunden hat, über welchen Beitrag er auftauchte und in welchen Kampagnen er ist.
    Erforderlichlead_id
  • lead_actionScope write
    Bewertet einen Lead neu für bis zu 2 Credits pro Lead: 1 für den ersten Durchgang, 1 weiterer für den Deep Score, wenn der Lead ihn besteht, liest sein X-Profil neu ein, oder folgt oder entfolgt ihm von deinem X-Konto aus.
    Erforderlichlead_idaction
  • convert_lead_to_sourceScope write
    Macht einen Lead zur Quelle seiner Persona, um zu lesen, wem er folgt, wer ihm folgt oder wer seine Beiträge kommentiert.
    Erforderlichlead_id
    Optionalmethod
  • delete_leadScope write
    Löscht einen Lead und stoppt ihn in jeder Kampagne. Der Assistent fragt dich vorher.
    Erforderlichlead_id

Personas

  • list_personasScope read
    Deine Personas mit ihren Gesamtzahlen und den Zahlen von heute.
    Optionallimitcursor
  • get_personaScope read
    Eine Persona und ihre Statistiken.
    Erforderlichpersona_id
  • create_personaScope write
    Erstellt eine Persona mit Beschreibung, Keywords, Konkurrenten und Startquellen. Das Scoring kostet bis zu 2 Credits pro Lead: 1 für den ersten Durchgang, 1 weiterer für den Deep Score, wenn der Lead ihn besteht.
    Erforderlichnamedescription
    Optionalwebsitemarketkeywordscompetitorsavoidmin_followersinclude_closed_inboxesauto_expandauto_expand_directiondaily_scoring_limitsources
  • get_persona_settingsScope read
    Alle Einstellungen einer Persona, mit ihren Keyword-Suchen und Konkurrenzkonten.
    Erforderlichpersona_id
  • update_personaScope write
    Ändert die Einstellungen einer Persona, aktiviert oder pausiert sie.
    Erforderlichpersona_id
    Optionalnamewebsitedescriptionmarketkeywordscompetitorsavoidmin_followersinclude_closed_inboxesauto_expandauto_expand_directiondaily_scoring_limitstatus
  • delete_personaScope write
    Löscht eine Persona mit ihren Quellen und den Leads, die keine Kampagne bearbeitet hat. Der Assistent fragt dich vorher.
    Erforderlichpersona_id
  • reorder_personasScope write
    Legt die Reihenfolge deiner Personas fest.
    Erforderlichpersona_ids
  • suggest_personaScope write
    Lässt die KI eine Persona aus einem Namen und deinem Angebot schreiben.
    Erforderlichpersona_name
    Optionalwebsitebriefcurrent_descriptioninstruction
  • get_persona_suggestionScope read
    Der letzte Persona-Vorschlag, pending, ready mit seinem Text oder error.
    Keine Argumente
  • get_persona_sharingScope read
    Welche X-Konten des Inhabers eine Persona teilen, und mit welchen anderen sie geteilt werden kann.
    Erforderlichpersona_id
  • update_persona_sharingScope write
    Legt fest, welche anderen X-Konten des Inhabers eine Persona teilen. Nur für den Inhaber.
    Erforderlichpersona_idaccount_ids

Quellen

  • list_sourcesScope read
    Die Quellen einer Persona mit ihren Statistiken, oder eine davon.
    Erforderlichpersona_id
    Optionalsource_idlimitcursorpaused
  • add_sourceScope write
    Fügt ein X-Konto als Quelle einer Persona hinzu.
    Erforderlichpersona_idusername
    Optionalread_followingread_followersscore_self
  • update_sourceScope write
    Ändert, was Gemlead bei einer Quelle liest, oder pausiert sie, nimmt sie wieder auf, überspringt, aktualisiert oder bewertet sie.
    Erforderlichpersona_idsource_id
    Optionalread_followingread_followersscore_selfaction
  • delete_sourceScope write
    Entfernt eine Quelle und ihre Leads, die keine Kampagne bearbeitet hat. Der Assistent fragt dich vorher.
    Erforderlichpersona_idsource_id
  • list_source_leadsScope read
    Die Leads, die eine Quelle gefunden hat, mit dem besten Score zuerst.
    Erforderlichpersona_idsource_id
    Optionalorderlimitcursor
  • list_persona_itemsScope read
    Die Keyword-Suchen oder Konkurrenzkonten einer Persona, jeweils mit gefundenen, bewerteten und heißen Leads.
    Erforderlichpersona_idkind
  • edit_persona_itemsScope write
    Fügt einer Persona Keyword-Suchen oder Konkurrenzkonten hinzu oder entfernt sie.
    Erforderlichpersona_idkind
    Optionaladdremove
  • list_item_leadsScope read
    Die Leads, die eine Keyword-Suche oder ein Konkurrenzkonto gefunden hat, mit dem besten Score zuerst.
    Erforderlichpersona_id
    Optionalsearch_querycompetitor_accountorderlimitcursor
  • suggest_sourcesScope read
    X-Konten, die die KI als Quellen für eine Persona vorschlägt.
    Erforderlichpersona_id
  • lookup_x_profileScope read
    Liest ein X-Profil live und zeigt mit einer Persona, wie gut es sich als Quelle eignet.
    Erforderlichusername
    Optionalpersona

Kampagnen

  • list_campaignsScope read
    Deine Kampagnen mit ihren Gesamtzahlen.
    Optionalstatuspersona_idlimitcursor
  • get_campaign_statsScope read
    DMs, Antworten und Antwortrate einer Kampagne über einen Zeitraum, Tag für Tag.
    Erforderlichcampaign_id
    Optionalfromto
  • create_campaignScope write
    Erstellt eine Kampagne als Entwurf, aus einer Vorlage oder deinem eigenen Ablauf. Bis zum Start wird nichts gesendet.
    Erforderlichpersona_idname
    Optionalmethodmin_scoredaily_limitlead_ordertemplateflow
  • get_campaign_settingsScope read
    Die Einstellungen einer Kampagne und ihr Ablauf, jeder Schritt mit seiner ID.
    Erforderlichcampaign_id
  • update_campaignScope write
    Ändert die Einstellungen einer Kampagne oder ersetzt ihren Ablauf.
    Erforderlichcampaign_id
    Optionalnamemethodmin_scoredaily_limitlead_orderflow
  • set_campaign_statusScope write
    Startet, pausiert oder archiviert eine Kampagne. Beim Start werden Likes, Kommentare, Follows und DMs von deinem X-Konto aus gesendet, deshalb fragt der Assistent dich vorher.
    Erforderlichcampaign_idstatus
  • duplicate_campaignScope write
    Kopiert Einstellungen und Ablauf einer Kampagne in einen neuen Entwurf.
    Erforderlichcampaign_id
  • delete_campaignScope write
    Löscht eine Kampagne. Ihre Leads und Unterhaltungen bleiben, und der Assistent fragt dich vorher.
    Erforderlichcampaign_id
  • list_campaign_leadsScope read
    Die Leads einer Kampagne nach Phase, mit dem, was sie für jeden gepostet hat.
    Erforderlichcampaign_id
    Optionalstagestep_idbranchskippedqlimitcursor
  • list_campaign_templatesScope read
    Die Kampagnenvorlagen mit ihren vollständigen Abläufen.
    Optionalmethodmarket

Unterhaltungen

  • list_conversationsScope read
    Deine Unterhaltungen, mit der neuesten Nachricht zuerst, oder auf Wunsch nur die ungelesenen. Mit include_messages kommt jede mit all ihren Nachrichten.
    Optionalunreadpersona_idinclude_messageslimitcursor
  • get_conversationScope read
    Eine Unterhaltung mit all ihren Nachrichten.
    Erforderlichconversation_id
  • list_messagesScope read
    Der ganze Verlauf einer Unterhaltung von X, Seite für Seite.
    Erforderlichconversation_id
    Optionallimitcursor
  • view_mediaScope read
    Lässt den Assistenten ein Bild oder ein GIF einer Nachricht sehen, über die url in ihrem media.
    Erforderlichurl
  • send_messageScope write
    Sendet dem Lead eine DM von deinem X-Konto, mit Text, Bild, GIF, Video oder Sprachnachricht. Der Assistent zeigt dir vorher den Text.
    Erforderlichconversation_id
    Optionaltextmediareply_to_message_id
  • react_to_messageScope write
    Fügt deine Emoji-Reaktion auf eine neuere Nachricht hinzu oder entfernt sie.
    Erforderlichconversation_idmessage_idemoji
    Optionalremove
  • delete_messageScope write
    Löscht eine neuere Nachricht, für dich oder für beide Seiten. Der Assistent fragt dich vorher.
    Erforderlichconversation_idmessage_id
    Optionalfor_everyone
  • update_conversationScope write
    Markiert eine Unterhaltung als gelesen oder ungelesen, verschiebt sie in eine Spalte des Boards, heftet sie an oder löst sie.
    Erforderlichconversation_id
    Optionalreadcolumn_idpinned
  • delete_conversationScope write
    Löscht eine Unterhaltung in Gemlead und in deiner X-Inbox. Der Assistent fragt dich vorher.
    Erforderlichconversation_id
  • update_conversation_translationScope write
    Schaltet die Übersetzung einer Unterhaltung ein oder aus oder liest ihre Einstellungen.
    Erforderlichconversation_id
    Optionalenabledshownlanguage
  • translate_messagesScope write
    Übersetzt die letzten Nachrichten einer Unterhaltung in eine Sprache.
    Erforderlichconversation_id
    Optionalmessage_idslanguage
  • list_pipeline_columnsScope read
    Die Spalten im Board deiner Unterhaltungen, in ihrer Reihenfolge.
    Keine Argumente
  • edit_pipeline_columnsScope write
    Erstellt Spalten im Board deiner Unterhaltungen, benennt sie um, klappt sie ein, löscht sie oder ordnet sie neu.
    Erforderlichaction
    Optionalcolumn_idnamecollapsedpositioncolumn_ids

Sam AI

  • get_sam_settingsScope read
    Modus, Anweisungen und Dateien von Sam AI im X-Konto, in einer Persona oder einer Unterhaltung. Bei einer Unterhaltung auch der Modus, der tatsächlich gilt, was Sam AI gerade tut und die Antwort, die er bereithält.
    Optionalconversation_idpersona_id
  • update_sam_settingsScope write
    Ändert Modus oder Anweisungen von Sam AI in einer Persona oder einer Unterhaltung, oder schaltet ihn im X-Konto ein oder aus und legt dort deine Business-Infos fest. auto sendet Antworten von deinem X-Konto aus, deshalb fragt der Assistent dich vorher.
    Optionalconversation_idpersona_idmodeinstructionsenabled
  • edit_sam_filesScope write
    Fügt Dateien über eine URL hinzu oder entfernt Dateien, die Sam AI liest, im X-Konto, in einer Persona oder einer Unterhaltung. Der Assistent fragt dich, bevor er eine entfernt.
    Optionalconversation_idpersona_idaddremove

Konto und mehr

  • get_accountScope read
    Das X-Konto, zu dem die Verbindung gehört, und sein Tarif.
    Keine Argumente
  • get_account_settingsScope read
    Inbox-Sync, DM-Pause, X Chat sowie Zeitzone und Sprache des Inhabers.
    Keine Argumente
  • update_account_settingsScope write
    Ändert den Inbox-Sync oder Zeitzone, Sprache oder Namen des Inhabers, oder liest das X-Profil neu ein.
    Optionalsync_all_conversationstimezonelanguagefirst_namelast_nameinbox_syncrefresh_x_profile
  • get_exclusion_listScope read
    Die X-Konten und Domains, die Gemlead nie kontaktiert, im Konto oder in einer Persona.
    Optionalpersona
  • edit_exclusion_listScope write
    Fügt X-Konten und Domains zur Ausschlussliste des Kontos oder einer Persona hinzu oder entfernt sie.
    Optionaladdremovepersona
  • get_analyticsScope read
    Ein Diagramm deines Dashboards für das Konto oder eine Persona, oder die neuesten Antworten, DMs und heißen Leads.
    Erforderlichmetric
    Optionalpersonascalestartendtimezone
  • create_exportScope read
    Startet einen Export deiner Leads als CSV oder JSON Lines, oder aller DM-Unterhaltungen mit ihrem ganzen Verlauf als JSON Lines oder Markdown.
    Optionaltypeformatfilters
  • get_exportScope read
    Status, Fortschritt und Download-Link eines Exports.
    Erforderlichexport_id
  • list_exportsScope read
    Deine Exporte, die neuesten zuerst, mit Status und Link.
    Keine Argumente

Team

  • get_teamScope read
    Der Inhaber des X-Kontos, seine Mitglieder und Einladungen, mit ihren Rollen und Bereichen.
    Keine Argumente
  • edit_teamScope write
    Lädt jemanden per E-Mail ein, ändert die Rolle oder die Bereiche eines Mitglieds, entfernt ein Mitglied oder zieht eine Einladung zurück, oder verlässt das Team.
    Erforderlichaction
    Optionalemailrolezonesmember_id

Julien AI

  • ask_julien_aiScope write
    Fragt Julien AI, den Assistenten von Gemlead, zu Gemlead und den Daten deines Kontos. Mit chat_id geht es in einem Chat weiter. Eine Antwort, die nach 25 Sekunden noch running ist, kommt mit ihrer ID zurück, für einen neuen Aufruf nur mit reply_id.
    Optionaltextchat_idreply_id

Argumente und Ergebnisse

  • Ein Tool akzeptiert die Parameter seines Endpoints, mit IDs, die nach ihrem Objekt benannt sind, etwa lead_id, persona_id, campaign_id, conversation_id oder export_id. Listen werden mit limit und cursor paginiert, wie unter Paginierung.
  • Ein Tool, das mehrere Dinge kann, erwartet eine action, einen kind oder einen status, etwa lead_action mit action gleich rescore, refresh, follow oder unfollow.
  • list_campaigns erwartet status als Array aus draft, active, paused und archived. get_campaign_stats zählt von from bis to, beides Zeiten in ISO 8601, to standardmäßig der aktuelle Zeitpunkt und from 30 Tage davor.
  • create_export erwartet die Filter von search_leads in filters, ohne limit und cursor. Ist type auf conversations gesetzt, exportiert es alle DM-Unterhaltungen mit ihrem ganzen Verlauf, und filters erwartet persona_id und unread. Das Tool funktioniert mit einem read-Schlüssel, genau wie Export erstellen.
  • ask_julien_ai sendet text an Julien AI, mit chat_id, um in einem Chat weiterzumachen. Eine Antwort, die länger als 25 Sekunden braucht, kommt als running mit ihrer id zurück. Rufe das Tool dann erneut auf, nur mit reply_id auf diesen Wert gesetzt, und es wartet bis zu 25 weitere Sekunden.
  • get_conversation und list_messages listen die Medien jeder Nachricht mit ihrer url auf. view_media erwartet die url eines Bilds oder GIFs und zeigt dem Assistenten das Bild selbst, damit er etwa einen Screenshot eines Leads lesen kann. send_message verschickt Medien mit media, als öffentliche https-url oder als base64-data mit ihrem mime_type.
  • Ein falsches Argument kommt als Tool-Fehler zurück, der es nennt. Ein API-Fehler kommt als Tool-Fehler mit seinem Code und dem betroffenen Argument zurück.

Jedes Tool liefert das JSON seines Endpoints, als strukturierten Inhalt und als Text. Die Tools veröffentlichen kein Output-Schema, die API-Referenz beschreibt jedes Objekt.

In den Tarifen Free und Starter lässt sich der Server installieren und listet seine Tools auf, jeder Aufruf antwortet aber mit einem Fehler plan_required, den der Assistent erklären kann. Tool-Aufrufe zählen zu den 120 Anfragen pro Minute des Schlüssels, gemeinsam mit der REST-API.

Beispiel-Prompts

  • Zeig mir die heißen Leads von heute für meine Persona Tipsters, mit dem Grund für jeden hohen Score.
  • Welche Kampagne hatte in den letzten 30 Tagen die beste Antwortrate, und wie viele DMs hat sie gesendet?
  • Liste meine ungelesenen Unterhaltungen auf und fass zusammen, was jeder Lead möchte.
  • Exportiere alle heißen Leads dieser Woche als CSV und gib mir den Link.
  • Exportiere alle meine DM-Unterhaltungen und sag mir dann, welche Eröffnungsnachrichten die meisten Antworten bekommen und wie Leads auf den Preis reagieren.
  • Markiere den Lead @jane_builds als geschlossen und speichere ihre HubSpot-ID hs_48213 in den Metadaten.
  • Stell Sam AI für meine Persona Tipsters auf Halbautomatisch und nimm unser Preis-PDF in das auf, was er liest.

Sicherheit

  • Der Assistent sieht nur das X-Konto, das du verbunden hast.
  • Widerrufe eine Verbindung oder einen Schlüssel jederzeit in der App unter API.
  • Gib einem Assistenten, der nur lesen muss, einen read-Schlüssel.
  • Assistenten können durch Text, den sie lesen, ausgetrickst werden. Prüfe, was ein Schreib-Tool gleich tun wird, bevor du es freigibst.