HelpStackDocs

Integrationen

MCP: HelpStack einrichten, indem Sie fragen

HelpStack spricht MCP (Model Context Protocol), sodass ein KI-Assistent wie Claude Ihren Arbeitsbereich für Sie einrichten kann. Sie beschreiben in eigenen Worten, was Sie möchten; er legt die Wissensdatenbank-Artikel, die FAQ-Chips und die Agent-Tools an.

„Crawle unser Hilfecenter und füge dann ein Tool hinzu, das eine Bestellung anhand von Nummer und E-Mail über https://api.mystore.si/orders nachschlägt."

Das ist standardmäßig eine Einrichtungs-Verbindung: Sie konfiguriert den Arbeitsbereich. Sie liest Ihre Konversationen oder antwortet einem Kunden nur dann, wenn ein Administrator diese Scopes beim Erstellen des Tokens anhakt, was den Growth-Tarif voraussetzt. Die übrigen Grenzen stehen unter Was sie nicht kann.

Kurz gefasst#

Endpunkthttps://helpstack.eu/api/mcp
TransportStreamable HTTP (kein lokaler Prozess zu installieren)
AuthEin Token (Authorization: Bearer hs_…) oder Anmeldung bei Clients, die sie brauchen
Wer ein Token erstellen darfInhaber oder Administrator
Was ein Token darfWas Ihre eigene Rolle erlaubt, in einer Organisation
TarifAb Starter (das mcp-Flag; sagen Sie uns Bescheid, wenn Sie auf Free sind und es brauchen)
Ratenbegrenzung120 Anfragen pro Minute, je Token

1. Token erstellen#

Einstellungen → API-Tokens → Token erstellen. Geben Sie ihm einen Namen, den Sie später wiedererkennen, etwa „Claude auf meinem Laptop" — an diesem Namen erkennen Sie, welches Token Sie widerrufen müssen.

Das Token wird nur einmal angezeigt. Wir speichern nur seinen Hash, es gibt also keinen Bildschirm, der es erneut zeigen kann, und keine Supportanfrage, die es wiederherstellt. Wenn Sie es verlieren, widerrufen Sie es und erstellen ein neues. Das dauert zehn Sekunden und ist der vorgesehene Weg, kein Fehlerfall.

Ein Token ist an eine Organisation gebunden — die, in der Sie beim Erstellen waren. Wenn Sie mehreren angehören, erstellen Sie je ein Token pro Organisation, die Sie einrichten möchten. Ein Token lässt sich nicht zwischen ihnen verschieben, und einer weiteren Organisation später beizutreten erweitert ein bereits vorhandenes Token nicht.

1b. Wählen Sie, was das Token darf#

Beim Erstellen eines Tokens haken Sie an, worauf es zugreifen darf. Ein Token kann nie mehr als Sie — Ihre Rolle gilt weiterhin — und die Scopes schränken es nur weiter ein.

ScopeWas er erlaubt
settings:readKanäle, Agententools, Wissensdatenbank-Artikel und FAQs ansehen.
settings:writeAgententools, Artikel und FAQs anlegen und bearbeiten und festlegen, woraus ein Kanal antwortet. Schließt settings:read ein.
conversations:readKundenkonversationen lesen, samt Namen, E-Mail-Adressen und allem, was ein Kunde geschrieben hat. Ab Growth.
conversations:draftAntwortentwürfe zur Freigabe durch eine Person schreiben. Kann nicht senden. Schließt conversations:read ein. Ab Growth.
conversations:sendDirekt an den Kunden antworten, ohne dass jemand vorher prüft. Eine gesendete Nachricht kann nicht zurückgeholt werden. Schließt conversations:read ein und wird von conversations:draft nie impliziert. Ab Growth.
analytics:readAggregierte Zahlen sehen: Volumen, Antwort- und Lösungszeiten, Auswertungen nach Tags und Stimmung, KI-Leistung und Kosten. Nur Zahlen — es kann nicht lesen, was ein Kunde geschrieben hat. Impliziert nichts und wird von nichts impliziert. Ab Growth.

