Zum Inhalt springen
evnxt

Die Suche läuft in deinem Browser, es wird keine Eingabe an uns gesendet.

Dokumentation · Integrationen

MCP-Server für KI-Agenten

Über den MCP-Server fragt ein KI-Agent deine Websites, ihre Search-Console-Leistung, Analysen und Zeitreihen, Indexierung, Keywords, Beiträge, Onpage-Audit, Crawl-Daten, Core Web Vitals, PageSpeed-Labortests, Berichte, Erreichbarkeit, Migrationen und SEO-Experimente direkt bei evnxt ab: in Claude Code, in Cursor oder in einem eigenen Agenten. Er nutzt dieselben API-Schlüssel wie die Produkt-API oder eine Verbindung über dein evnxt-Konto. Die meisten Werkzeuge lesen nur; schreibende Werkzeuge (Entwürfe, Befunde, Monitoring, Index-Tracker, IndexNow, Sitemaps, Gruppen, Markierungen, Experimente) brauchen je einen eigenen Geltungsbereich.

MCP (Model Context Protocol) ist der offene Standard, über den KI-Werkzeuge externe Datenquellen als „Werkzeuge“ einbinden. Der Agent sieht, welche Werkzeuge evnxt anbietet, ruft sie mit Parametern auf und bekommt strukturierte Antworten zurück.

Endpunkt

https://evnxt.de/mcp

Transport ist MCP Streamable HTTP: nur POST, zustandslos, Protokollversion 2025-11-25. Der Server meldet sich als evnxt, Version 2.5.0.

Anmeldung

Es gibt zwei Wege: einen API-Schlüssel (für Claude Code, Cursor und eigene Agenten) oder die Verbindung über dein evnxt-Konto (für Claude.ai und ChatGPT, siehe Einrichtung).

Mit Schlüssel trägt jede Anfrage denselben API-Schlüssel wie für die Produkt-API (Präfix evx_live_) als Bearer-Token:

Authorization: Bearer evx_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Schlüssel legst du unter Übersicht → API & MCP an. Ohne Schlüssel oder mit einem widerrufenen Schlüssel antwortet /mcp mit 401. Ist die API für deinen Workspace noch nicht freigeschaltet, antwortet /mcp mit 404, genau wie /api/v1.

Grenzen

Es gelten dieselben Schranken wie bei der Produkt-API, je Schlüssel: ein Minutenlimit (Vorgabe 60, bis 600) und ein Tageslimit (Vorgabe 10.000). Jede MCP-Anfrage zählt als ein Aufruf. Details und Antwortheader stehen unter Rate-Limits.

Ein Schlüssel sieht nur den Workspace, zu dem er gehört. Was der Schlüssel nicht sieht, existiert für den Agenten nicht.

Werkzeuge

Die lesenden Werkzeuge sind als solche gekennzeichnet (readOnlyHint); schreibende sind in den Tabellen markiert. Die Tabelle hier zeigt die 32 Werkzeuge bis Version 2.0.0, die 80 Werkzeuge seit 2.1.0 stehen weiter unten nach Gruppen. Ein Schlüssel sieht nur die Werkzeuge, für die er den passenden Geltungsbereich hat. Die Geltungsbereiche onpage:read, monitoring:read, crawl:read, indexing:read, indexing:write, settings:write, reports:read, reports:share und portfolio:read gibt es nur für den MCP-Server; ältere Schlüssel haben sie nicht. Lege dafür einen neuen Schlüssel an. Die Werkzeuge zu Audit und Crawl gelten nur für Websites mit dem Modul Onpage; sonst kommt ein klarer Fehler.

Werkzeug Geltungsbereich Liefert
list_websites websites:read Websites des Workspaces
get_search_performance results:read Search-Console-Leistung eines Zeitraums
get_top_movers results:read Gewinner und Verlierer
query_search_analytics results:read freie Abfrage der Suchdaten
query_top_queries results:read beste Suchanfragen
query_top_pages results:read beste Seiten
query_countries results:read Summen je Land
query_devices results:read Summen je Gerät
get_page_performance results:read Verlauf einer Seite
get_query_performance results:read Verlauf einer Suchanfrage
query_search_appearance results:read Darstellung in der Suche
list_keywords keywords:read Keywords einer Website
list_articles articles:read Beiträge einer Website
get_article articles:read ein Beitrag als Klartext
get_onpage_findings onpage:read Befunde des letzten Onpage-Audits, mit rule_id die konkrete Karte
get_audit_overview onpage:read das letzte Audit als Ganzes
get_keyword_occupancy onpage:read ob ein Keyword schon belegt ist
list_internal_link_suggestions onpage:read interne Link-Vorschläge
list_crawls crawl:read Crawl-Läufe der Website
get_crawl_summary crawl:read Kennzahlen eines Laufs
list_crawl_pages crawl:read Seitenliste eines Laufs mit Filtern
get_page_details crawl:read eine Seite mit allen Feldern
get_crawl_analysis crawl:read Analysen: Duplikate, Waisen, Canonical, Sitemap, Facetten, externe Links, Weiterleitungen
get_crawl_comparison crawl:read Änderungen zum vorigen Lauf
get_domain_policy crawl:read Domain-Politik des Laufs
get_uptime_status monitoring:read Erreichbarkeit, Antwortzeit, SSL
list_incidents monitoring:read bestätigte Ausfälle
create_article_draft articles:write legt einen Beitragsentwurf an (schreibend)
approve_article articles:publish gibt einen Beitrag frei (schreibend)
publish_article articles:publish veröffentlicht einen Beitrag ins CMS (schreibend)
mark_finding_done onpage:write markiert Befunde als erledigt (schreibend)
add_monitoring_url monitoring:write nimmt eine Seite ins Uptime-Monitoring auf (schreibend)

