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/ordersnachschlä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#
| Endpunkt | https://helpstack.eu/api/mcp |
| Transport | Streamable HTTP (kein lokaler Prozess zu installieren) |
| Auth | Ein Token (Authorization: Bearer hs_…) oder Anmeldung bei Clients, die sie brauchen |
| Wer ein Token erstellen darf | Inhaber oder Administrator |
| Was ein Token darf | Was Ihre eigene Rolle erlaubt, in einer Organisation |
| Tarif | Ab Starter (das mcp-Flag; sagen Sie uns Bescheid, wenn Sie auf Free sind und es brauchen) |
| Ratenbegrenzung | 120 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.
| Scope | Was er erlaubt |
|---|---|
settings:read | Kanäle, Agententools, Wissensdatenbank-Artikel und FAQs ansehen. |
settings:write | Agententools, Artikel und FAQs anlegen und bearbeiten und festlegen, woraus ein Kanal antwortet. Schließt settings:read ein. |
conversations:read | Kundenkonversationen lesen, samt Namen, E-Mail-Adressen und allem, was ein Kunde geschrieben hat. Ab Growth. |
conversations:draft | Antwortentwürfe zur Freigabe durch eine Person schreiben. Kann nicht senden. Schließt conversations:read ein. Ab Growth. |
conversations:send | Direkt 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:read | Aggregierte 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#
| Token | Anmeldung | |
|---|---|---|
| Für wen | Claude Code, Skripte, alles, was einen Header setzen kann | Claude Desktop, ChatGPT, Connector-Oberflächen |
| Einrichtung | Token hier erstellen, einmal einfügen | URL hinzufügen, auf einer HelpStack-Seite freigeben |
| Organisation wählen | Beim Erstellen des Tokens festgelegt | Bei der Freigabe gewählt |
| Abschalten | Token widerrufen | App 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#
| Tool | Was es tut |
|---|---|
whoami | Für welche Organisation das Token handelt, und mit welcher Rolle |
list_channels | Ihre Kanäle mit ihren IDs und Typen |
create_channel | Einen 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_settings | Wie 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_settings | All das ändern — KI-Antworten einschalten, sie als Entwurf stehen lassen, die Sprache des Teams setzen, umbenennen oder den Kanal abschalten |
list_agent_tools | Die Tools, die die KI bereits aufrufen kann, eingebaute inklusive |
create_agent_tool | Ein 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_tool | Beschreibung, URL, Parameter oder Aktivstatus eines Tools ändern, oder es zwischen CLIENT_SIDE und CLIENT_ACTION umstellen |
delete_agent_tool | Ein selbst erstelltes Tool entfernen |
get_agent_tool_logs | Letzte Aufrufe eines Tools — die erste Anlaufstelle, wenn es sich falsch verhält. Schaltflächen protokollieren OFFERED, TAPPED, dann SUCCESS oder FAILED |
list_knowledge_base_sources | Die gecrawlten Websites und ihr Status |
add_knowledge_base_url | Eine Website in die Wissensdatenbank crawlen |
recrawl_knowledge_base_source | Einen Crawl erneut ausführen, der weiter reicht als zuvor |
delete_knowledge_base_source | Eine gecrawlte Website und ihre Artikel entfernen |
list_knowledge_base_articles | Alle Artikel mit Quelle und Status |
add_knowledge_base_article | Einen Artikel von Hand schreiben |
update_knowledge_base_article | Einen handgeschriebenen Artikel bearbeiten |
delete_knowledge_base_article | Einen Artikel entfernen |
list_knowledge_base_groups | Gruppen mit Artikel- und Kanalzahlen |
create_knowledge_base_group | Verwandte Artikel bündeln, damit sie gezielt werden können |
attach_knowledge_base_groups_to_channel | Festlegen, woraus ein Kanal antwortet |
get_widget_config | Die 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_tags | Ihre Tag-Taxonomie — Themen-Tags halten fest, worum es in einer Konversation ging, Status-Tags beschreiben sie im Jetzt. Ab Growth |
create_tag | Ein Tag anlegen. Seine Art steht beim Anlegen fest, denn eine Änderung würde umschreiben, was jede frühere Verwendung bedeutete |
update_tag | Ein Tag umbenennen oder Beschreibung, Farbe oder Kategorie ändern |
archive_tag | Ein Tag außer Betrieb nehmen. Bereits getaggte Konversationen behalten es — deshalb ist das kein Löschen |
restore_tag | Ein archiviertes Tag unter dem Namen zurückholen, den es weiterhin belegt |
list_tag_categories | Die Gruppen, in denen Tags organisiert sind, und welche davon exklusiv sind |
create_tag_category | Tags gruppieren — "Stimmung", "Status", "Produktbereich". Exklusive Kategorien halten immer nur ein Tag |
update_tag_category | Eine Kategorie umbenennen, umsortieren oder ihre Exklusivität ändern |
archive_tag_category | Eine Gruppierung außer Betrieb nehmen. Ihre Tags bleiben, nur ohne Gruppe |
list_team_members | Wer in der Organisation ist, mit Rolle — daher kommen die Agent-IDs für eine Routing-Regel |
list_assignment_rules | Ihre Routing-Regeln, in der Reihenfolge, in der sie geprüft werden |
create_assignment_rule | Neue 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_rule | Bedingungen, Pool, Reihenfolge oder Aktivstatus einer Regel ändern. Die letzte Bedingung einer Regel zu entfernen wird abgelehnt |
delete_assignment_rule | Eine Regel entfernen. Bereits zugewiesene Konversationen behalten ihren Bearbeiter |
update_organization | Den Firmennamen setzen, den Kunden sehen, und die Standardsprache, die neue Kanäle erben |
get_notification_preferences | Welche Benachrichtigungen das Mitglied erhält, dem das Token gehört |
set_notification_preferences | Diese ändern — für diese eine Person, nie für das Team |
list_faqs | Die FAQ-Chips auf dem Begrüßungsbildschirm des Widgets |
create_faq | Einen FAQ-Chip hinzufügen |
update_faq | Frage, Antwort oder Sichtbarkeit eines Chips ändern |
delete_faq | Einen Chip entfernen |
list_conversations | Kundenkonversationen, neueste zuerst, filterbar nach Status und Kanal |
get_conversation | Eine Konversation vollständig, alle Nachrichten der Reihe nach |
draft_reply | Einen Entwurf in den Posteingang schreiben, den eine Person freigibt und sendet |
send_reply | Direkt an den Kunden antworten, ohne Prüfung |
get_data_coverage | Ab wann jeder Datensatz beginnt, damit nie gegen Daten verglichen wird, die es nicht gibt |
get_analytics | Volumen, Antwort- und Lösungszeiten, KI gegen Mensch, Stoßzeiten, Kanäle, Agenten, Entwurfsergebnisse, Kosten und Tags inklusive Stimmung |
search_conversations | Zä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_urlundrecrawl_knowledge_base_sourceholen eine Seite aus dem Web. Jedes andere Tool bleibt in Ihrem eigenen Arbeitsbereich. send_replyist als unumkehrbar markiert, ebenso die vier Lösch-Tools und die Änderungen, die etwas an seiner Stelle überschreiben.draft_replyist 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:sendgewä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_membersliest, 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_preferencesdie 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:
| Meldung | Was passiert ist |
|---|---|
unauthorized | Das 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#
- Agententools — was Tools sind und wie man eine gute Beschreibung schreibt.
- Benutzerdefinierte Agententools — die Integrator-Referenz für die Endpunkte, die Ihre Tools aufrufen.
- Wissensdatenbank — wie Crawling und Artikel sich verhalten.
- Feature-Flags — welche Funktionen Ihr Tarif enthält.