Die beiden settings:-Scopes sind standardmäßig angehakt — das ist die Einrichtungsfläche, die diese Seite beschreibt. Die beiden conversations:-Scopes sind nie vorangehakt — einem Assistenten den Posteingang zu zeigen sollte eine Entscheidung sein, die jemand trifft, keine, die er erbt — und sie erscheinen überhaupt erst ab dem Growth-Tarif. Nehmen Sie settings:write heraus, erhalten Sie ein Token, das Ihre Konfiguration ansehen und nichts ändern kann: nützlich, wenn ein Assistent ein Setup prüfen oder „was haben wir eigentlich konfiguriert?" beantworten soll, ohne jedes Risiko einer Bearbeitung.

tools/list zeigt nur Tools, die das Token aufrufen kann, sodass ein Assistent nie eine Tür sieht, die er nicht öffnen kann.

2. Assistenten verbinden#

Claude Code:

claude mcp add helpstack --transport http https://helpstack.eu/api/mcp \
  --header "Authorization: Bearer hs_your_token_here"

Claude Desktop und ChatGPT — fügen Sie einen eigenen Connector mit der URL https://helpstack.eu/api/mcp hinzu und melden Sie sich an, wenn er danach fragt. Diese Clients können kein eingefügtes Token senden und nutzen deshalb eine Anmeldung: Sie wählen die Organisation und geben auf einer HelpStack-Seite frei, was die App darf. Nichts wird gewährt, bevor Sie zustimmen, und Sie können die App später unter Einstellungen → API-Tokens trennen.

Für diesen Weg müssen Sie kein Token anlegen. Tokens sind für Clients wie Claude Code, die den Header selbst setzen können.

Codex — es liest das Token aus einer Umgebungsvariablen, sodass es nie in Ihrer Konfigurationsdatei landet:

export HELPSTACK_MCP_TOKEN="hs_ihr_token"
codex mcp add helpstack --url https://helpstack.eu/api/mcp \
  --bearer-token-env-var HELPSTACK_MCP_TOKEN

Alles andere, das MCP über HTTP spricht — richten Sie es auf dieselbe URL mit demselben Header. Am Transport ist nichts HelpStack-spezifisch.

Bitten Sie ihn dann, whoami auszuführen. Er sollte mit dem Namen Ihrer Organisation und Ihrer Rolle antworten. Tut er das, funktioniert alles Weitere.

Zwei Wege zu verbinden#

TokenAnmeldung
Für wenClaude Code, Skripte, alles, was einen Header setzen kannClaude Desktop, ChatGPT, Connector-Oberflächen
EinrichtungToken hier erstellen, einmal einfügenURL hinzufügen, auf einer HelpStack-Seite freigeben
Organisation wählenBeim Erstellen des Tokens festgelegtBei der Freigabe gewählt
AbschaltenToken widerrufenApp trennen

Beides endet gleich: eine Identität mit Rolle, Organisation und einem Satz von Berechtigungen, die bei jedem Aufruf erneut geprüft werden.

Was sie kann#