Listen liefern total, offset und next_offset. Für die nächste Seite gibst du next_offset als offset mit; null heißt Ende.

list_websites

Geltungsbereich websites:read. Liefert alle Websites des Workspaces mit ID, Name, Basisadresse, Sprache, Markt, CMS-Status und Search-Console-Status (verbunden, Status, Daten bis). Dieses Werkzeug zuerst aufrufen: die beiden anderen brauchen eine website_id.

get_search_performance

Geltungsbereich results:read. Search-Console-Leistung einer Website für einen Zeitraum: Klicks, Impressionen, CTR und durchschnittliche Position, auf Wunsch mit Vergleichszeitraum und Aufschlüsselung.

Parameter Bedeutung Vorgabe
website_id Pflicht; ID aus list_websites
start_date, end_date Zeitraum als YYYY-MM-DD, höchstens 500 Tage die letzten 28 Tage mit Daten
compare previous_period, previous_year oder none; liefert Vergleichswerte und die Veränderung in Prozent previous_period
dimension none, page oder query; Aufschlüsselung nach Seiten oder Suchanfragen, nach Klicks sortiert none
limit Zeilen der Aufschlüsselung, 1 bis 100 25

get_top_movers

Geltungsbereich results:read. Gewinner und Verlierer der letzten N Tage gegenüber den N Tagen davor, als Seiten oder Suchanfragen, jeweils mit Klicks, Impressionen und Position beider Zeiträume.

Parameter Bedeutung Vorgabe
website_id Pflicht; ID aus list_websites
dimension query oder page query
days 7, 14, 28 oder 90 28
limit Einträge je Richtung, 1 bis 50 10
min_impressions Mindestzahl an Impressionen, damit ein Eintrag zählt 10

query_search_analytics

Geltungsbereich results:read. Freie Abfrage der Suchdaten: gruppieren nach date, query, page, country, device oder search_appearance, filtern je Dimension mit equals, not_equals, contains, not_contains, regex oder not_regex, Suchtypen web, image, video, news, discover und googleNews, sortieren, bis 1.000 Zeilen, Raster Tag, Woche oder Monat. Mit fresh=true kommen auch die neuesten, noch nicht endgültigen Tage.

query_top_queries und query_top_pages

Geltungsbereich results:read. Die besten Suchanfragen beziehungsweise Seiten eines Zeitraums, mit Textfilter oder Regex, Mindestzahl an Impressionen und auf Wunsch einem Vergleich je Zeile.

query_countries und query_devices

Geltungsbereich results:read. Summen je Land beziehungsweise Gerät mit Anteil und Vergleich.

get_page_performance

Geltungsbereich results:read. Verlauf einer Seite mit Vergleich und ihren wichtigsten Suchanfragen.

get_query_performance

Geltungsbereich results:read. Verlauf einer Suchanfrage mit den Seiten, die dafür ranken; zwei oder mehr Seiten können auf Kannibalisierung hindeuten.

query_search_appearance

Geltungsbereich results:read. Darstellung in der Suche (Rich Results und andere Erscheinungsformen), immer als Live-Abfrage bei Google.

list_keywords

Geltungsbereich keywords:read. Keywords einer Website mit Score, Suchvolumen, Schwierigkeit und Stand der Daten, nach Score sortiert.

Parameter Bedeutung Vorgabe
website_id Pflicht; ID aus list_websites
status candidate, selected, planned oder rejected alle
limit Einträge je Seite, 1 bis 100 50
offset Startposition zum Blättern 0

list_articles

Geltungsbereich articles:read. Beiträge einer Website, neueste zuerst, mit Status, Veröffentlichung, Live-Adresse und den Search-Console-Werten der letzten 28 Tage mit Daten (Klicks, Impressionen, durchschnittliche Position).

Parameter Bedeutung Vorgabe
website_id Pflicht; ID aus list_websites
status Beitragsstatus, zum Beispiel entwurf, angefragt oder publiziert alle
limit Einträge je Seite, 1 bis 100 25
offset Startposition zum Blättern 0

get_article

Geltungsbereich articles:read. Ein Beitrag als Klartext ohne HTML, mit Teaser, Quellen, Faktencheck- und Qualitätswert, Live-Adresse und den Klicks der letzten 28 Tage. Ein Beitrag aus einem fremden Workspace heißt „nicht gefunden“.

Parameter Bedeutung Vorgabe
article_id Pflicht; ID aus list_articles
max_chars Länge des Textes, 0 bis 50.000; 0 liefert nur die Metadaten 12.000

get_onpage_findings

Geltungsbereich onpage:read. Ergebnis des letzten fertigen Onpage-Audits: die Lage, die wichtigsten Maßnahmen und die Befundgruppen je Regel mit Schwere (error, warning, info) und der Zahl der Adressen, die offen, behoben oder erledigt sind. Mit rule_id kommen die betroffenen Adressen einer Regel, seitenweise, dazu die konkrete Karte wie in der Onpage-Ansicht: Befund, Lösungsweg, Code-Schnipsel und Beispiele mit Ist und Soll. Ohne fertiges Audit gibt es einen Hinweis mit dem nächsten Termin. Der Aufruf kostet kein Kontingent.

Parameter Bedeutung Vorgabe
website_id Pflicht; ID aus list_websites
severity error, warning oder info alle
rule_id Regel, deren betroffene Adressen du sehen willst
only_open nur offene Befunde
limit Einträge je Seite, 1 bis 100 25
offset Startposition zum Blättern 0

get_audit_overview