ToolWas es tut
whoamiFür welche Organisation das Token handelt, und mit welcher Rolle
list_channelsIhre Kanäle mit ihren IDs und Typen
create_channelEinen Website-Chat-Kanal hinzufügen, auf Wunsch mit dem Widget-Aussehen eines anderen Kanals. E-Mail-, Social- und Sprachkanäle brauchen eine Anmeldung und bleiben Sache des Dashboards
get_channel_settingsWie ein Kanal sich verhält: aktiv oder nicht, ob die KI antwortet und ob diese Antworten ohne Prüfung rausgehen, Übersetzung und Sprachen, und woraus er antwortet
update_channel_settingsAll das ändern — KI-Antworten einschalten, sie als Entwurf stehen lassen, die Sprache des Teams setzen, umbenennen oder den Kanal abschalten
list_agent_toolsDie Tools, die die KI bereits aufrufen kann, eingebaute inklusive
create_agent_toolEin Tool anlegen, damit die KI mitten in einer Antwort Ihre API aufruft, Code auf der Seite des Besuchers ausführt (CLIENT_SIDE) oder eine Schaltfläche „Zeig es mir“ anbietet (CLIENT_ACTION). Ab Growth
update_agent_toolBeschreibung, URL, Parameter oder Aktivstatus eines Tools ändern, oder es zwischen CLIENT_SIDE und CLIENT_ACTION umstellen
delete_agent_toolEin selbst erstelltes Tool entfernen
get_agent_tool_logsLetzte Aufrufe eines Tools — die erste Anlaufstelle, wenn es sich falsch verhält. Schaltflächen protokollieren OFFERED, TAPPED, dann SUCCESS oder FAILED
list_knowledge_base_sourcesDie gecrawlten Websites und ihr Status
add_knowledge_base_urlEine Website in die Wissensdatenbank crawlen
recrawl_knowledge_base_sourceEinen Crawl erneut ausführen, der weiter reicht als zuvor
delete_knowledge_base_sourceEine gecrawlte Website und ihre Artikel entfernen
list_knowledge_base_articlesAlle Artikel mit Quelle und Status
add_knowledge_base_articleEinen Artikel von Hand schreiben
update_knowledge_base_articleEinen handgeschriebenen Artikel bearbeiten
delete_knowledge_base_articleEinen Artikel entfernen
list_knowledge_base_groupsGruppen mit Artikel- und Kanalzahlen
create_knowledge_base_groupVerwandte Artikel bündeln, damit sie gezielt werden können
attach_knowledge_base_groups_to_channelFestlegen, woraus ein Kanal antwortet
get_widget_configDie Widget-Einstellungen eines Website-Chat-Kanals: Farbe, Position, Begrüßung, proaktive Regeln, Geschäftszeiten, erlaubte Domains
update_widget_configÄndert davon alles. Legt die Einstellungen an, wenn der Kanal keine hat – erst dadurch erscheint das Widget überhaupt
list_tagsIhre Tag-Taxonomie — Themen-Tags halten fest, worum es in einer Konversation ging, Status-Tags beschreiben sie im Jetzt. Ab Growth
create_tagEin Tag anlegen. Seine Art steht beim Anlegen fest, denn eine Änderung würde umschreiben, was jede frühere Verwendung bedeutete
update_tagEin Tag umbenennen oder Beschreibung, Farbe oder Kategorie ändern
archive_tagEin Tag außer Betrieb nehmen. Bereits getaggte Konversationen behalten es — deshalb ist das kein Löschen
restore_tagEin archiviertes Tag unter dem Namen zurückholen, den es weiterhin belegt
list_tag_categoriesDie Gruppen, in denen Tags organisiert sind, und welche davon exklusiv sind
create_tag_categoryTags gruppieren — "Stimmung", "Status", "Produktbereich". Exklusive Kategorien halten immer nur ein Tag
update_tag_categoryEine Kategorie umbenennen, umsortieren oder ihre Exklusivität ändern
archive_tag_categoryEine Gruppierung außer Betrieb nehmen. Ihre Tags bleiben, nur ohne Gruppe
list_team_membersWer in der Organisation ist, mit Rolle — daher kommen die Agent-IDs für eine Routing-Regel
list_assignment_rulesIhre Routing-Regeln, in der Reihenfolge, in der sie geprüft werden
create_assignment_ruleNeue Konversationen eines Kanals im Rundlauf an einen Pool von Agenten verteilen. Optionale tagIds (IDs aus list_tags, setzt Konversations-Tags in Ihrem Tarif voraus) leiten eine Konversation stattdessen weiter, sobald sie eines dieser Tags trägt, nie über eine manuelle Zuweisung hinweg; Tags der Kategorie Sentiment werden abgelehnt. Ohne order wird die Regel hinten angehängt
update_assignment_ruleBedingungen, Pool, Reihenfolge oder Aktivstatus einer Regel ändern. Die letzte Bedingung einer Regel zu entfernen wird abgelehnt
delete_assignment_ruleEine Regel entfernen. Bereits zugewiesene Konversationen behalten ihren Bearbeiter
update_organizationDen Firmennamen setzen, den Kunden sehen, und die Standardsprache, die neue Kanäle erben
get_notification_preferencesWelche Benachrichtigungen das Mitglied erhält, dem das Token gehört
set_notification_preferencesDiese ändern — für diese eine Person, nie für das Team
list_faqsDie FAQ-Chips auf dem Begrüßungsbildschirm des Widgets
create_faqEinen FAQ-Chip hinzufügen
update_faqFrage, Antwort oder Sichtbarkeit eines Chips ändern
delete_faqEinen Chip entfernen
list_conversationsKundenkonversationen, neueste zuerst, filterbar nach Status und Kanal
get_conversationEine Konversation vollständig, alle Nachrichten der Reihe nach
draft_replyEinen Entwurf in den Posteingang schreiben, den eine Person freigibt und sendet
send_replyDirekt an den Kunden antworten, ohne Prüfung
get_data_coverageAb wann jeder Datensatz beginnt, damit nie gegen Daten verglichen wird, die es nicht gibt
get_analyticsVolumen, Antwort- und Lösungszeiten, KI gegen Mensch, Stoßzeiten, Kanäle, Agenten, Entwurfsergebnisse, Kosten und Tags inklusive Stimmung
search_conversationsZählt die Konversationen, die ein Wort erwähnen, mit kurzen Auszügen. Braucht conversations:read, nicht analytics:read, weil es zurückgibt, was Kunden geschrieben haben