Geltungsbereich onpage:read. Das letzte Audit als Ganzes: Lage, Punktzahl, dringende Befunde, die wichtigsten Maßnahmen mit konkreten Karten (Befund, Lösungsweg, Code-Schnipsel, Fundstellen mit Ist und Soll), weitere Maßnahmen, offene noindex-Rückfragen, bewusst Ausgeschlossenes, der GEO-Teil und der Verlauf der letzten Audits.

Parameter Bedeutung Vorgabe
website_id Pflicht; ID aus list_websites
history Zahl der Audits im Verlauf, bis 12 6

get_keyword_occupancy

Geltungsbereich onpage:read. Ob ein Keyword schon von einer Seite belegt ist, dazu weitere Seiten, die dafür ranken (Kannibalisierung). Nur gespeicherte Daten, nie ein bezahlter Abruf.

Parameter Bedeutung Vorgabe
website_id Pflicht; ID aus list_websites
keyword Pflicht; das zu prüfende Keyword

Geltungsbereich onpage:read. Ohne url die Seitenliste mit Inhaltslinks, eingehenden Links und der Angabe, ob Vorschläge schon berechnet sind. Mit url die bestehenden Links der Seite und die Vorschläge mit Ziel, Ankertext, Textstelle, Score (60 bis 100) und Begründung. Schon berechnete Seiten sind immer frei; eine neue Berechnung ist auf 10 Seiten je Website und Tag begrenzt, die Antwort nennt den Rest.

Parameter Bedeutung Vorgabe
website_id Pflicht; ID aus list_websites
url Seite, für die du Links und Vorschläge sehen willst
view important (ohne die Seiten, die du ausgeblendet hast), hidden oder all important

Jede Seite trägt das Feld hidden.

list_crawls

Geltungsbereich crawl:read. Die Crawl-Läufe der Website, neueste zuerst, mit Status, Datum, Seitenzahl, ob Crawl-Daten abrufbar sind und welcher Lauf der aktuelle ist. Die crawl_id daraus nutzen die anderen Crawl-Werkzeuge; ohne crawl_id gilt der neueste Lauf.

Parameter Bedeutung Vorgabe
website_id Pflicht; ID aus list_websites

get_crawl_summary

Geltungsbereich crawl:read. Kennzahlen eines Laufs: Verteilung der Statuscodes und der Indexierbarkeit, durchschnittliche Ladezeit und Wortzahl, Seitentypen, Befunde je Regel und Kategorie sowie die Zahlen der Analysen (Waisen, Canonical-Ketten, Duplikate, Kannibalisierung, kaputte externe Links).

Parameter Bedeutung Vorgabe
website_id Pflicht; ID aus list_websites
crawl_id Lauf aus list_crawls der neueste Lauf

list_crawl_pages

Geltungsbereich crawl:read. Seitenliste eines Laufs mit Filtern und Sortierung. Je Seite Title, Meta-Description, H1, Canonical, Indexierbarkeit, Tiefe, interne Links ein und aus, Wörter, Seitentyp, Ladezeit, Klicks, Impressionen und Position aus der Search Console sowie die Zahl der Befunde.

Parameter Bedeutung Vorgabe
website_id Pflicht; ID aus list_websites
crawl_id Lauf aus list_crawls der neueste Lauf
status_code, indexability, page_type, finding_type, search Filter
sort Sortierung: url, status_code, title, word_count, load_time_ms, inlinks_count, outlinks_internal, outlinks_external, indexability, depth, link_score, own_word_count, issues_count, gsc_clicks, gsc_impressions, gsc_ctr oder gsc_position url
order asc oder desc
limit Einträge je Seite, 1 bis 200 50
offset Startposition zum Blättern 0

get_page_details

Geltungsbereich crawl:read. Eine Seite per url oder page_id mit allen Feldern, Befunden, Ankertexten, Links ein und aus, den gespeicherten Search-Console-Werten und dem Verlauf über frühere Crawls.

Parameter Bedeutung Vorgabe
website_id Pflicht; ID aus list_websites
url oder page_id die Seite
crawl_id Lauf aus list_crawls der neueste Lauf
links_limit Links je Richtung, bis 200 50

get_crawl_analysis

Geltungsbereich crawl:read. Die Analysen eines Laufs, mit Blättern.

Parameter Bedeutung Vorgabe
website_id Pflicht; ID aus list_websites
crawl_id Lauf aus list_crawls der neueste Lauf
analysis Pflicht: duplicates (kind = exact oder near), cannibalization, orphans (source, status), canonical (kind = chain, loop, unlinked oder not_indexable), sitemap, sitemap_urls (kind Pflicht: in_index, not_indexable, missing_in_sitemap oder not_crawled), facets, external_links (status, host) oder redirects

get_crawl_comparison

Geltungsbereich crawl:read. Was sich zum vorigen Lauf geändert hat, je Kategorie mit den betroffenen URLs und den Werten vorher und nachher. Kategorien sind unter anderem new, removed, status_changed, indexability_changed, canonical_changed, title_changed, description_changed, h1_changed, content_changed, word_count_changed, page_type_changed, depth_changed und redirect_changed.

Parameter Bedeutung Vorgabe
website_id Pflicht; ID aus list_websites
crawl_id Lauf aus list_crawls der neueste Lauf
categories nur diese Kategorien alle
page, per_page Blättern, per_page bis 200

get_domain_policy

Geltungsbereich crawl:read. Die Domain-Politik des Laufs: Schwellen und gewollte Muster, nur lesend.

Parameter Bedeutung Vorgabe
website_id Pflicht; ID aus list_websites
crawl_id Lauf aus list_crawls der neueste Lauf

get_uptime_status