Was Ihr Assistent erfährt, bevor er aufruft

Jedes Tool wird mit drei Hinweisen veröffentlicht: ob es nur liest, ob seine Wirkung rückgängig gemacht werden kann und welche Berechtigung es braucht. Clients wie Claude, Cursor und ChatGPT entscheiden damit, was sie Ihnen zuerst vorlegen. Das Auflisten Ihrer Kanäle läuft deshalb unauffällig durch, während das Senden einer Antwort nachfragt.

Zwei davon sind es wert, bekannt zu sein:

  • Nur zwei Tools greifen über HelpStack hinaus. add_knowledge_base_url und recrawl_knowledge_base_source holen eine Seite aus dem Web. Jedes andere Tool bleibt in Ihrem eigenen Arbeitsbereich.
  • send_reply ist als unumkehrbar markiert, ebenso die vier Lösch-Tools und die Änderungen, die etwas an seiner Stelle überschreiben. draft_reply ist es nicht: Ein Entwurf, den niemand freigegeben hat, hat niemanden erreicht, und ihn zurückzuziehen kostet nichts.

Die Hinweise sind ein Ratschlag an den Client, keine Sperre. Was ein Token tatsächlich darf, entscheiden weiterhin seine Scopes und Ihre Rolle, bei jedem Aufruf erneut geprüft.

Zahlen ohne Posteingang

analytics:read und conversations:read sind bewusst getrennt, und das ist der Unterschied, den man verstehen sollte, bevor man irgendetwas anhakt. get_analytics liefert Aggregate: wie viele Konversationen, wie schnell beantwortet, welche Tags zunehmen, was die KI falsch gemacht hat. Nichts davon ist etwas, das ein Kunde geschrieben hat. search_conversations liefert Kundentext und gehört deshalb zu den Posteingangs-Werkzeugen.

So können Sie einem Assistenten Ihre Zahlen geben, ohne ihm Ihren Posteingang zu geben. „Rückerstattungen sind um 40 % gestiegen" und „hier ist, was vierzehn Leute über Rückerstattungen geschrieben haben" sind verschiedene Offenlegungen und werden getrennt gewährt.

Lesen steht jedem Mitglied offen. Schreiben erfordert Inhaber oder Administrator, genau wie im Dashboard: Das Token eines Agenten darf schauen, aber nichts ändern. Das wird vor Ihren Argumenten geprüft, sodass ein Token ohne Berechtigung durch den Aufruf nichts über ein Tool erfährt.

Das Bindeglied

attach_knowledge_base_groups_to_channel ist der Schritt, den man übersieht. Artikel hinzuzufügen richtet sie nirgendwohin aus: Ein Kanal ohne zugeordnete Gruppen durchsucht Ihre gesamte Wissensdatenbank, was bei einem Thema richtig und bei vielen schlecht ist. Gruppieren Sie die Artikel, ordnen Sie die Gruppe zu, und die KI antwortet auf diesem Kanal aus diesem Ausschnitt.