Geltungsbereich monitoring:read. Je überwachter Adresse der Status (up, down, unknown), die Verfügbarkeit in Prozent für 24 Stunden, 7, 30 und 90 Tage, die Antwortzeit (Mittel und p95 der letzten 24 Stunden), das SSL-Zertifikat (gültig bis, Resttage, Warnstufe) und ein laufender Ausfall. Dazu Prüfabstand und Zielgrenze deines Pakets.

Parameter Bedeutung Vorgabe
website_id Pflicht; ID aus list_websites

list_incidents

Geltungsbereich monitoring:read. Bestätigte Ausfälle der letzten N Tage, neueste zuerst, mit Beginn, Ende, Dauer und Ursache (DNS, Verbindung, TLS, Zeitüberschreitung, HTTP 4xx/5xx, Pflichttext fehlt, Weiterleitung).

Parameter Bedeutung Vorgabe
website_id Pflicht; ID aus list_websites
days Zeitraum in Tagen, 1 bis 365 30
limit Einträge je Seite, 1 bis 100 20
offset Startposition zum Blättern 0

Schreibende Werkzeuge

Die schreibenden Werkzeuge laufen über dieselben Wege wie die Oberfläche und die Produkt-API. Jedes braucht einen eigenen Geltungsbereich; articles:publish ist beim Anlegen eines Schlüssels nie vorausgewählt und trägt in der Schlüsselverwaltung einen roten Warnhinweis. approve_article und publish_article sind als destruktiv gekennzeichnet: Ein Agent soll sie nur aufrufen, wenn du es ausdrücklich verlangst; das steht auch in den Hinweisen des Servers.

create_article_draft

Geltungsbereich articles:write. Legt einen Beitragsentwurf an; evnxt recherchiert und schreibt ihn dann. Verbraucht Kontingent oder Credits; ist beides aufgebraucht, kommt eine klare Meldung. Veröffentlicht nichts.

Parameter Bedeutung Vorgabe
website_id Pflicht; ID aus list_websites
title Pflicht; 5 bis 180 Zeichen
keyword Zielkeyword
kind redaktionell, produktratgeber oder vergleich
brief Briefing, bis 2.000 Zeichen
scheduled_at Termin als ISO 8601, in der Zukunft

approve_article

Geltungsbereich articles:publish. Gibt einen Beitrag im Status angefragt frei; je nach Einstellung der Website wird er dann veröffentlicht. Die Qualitätssperre gilt. Websites im manuellen Modus lassen sich so nicht freigeben.

Parameter Bedeutung Vorgabe
article_id Pflicht; ID aus list_articles

publish_article

Geltungsbereich articles:publish. Veröffentlicht einen Beitrag ins CMS. Erlaubt im manuellen Modus und als zweiter Versuch für freigegebene Beiträge, deren CMS-Veröffentlichung fehlgeschlagen ist.

Parameter Bedeutung Vorgabe
article_id Pflicht; ID aus list_articles

mark_finding_done

Geltungsbereich onpage:write. Markiert die Befunde einer Regel als erledigt, für alle oder für ausgewählte Adressen. Das Audit aktualisiert sich danach in ein paar Minuten. Höchstens 20 Änderungen je Website und Minute.

Parameter Bedeutung Vorgabe
website_id Pflicht; ID aus list_websites
rule_id Pflicht; die Regel
urls nur diese Adressen, bis 50 alle
note Notiz, bis 500 Zeichen
undo true nimmt die Markierung zurück, für die ganze Regel oder eine Adresse false

add_monitoring_url

Geltungsbereich monitoring:write. Nimmt eine Seite der eigenen Domain in die Erreichbarkeitsprüfung auf, optional mit Pflichttext. Die Paketgrenze gilt, Doppelte werden abgelehnt.

Parameter Bedeutung Vorgabe
website_id Pflicht; ID aus list_websites
url Pflicht; Adresse der eigenen Domain
required_text Pflichttext, bis 200 Zeichen

Werkzeuge seit Version 2.1.0

Seit Version 2.1.0 gibt es 100 Werkzeuge, seit 2.5.0 sind es 112. Die 80 neuen sind hier nach Gruppen geordnet; wo nichts anderes steht, sind sie nur lesend. Ein Eingabefehler liefert seit 2.1.0 den Regeltext zurück, nicht mehr „Internal error“; seit 2.2.0 ist dieser Text immer englisch.

Analysen der Suchdaten

Geltungsbereich results:read, alle lesend.

Werkzeug Was es liefert
get_ranking_changes Suchanfragen oder Seiten, die gegenüber der Vorperiode oder dem Vorjahr neu, verloren, besser oder schlechter sind
find_decaying_content Seiten oder Suchanfragen, die gegenüber ihrem eigenen Höchststand Klicks verloren haben
get_decay_overview Monats- oder Wochenmatrix der ganzen Website: Kennzahlen je Periode und wie viele Seiten gewachsen oder gefallen sind
analyze_sampling_impact wie viel Traffic Google in anonymisierten Suchanfragen verbirgt
get_position_distribution Verteilung der Suchanfragen oder Seiten über die Positionen 1 bis 3, 4 bis 10, 11 bis 20 und ab 21
analyze_ctr_curve die eigene Klickrate je Position im Vergleich zur Branchenkurve, mit den Suchanfragen, die darunter liegen
analyze_cannibalization Suchanfragen, für die zwei oder mehr Seiten konkurrieren
find_striking_distance Seite-Suchanfrage-Paare knapp hinter den Spitzenplätzen (Vorgabe Position 4 bis 20) mit geschätzten Zusatzklicks
score_opportunities SEO-Chancen nach geschätzten Zusatzklicks: Striking Distance, Klickraten-Lücke und weitere
breakdown_by_path Leistung je Pfadanfang, zum Beispiel /blog oder /shop/schuhe
get_branded_performance Suchanfragen mit und ohne Marke im Vergleich (Markenbegriffe aus set_brand_terms)
get_longtail_clusters Suchanfragen nach Länge: Head (1 bis 2 Wörter), Mid (3 bis 4) und Longtail (ab 5)
analyze_query_shapes Schätzung aus dem Wortlaut: wie viele Suchanfragen KI-artig, Fragen, Vergleiche, lang oder Standard sind
get_query_shape_trend Verlauf dieser Formen je Monat oder Woche
get_sitemap_performance Leistung der URLs aus den XML-Sitemaps des letzten Crawls (auch crawl:read)

Zeitreihen

Geltungsbereich results:read, alle lesend.

Werkzeug Was es liefert
detect_anomalies ungewöhnliche Tage bei Klicks oder Impressionen, verglichen mit demselben Wochentag der acht Wochen davor
detect_change_points dauerhafte Niveauwechsel bei Klicks oder Impressionen mit dem ersten Tag jedes neuen Niveaus
forecast_traffic statistische Prognose der täglichen Klicks oder Impressionen für 1 bis 180 Tage
list_algo_updates Google-Updates und Störungen aus dem öffentlichen Google Search Status Dashboard
list_events Ereignisse der Website, wie als Markierungen in den Diagrammen: Ausfälle, Beiträge, Seiten-Änderungen, Google-Updates, eigene Anmerkungen

Indexierung

Lesen mit indexing:read, Ändern mit indexing:write. Google erlaubt 2.000 URL-Prüfungen je Tag und Property; davon nutzt der Index-Tracker höchstens 1.500. Tracker-URLs je Website: Free 50, Starter 500, größere Pakete 1.800.

Werkzeug Geltungsbereich Was es tut
inspect_url indexing:read fragt Google (URL Inspection API), ob eine URL indexiert ist und warum
bulk_inspect_urls indexing:read prüft bis zu 25 URLs auf einmal, mit Zusammenfassung
get_inspection_quota indexing:read wie viele der 2.000 täglichen Prüfungen heute verbraucht sind; kostet kein Kontingent
list_url_inspections indexing:read Verlauf der gespeicherten URL-Prüfungen, neueste zuerst
get_index_tracker_report indexing:read Bericht des Index-Trackers: indexiert, nicht indexiert, nicht geprüft, neu indexiert oder verloren
list_sitemaps indexing:read in der Search Console eingereichte Sitemaps mit Status, Warnungen und Fehlern
get_indexnow_settings indexing:read IndexNow-Einrichtung (Bing, Yandex, Seznam, Naver; Google nutzt IndexNow nicht): Schlüssel und Ablageort der Schlüsseldatei
add_tracked_urls indexing:write nimmt URLs in den Index-Tracker auf; nicht indexierte werden täglich, indexierte wöchentlich geprüft (schreibend)
remove_tracked_urls indexing:write entfernt URLs aus dem Tracker, mit all=true alle; der Prüfverlauf bleibt (schreibend)
check_tracked_urls_now indexing:write prüft bis zu 25 Tracker-URLs sofort, die am längsten ungeprüften zuerst (schreibend, kostet Kontingent)
submit_indexnow_urls indexing:write meldet neue oder geänderte URLs an IndexNow-Suchmaschinen (schreibend)
submit_sitemap indexing:write reicht eine XML-Sitemap bei der Search Console ein (schreibend)

submit_sitemap braucht das Schreibrecht der Google-Verbindung. Neue Search-Console-Verbindungen haben es: Google fragt beim Verbinden „abrufen und verwalten“ an, und evnxt nutzt das nur zum Einreichen von Sitemaps; Properties, Nutzer und Einstellungen ändert es nie. Wurde die Search Console verbunden, bevor evnxt Sitemaps einreichen konnte, kann die Verbindung nur lesen, bis du sie in evnxt neu verbindest; bis dahin antwortet das Werkzeug mit read_only_connection und nennt den Weg. Siehe Search Console verbinden.

Gruppen und Einstellungen

Lesen mit results:read, Ändern mit settings:write.

Werkzeug Geltungsbereich Was es tut
list_content_groups results:read Inhaltsgruppen der Website: gespeicherte Regeln und die Seitentypen des Crawlers
get_content_group_performance results:read Leistung je Inhaltsgruppe
create_content_group, update_content_group, delete_content_group settings:write Inhaltsgruppe aus 1 bis 10 Regeln anlegen, ändern, löschen (schreibend)
list_query_clusters results:read Suchanfrage-Cluster: gespeicherte Regeln und die Keyword-Cluster der Keyword-Recherche
get_query_cluster_performance results:read Leistung je Suchanfrage-Cluster
create_query_cluster, delete_query_cluster settings:write Suchanfrage-Cluster aus 1 bis 10 Regeln anlegen oder löschen (schreibend)
list_saved_filters results:read gespeicherte Filter für query_search_analytics
save_filter, delete_saved_filter settings:write Filter unter einem Namen speichern oder löschen (schreibend)
set_brand_terms settings:write Markenbegriffe der Website setzen; eine leere Liste löscht sie (schreibend)
set_website_tags settings:write Tags der Website setzen, zum Beispiel Kunde, Land oder Shop (schreibend)
create_annotation, update_annotation, delete_annotation settings:write eigene Markierung in der Zeitleiste anlegen, ändern, löschen, zum Beispiel ein Relaunch; automatische Ereignisse lassen sich nicht löschen (schreibend)

Berichte und Portfolio