Die schwierigen Fälle beantworten#

Mit conversations:read und conversations:draft kann ein Assistent einen schwierigen Verlauf lesen und Ihnen eine durchdachte Antwort schreiben:

Sie: Lies Konversation 4821 und entwirf eine Antwort. Der Kunde hat recht, dass wir zu spät geliefert haben, aber die geforderte Erstattung ist höher als der Bestellwert.

Er ruft get_conversation auf, liest den ganzen Verlauf und ruft draft_reply auf. Der Entwurf landet in Ihrem Posteingang wie ein KI-Entwurf, und Sie senden ihn.

Ein Entwurf erreicht keinen Kunden. draft_reply reiht nie einen Versand ein: Der Entwurf bleibt inaktiv, bis eine Person ihn in HelpStack freigibt, wo die Freigabe unter ihrem Namen festgehalten wird.

Bei einem E-Mail-Kanal mit Antwortvorlage schreiben Sie nur den Text. Anrede und Gruß (Grußzeile und Absender) werden beim Versand ergänzt, deshalb entfernen draft_reply und send_reply eine Anrede oder einen Gruß, den Ihr Assistent geschrieben hat, statt sie doppelt zu senden.

Senden ist ein eigener Scope, conversations:send, und genau diese Trennung ist der Punkt. conversations:draft impliziert ihn nicht, nichts anderes gewährt ihn, und er ist nie vorangehakt. „Schreib mir eine Antwort" und „antworte für mich" sind verschiedene Entscheidungen, also verschiedene Berechtigungen.

Wenn Sie ihn gewähren, antwortet send_reply sofort und ungeprüft — genau das, was Ihre Kanäle mit aktivierter Auto-Antwort ohnehin tun. Es führt dieselbe Spracherkennung und Übersetzung aus wie der Freigabe-Button, damit keine englische Antwort bei einem Kunden landet, der auf Slowenisch geschrieben hat, und die Nachricht wird der Person zugeordnet, der das Token gehört, statt einem anonymen Assistenten. Eine gesendete Nachricht kann nicht zurückgeholt werden.

Nicht gesendete Entwürfe sind gekennzeichnet, wenn der Assistent den Verlauf erneut liest, damit er seinen eigenen Entwurf nie für etwas hält, das der Kunde gesehen hat.

Was sie nicht kann#

Absichtlich, und das ist die nützlichere Hälfte der Liste:

  • Sie kann nicht senden, sofern Sie nicht conversations:send gewährt haben, der standardmäßig aus ist, vom Entwerfen getrennt und nur ab Growth verfügbar.
  • Sie sieht keine andere Organisation. Die Organisation stammt aus dem Token und wird nie vom Aufrufer übergeben.
  • Sie liest Ihren Posteingang nur, wenn Sie das gewährt haben. Die Konversations-Scopes sind aus, bis Sie sie anhaken, und unterhalb von Growth nicht verfügbar.
  • Sie kann Ihre eigenen Rechte nicht überschreiten. Ein Token handelt als die Person, die es erstellt hat, mit deren Rolle wie sie jetzt ist.
  • Sie überlebt Ihre Mitgliedschaft nicht. Entfernen Sie jemanden aus der Organisation, hören dessen Tokens beim nächsten Aufruf auf zu funktionieren.
  • Sie fasst die Zugangsdaten eines Kanals nicht an. Postfach-Passwörter, Google-Refresh-Tokens und Meta-Seiten-Tokens sind in keinem Tool ein Feld; Kanäle verbinden bleibt Sache des Dashboards. Sie kann ändern, wie ein Kanal sich verhält, nicht, womit er sich anmeldet.
  • Sie kann kein Token erstellen. Ein Token, das Tokens ausstellen könnte, würde in einem Aufruf seine eigenen Berechtigungen verlassen, also gibt es dafür kein Tool. Tokens erstellt eine Person in den Einstellungen.
  • Sie kann kein Teammitglied hinzufügen, entfernen oder seine Rolle ändern. Zu ändern, wer Ihr Postfach erreicht, ist dieselbe Rechteausweitung wie ein neues Token: list_team_members liest, und nichts schreibt. Einladungen bleiben im Dashboard.
  • Sie fasst die Abrechnung nicht an. Kein Tool startet einen Checkout, wechselt den Tarif oder öffnet das Abrechnungsportal.
  • Sie kann Shopify oder WooCommerce nicht verbinden. Beides braucht einen Menschen im Browser — einen OAuth-Dialog oder einen Kopplungscode, der in WordPress eingefügt wird.
  • Sie ändert niemandes Benachrichtigungen außer Ihren. Eine Benachrichtigungseinstellung gehört einer Person, also schreibt set_notification_preferences die des Token-Inhabers und sonst niemandes.
  • Sie ändert den URL-Slug der Organisation nicht. Name und Standardsprache sind setzbar; der Slug steht in Links und ist es nicht.
  • Sie behält keinen Scope, den Ihr Tarif verloren hat. Nach einem Downgrade von Growth funktionieren die Konversations-Scopes am selben Tag nicht mehr, auch auf bereits ausgestellten Tokens. Mit Tags ist es genauso: die Taxonomie-Tools weisen eine Organisation unter Growth ab, MCP ist also nie ein Weg um den Tarif herum.