Werkzeug Geltungsbereich Was es tut
list_reports reports:read gespeicherte Wochen- und Monatsberichte, neueste zuerst
get_report reports:read der vollständige Inhalt eines Berichts
generate_report reports:read rechnet einen Wochen- oder Monatsbericht sofort, ohne ihn zu speichern
create_report_share_link reports:share Teil-Link auf einen Bericht ohne Anmeldung, öffentlich unter evnxt.de/bericht/ mit 48 Zeichen, Ablauf 1 bis 90 Tage (Vorgabe 30), höchstens 20 aktive je Bericht, noindex (schreibend)
list_report_share_links reports:share Teil-Links mit Status, Ablauf und Aufrufen
revoke_report_share_link reports:share zieht einen Teil-Link sofort zurück (schreibend)
get_cross_site_summary results:read Suchleistung aller Websites des Workspaces auf einmal
get_tag_group_view results:read Suchleistung je Website-Tag
list_portfolio portfolio:read für Agenturen: die angenommenen, verknüpften Kunden-Workspaces mit Websites und Search-Console-Status

Mit portfolio:read lesen Agenturen auch die Daten der verknüpften Kunden-Workspaces. Über das Portfolio gehen nur lesende Werkzeuge; schreibende Werkzeuge, URL-Prüfungen und Teil-Links nie.

Crawl und Suchdaten zusammen

Geltungsbereiche results:read und crawl:read, alle lesend. Beim ersten Aufruf nach einem neuen Crawl kann die Antwort preparing lauten; dann eine Minute später erneut fragen.

Werkzeug Was es liefert
get_page_type_performance Suchleistung je Seitentyp (Produkt, Kategorie, Artikel und weitere), wie vom Crawler erkannt
find_index_gaps Indexierungslücken aus Crawl und Search Console, ohne Google-Kontingent: indexierbare Seiten ohne Impressionen, nicht indexierbare Seiten mit Traffic
prioritize_fixes Audit-Befunde nach dem Suchtraffic der betroffenen Seiten geordnet
get_page_360 alles zu einer URL in einer Antwort: Suchdaten, Crawl-Felder, Befunde, Links, Verlauf
get_competitor_overview Wettbewerber mit wöchentlicher Sichtbarkeit und Keyword-Lücken (Geltungsbereich keywords:read)
get_ai_visibility gemessene KI-Sichtbarkeit aus dem letzten Lauf: wie oft ChatGPT, Gemini, Perplexity, Claude und Google AI Overviews die Website nennen
explain_traffic_change erklärt einen Anstieg oder Einbruch: findet den Zeitpunkt, vergleicht 28 Tage davor und danach, nennt Seiten, Suchanfragen und Ereignisse; seit 2.5.0 je tragender Seite archive_changes (im Vergleichszeitraum neu erfasste Fassungen aus dem Seitenarchiv), ein Wayback-Link auf den Tag vor dem Wechsel und die Hypothese archived_page_changes
plan_striking_distance Maßnahmenplan für Suchanfragen auf Position 4 bis 20 mit dem größten Klickpotenzial
resolve_cannibalization Empfehlung, welche Seite bei Kannibalisierung bleiben soll
get_content_refresh_plan Auffrischungsplan für Seiten, die gegenüber ihrem Höchststand verloren haben

Core Web Vitals (seit 2.2.0)

Geltungsbereich results:read, alle lesend. Quelle ist der Chrome UX Report (CrUX) von Google: Felddaten echter Chrome-Nutzer der letzten 28 Tage. Kleine Websites haben dort oft keine Daten; dann lautet das Urteil insufficient_data.

Werkzeug Was es liefert
get_core_web_vitals Core Web Vitals der ganzen Website (Origin) oder einer URL: p75 von LCP, INP, CLS, FCP und TTFB mit Bewertung und den Anteilen gut, verbesserungswürdig und schlecht, dazu das Gesamturteil (passed, failed, insufficient_data); Vorgabe Smartphone und Desktop. Mit URL auch Ladezeit und Seitentyp aus dem letzten evnxt-Crawl
get_core_web_vitals_history wöchentlicher Verlauf aus der CrUX History API (bis zu 40 überlappende 28-Tage-Fenster, etwa 9 Monate) für die Website oder eine URL: je Fenster p75 und Anteil guter Besuche für LCP, INP, CLS, FCP und TTFB, je Metrik die Richtung (besser, schlechter, stabil), erste und letzte Bewertung und der größte Sprung zwischen zwei Fenstern. Damit datierst du eine Verschlechterung oder prüfst, ob eine Korrektur gewirkt hat
get_core_web_vitals_by_page_type Core Web Vitals je Seitentyp (auch crawl:read): Der Crawler ordnet die Seiten ein (Produkt, Kategorie, Artikel und weitere), für die klickstärksten Seiten jedes Typs holt evnxt die Felddaten der URL. Je Typ: Seiten mit Daten, wie viele bestehen, Median-p75 von LCP, INP, CLS und TTFB sowie die Ladezeit des Crawlers; dazu die ganze Website zum Vergleich. Zeigt, welche Vorlagen die Website bremsen. Vorgabe Smartphone, 3 Seiten der 6 Typen mit den meisten Klicks in 28 Tagen

PageSpeed (seit 2.4.0)

Geltungsbereich results:read, beide lesend; get_pagespeed_by_page_type braucht zusätzlich crawl:read. Quelle ist PageSpeed Insights von Google: ein Lighthouse-Labortest auf Googles Servern, der die Seite selbst aufruft. Er funktioniert für jede öffentliche Seite, auch ohne Besucher. Laborwerte schwanken von Lauf zu Lauf und sind nicht die Felddaten, die Google für das Ranking nutzt; dafür gibt es get_core_web_vitals.

Werkzeug Was es liefert
run_pagespeed_test Labortest für eine URL der Website (Vorgabe: die Startseite), für Smartphone, Desktop oder beides gleichzeitig: Performance-Score, Labormesswerte (LCP, CLS, TBT, FCP, Speed Index, Serverantwortzeit), die nicht bestandenen Empfehlungen nach geschätzter Einsparung sortiert, dazu die Chrome-Felddaten, falls Google welche hat. Optional weitere Prüfungen über checks: seo, accessibility, best-practices. Ein Test dauert 10 bis 60 Sekunden; Ergebnisse liegen 24 Stunden im Zwischenspeicher, fresh=true erzwingt einen neuen Test, höchstens 10 je Website und Stunde
get_pagespeed_by_page_type Labortest je Seitentyp (auch crawl:read): Der Crawler ordnet die Seiten ein, für die klickstärksten Typen testet evnxt jeweils die Seite mit den meisten Klicks, alle gleichzeitig. Je Typ Performance-Score, Labor-LCP, CLS und TBT und die wichtigsten Empfehlungen; dazu shared_findings, Empfehlungen, die mehrere Vorlagen gemeinsam haben und meist einmal im gemeinsamen Code behoben werden. Der erste Aufruf dauert bis etwa eine Minute, danach 24 Stunden im Zwischenspeicher

Seitenarchiv (seit 2.5.0)

Geltungsbereich crawl:read, lesend, nur für Websites mit dem Modul Onpage. Der Monats-Crawl legt eine Kopie einer Seite an, wenn sich Titel, Beschreibung, H1, Canonical, robots, hreflang, die Typen der strukturierten Daten oder der Text ändern; Kopien bleiben 36 Monate. Was das für die Datenschutzerklärung heißt, steht dort im Absatz „Seitenarchiv“.

Werkzeug Was es liefert
get_page_history frühere Fassungen einer Seite aus dem Seitenarchiv: die Liste der Fassungen mit den jeweils geänderten Feldern und den Vergleich zweier Fassungen Feld für Feld und Textblock für Textblock. Vorgabe sind die beiden neuesten Fassungen; mit compare_date die an diesem Tag gültige Fassung gegen die neueste, alternativ zwei Fassungs-IDs. Für die Zeit vor dem Archivbeginn liefert es Links zur Wayback Machine; das sind nur Links, evnxt fragt das Internet Archive nicht ab. Search-Console-Schreibweisen der Adresse (mit oder ohne www, mit oder ohne Schrägstrich) werden gefunden

Migration und SEO-Experimente (seit 2.3.0)

Lesen mit results:read; Experimente anlegen und löschen mit settings:write.

Werkzeug Geltungsbereich Was es tut
compare_migration results:read Vorher-nachher-Vergleich um einen Umzug oder Relaunch: das Fenster vor migration_date gegen das Fenster danach, je Tag verglichen; Gesamtwerte der Website, Erholung der Klicks, gehaltene, gefallene und verlorene Seiten und Suchanfragen, neue Suchanfragen. Mit old_website_id kommen die Vorher-Daten von der Website der alten Domain. CTR in Prozent
check_migration_redirects results:read prüft live, wohin alte URLs nach einem Umzug führen: folgt jeder Weiterleitungskette (HEAD-Abrufe von evnxt, bis zu 5 Weiterleitungen) und bewertet sie mit ok, chain, temporary, no_redirect, to_homepage, broken, server_error, loop, too_many_hops, blocked oder error, mit den Klicks der Ziel-URL. Alte URLs sind die klickstärksten Seiten vor migration_date in der Search Console oder die übergebenen urls. Zählt dreifach gegen das Minutenlimit, höchstens 2 Aufrufe je Minute und Website; seit 2.5.0 je alter URL archived (letzter Stand im Seitenarchiv vor migration_date) und wayback_before_migration
create_experiment settings:write registriert ein SEO-Experiment: die geänderten Seiten (test: eine URL-Liste, eine Inhaltsgruppe oder Regeln), der erste Tag mit der Änderung (start_date), optional ein Enddatum und Kontrollseiten (Vorgabe: alle anderen Seiten der Website). Gemessen wird mit get_experiment_results (schreibend)
list_experiments results:read Experimente der Website mit Status (planned, running, finished), Test- und Kontrollauswahl und bei gestarteten das Kernergebnis aus dem Search-Console-Archiv: Klick-Uplift der Testseiten gegen die Kontrollseiten in Prozent, p-Wert und Seitenzahl beider Gruppen
get_experiment_results results:read misst ein Experiment aus dem Search-Console-Archiv: Klicks, Impressionen, CTR (Prozent) und Position der Test- und Kontrollseiten in den Tagen davor und ab dem Start, der Uplift bei Klicks und Impressionen in Prozent (Differenz der Differenzen) und ein Signifikanztest (Welch-t-Test auf täglichen Log-Verhältnissen). Vorgabe 28 Tage davor und bis zu 28 Tage ab dem Start
delete_experiment settings:write löscht ein Experiment der Website (experiment_id aus list_experiments); Suchdaten und Inhaltsgruppen bleiben unberührt (schreibend)