Beispiel#

Den Support eines Shops von null aufsetzen, in einem Gespräch:

Sie: Hier ist unser Hilfecenter: https://mystore.si/pomoc. Crawle es, füge dann einen FAQ-Chip zu Lieferzeiten hinzu und ein Tool, das den Bestellstatus über unsere API prüft.

Der Assistent ruft add_knowledge_base_url auf, dann create_faq, dann create_agent_tool — und meist zuerst list_agent_tools, um kein Tool zu doppeln, das Sie schon haben.

Zweierlei ist zu erwarten:

  • Der Crawl ist nicht sofort fertig. Jeder Durchlauf indexiert ungefähr 50 Seiten und ein erneuter Durchlauf reicht weiter, eine große Website wird also über mehrere Crawls abgedeckt. Fragen Sie nach list_knowledge_base_sources, um den Stand zu sehen.
  • Die Beschreibung eines Tools ist der wichtige Teil. Sie ist das, was das Modell liest, um zu entscheiden, wann es Ihr Tool aufruft. Sagen Sie es einfach — „nur verwenden, wenn der Kunde sowohl eine Bestellnummer als auch die E-Mail der Bestellung nennt" — und es landet in der Beschreibung, wo es hingehört.

Wenn etwas abgelehnt wird#

Die Fehler, die Sie am ehesten sehen, und was sie bedeuten:

MeldungWas passiert ist
unauthorizedDas Token ist falsch, widerrufen, oder sein Inhaber hat die Organisation verlassen. Erstellen Sie ein neues.
This token belongs to a member who cannot change settings.Der Inhaber des Tokens ist Agent oder Betrachter. Schreiben erfordert Inhaber oder Administrator.
Custom agent tools are available on the Growth plan and up.Genau das. Tools zu lesen funktioniert weiterhin.
Website limit for your plan reached.Löschen Sie eine Wissensdatenbank-Quelle oder wechseln Sie den Tarif.
invalid arguments: …Der Assistent hat ein Feld gesendet, das wir nicht annehmen. Unbekannte Felder werden abgelehnt statt ignoriert, damit ein Tippfehler laut scheitert, statt still etwas anderes zu tun.

Ein Token sicher halten#

Ein Token ist ein Passwort, das sich selbst eintippt. Behandeln Sie es so:

  • Ein Token pro Einsatzort, damit ein Widerruf nicht die anderen bricht.
  • Widerrufen Sie es, wenn Sie es nicht mehr nutzen. Einstellungen → API-Tokens zeigt, wann jedes zuletzt verwendet wurde; das reicht meist, um das ungenutzte zu erkennen.
  • Fügen Sie es nicht in ein geteiltes Dokument oder einen Chat ein. Falls doch, widerrufen Sie es — der Preis eines Fehlers ist, dass jemand Ihren Assistenten umkonfiguriert.
  • Es ist nicht für Ihre Kunden oder Ihre Website. Es gehört auf Maschinen, die Sie kontrollieren.

Verwandt#