Besonderheiten

  • Search-Console-Daten laufen zwei bis drei Tage nach. Jede Suchdaten-Antwort nennt deshalb data_until (letzter Tag mit Daten), settled_through (bis zu diesem Tag ändert Google nichts mehr, drei Tage vor data_until) und data_source (archive = bei evnxt gespeichert, live_api = Live-Abfrage bei Google).
  • Seit Version 2.0.0 steht die CTR in allen MCP-Antworten in Prozent (0 bis 100, zwei Nachkommastellen) wie in der Search Console; vorher war sie ein Anteil wie 0,0247. Die REST-API unter /api/v1 bleibt bei Anteilen.
  • Live-Abfragen (alles, was evnxt nicht speichert, zum Beispiel Suchanfrage je Land oder Länder und Geräte bei Websites in einem Unterverzeichnis) laufen über die Google-Verbindung des Kunden. Sie brauchen eine aktive Verbindung, zählen dreifach gegen das Minutenlimit des Schlüssels und werden zehn Minuten zwischengespeichert.
  • Liegt die Website in einem Unterverzeichnis einer größeren Domain, zählen nur deren Seiten ("scope": "directory"), wie in der evnxt-Oberfläche.
  • Ist keine Search Console verbunden, bekommt der Agent einen Hinweis statt eines Fehlers.
  • Eine fremde oder unbekannte website_id ergibt den Fehler Website not found.
  • Große Felder sind gekürzt und mit [truncated] markiert.

Sicherheit

Suchanfragen, Seitenadressen, Keywords, Beitragstitel und -texte, Audit-Texte, Code-Schnipsel, Ankertexte, betroffene Adressen und andere Inhalte, die von außen stammen, stehen in den Antworten in einem Block untrusted_content. Ein Agent soll sie als Daten behandeln, nie als Anweisung. Der Server ruft keine fremden Seiten ab (Abfragen an die Schnittstellen von Google und IndexNow sind API-Aufrufe). Zwei Ausnahmen: check_migration_redirects ruft die alten URLs deiner Website ab und folgt ihren Weiterleitungen, auch auf eine andere Domain wie die neue nach einem Umzug (HEAD, bei 405 oder 501 einmal GET, höchstens 5 Weiterleitungen, 5 Sekunden je Anfrage; die alten URLs müssen zur Search-Console-Property der Website gehören). get_indexnow_settings mit check=true ruft die IndexNow-Schlüsseldatei auf deiner Website ab. Private, lokale und Nicht-http-Adressen fragt der Server nie ab.

Schreibende Werkzeuge gibt es nur mit eigenem Geltungsbereich (siehe oben). Vergib articles:publish, onpage:write und monitoring:write nur an Werkzeuge, bei denen du jede Aktion selbst auslöst. Bei einer Verbindung über dein Konto ist Lesen vorausgewählt, Ändern nicht.

Einrichtung

Claude.ai und ChatGPT, ohne Schlüssel: In Claude.ai unter Einstellungen → Connectors einen eigenen Connector mit der Adresse https://evnxt.de/mcp hinzufügen, in ChatGPT unter Connectors ebenso. Client-ID oder Secret brauchst du nicht, die App registriert sich selbst. Beim Verbinden öffnet sich evnxt: Du meldest dich an (mit Zwei-Faktor-Code, falls eingerichtet), wählst auf der Zustimmungsseite den Workspace und kreuzt die Rechte an. Lesen ist vorausgewählt, Ändern nicht. Verbinden können nur Inhaber oder Administratoren eines Workspaces.

evnxt legt dafür einen API-Schlüssel „Verbindung: App-Name“ an. Er steht in der Liste unter Übersicht → API & MCP; ihn zu widerrufen trennt die App sofort. Welche Apps mit dem Workspace verbunden sind, zeigt je Website auch Website → Verbindungen unter „KI-Agenten (MCP) und API“. Wer im Workspace nicht mehr Administrator ist, verliert die Verbindung ebenfalls. Eine neue Zustimmung ersetzt die alte. Zugangs-Token gelten eine Stunde, die App erneuert sie selbst (30 Tage); Grenzen und Geltungsbereiche sind dieselben wie beim Schlüssel.

Claude Code: mit Schlüssel wie unten, oder ohne --header, dann führt Claude Code durch die Anmeldung im Browser.

claude mcp add --transport http evnxt https://evnxt.de/mcp --header "Authorization: Bearer evx_live_…"

Cursor und andere Werkzeuge mit mcp.json:

{"mcpServers":{"evnxt":{"url":"https://evnxt.de/mcp","headers":{"Authorization":"Bearer evx_live_…"}}}}

Für Fortgeschrittene: Die Verbindung über das Konto ist OAuth 2.1 mit PKCE (S256, Pflicht). Discovery unter https://evnxt.de/.well-known/oauth-protected-resource/mcp und https://evnxt.de/.well-known/oauth-authorization-server, Registrierung per /oauth/register; erlaubt sind Rückleitungen zu claude.ai, claude.com, chatgpt.com, chat.openai.com und localhost sowie die Schemata cursor und vscode.

Beispiele für Fragen an den Agenten: „Welche Suchanfragen haben in den letzten 28 Tagen am meisten Klicks verloren?“, „Vergleiche die Klicks im September mit dem Vorjahr.“, „Welche Onpage-Fehler sind noch offen, und welche Seiten betrifft der wichtigste?“, „War meine Website diesen Monat erreichbar? Liste die Ausfälle.“ „Welche meiner Beiträge bringen die meisten Klicks?“, „Welche Seiten antworten mit 404, und wer verlinkt sie?“, „Welche Seiten kannibalisieren sich?“, „Was hat sich seit dem letzten Crawl an Titeln geändert?“ „Gib mir die konkreten Lösungen für den wichtigsten Onpage-Fehler.“ oder „Lege einen Entwurf zum Keyword Wanderschuhe Damen an.“

Datenschutz

Was ein Agent über den MCP-Server abfragt, geht an den KI-Anbieter, den du nutzt. Dafür bist du verantwortlich. Trage den Schlüssel nur in Werkzeuge ein, denen du vertraust, und widerrufe ihn oder eine Verbindung bei Verdacht unter Übersicht → API & MCP.

Zur Übersicht Kostenlos starten Etwas fehlt oder stimmt nicht? Schreib an anfrage@wojcik.de.