Deine KI schreibt inzwischen deine Commit-Messages, liest deine Logs und erklärt dir fremden Code. Deine Felddaten waren nicht dabei. Für die bist du weiter ins Dashboard gegangen, hast einen Zeitraum gewählt, ein Land gefiltert und die Zahl danach abgetippt. Seit dem 2. September kannst du stattdessen fragen.
fastmon hat einen MCP-Server. Du verbindest deinen eigenen KI-Client damit, Claude, Claude Code oder Cursor, und der holt sich die Daten selbst. Das Modell bleibt deins. Was das für deine Daten bedeutet, steht weiter unten, ungekürzt.
Was MCP ist
MCP steht für Model Context Protocol, ein offener Standard, mit dem sich ein KI-Client an fremde Dienste hängt. Statt Zahlen aus einem Dashboard in einen Chat zu kopieren, ruft der Client sie selbst ab. In Claude heißen diese Verbindungen Connectors, in Cursor MCP-Server, in anderen Clients wieder anders. Das Protokoll darunter ist überall dasselbe.
Für dich heißt das: eine Adresse einmal eintragen, einmal per OAuth anmelden, danach fragen wie einem Kollegen, der Zugriff aufs Dashboard hat.
Was du fragen kannst
Neunzehn Werkzeuge stehen bereit, alle lesend. Was sie liefern, sind dieselben Aggregate und Ranglisten, die auch hinter deinem Dashboard stecken. Drei Situationen, in denen wir es selbst benutzen.
Die Regression nach dem Deploy
Freitagnachmittag ist ein Release rausgegangen, montags ist irgendwas langsamer. Statt zwei Zeiträume im Dashboard nebeneinanderzulegen, lässt du vergleichen.
- Vergleiche LCP und INP der letzten sieben Tage mit den sieben Tagen davor
- Was hat sich seit dem Release am Freitag verändert?
Dahinter arbeiten compare_periods und detect_changes. Das zweite sucht die Auffälligkeiten selbst, statt darauf zu warten, dass du die richtige Dimension errätst.
Die Frage aus dem Meeting
Jemand will wissen, warum die Seite auf dem Handy schlechter dasteht, und erwartet keinen Vortrag über Perzentile, sondern eine Antwort.
- Wie ist LCP p75 in Deutschland auf Mobil, aufgeschlüsselt nach Seitentyp?
- Welche Drittanbieter kosten am meisten Ladezeit?
get_breakdown liefert die Aufschlüsselung, get_cwv_distribution die Verteilung dahinter, get_third_party_impact die Fremdskripte. Bei fünfzig Zeilen ist Schluss, was für ein Gespräch reicht und für einen Export nicht gedacht ist.
Der Fehler, den nur Safari sieht
Ein JS-Fehler taucht auf, betrifft aber vielleicht nur eine Browserversion, und du willst wissen, ob sich die Arbeit lohnt.
- Welche JS-Fehler sind diese Woche neu?
- Zeig mir Details zu diesem Fehler, welche Browser und welche Seiten
get_errors und get_error_detail. Was zurückkommt, sind Fehlersignaturen und Zählungen, keine Sessions einzelner Besucher.
Was dabei herauskommt
Eine der ersten Fragen, die wir dem Server gestellt haben, war die langweiligste: wie die Zugriffe heute aussehen. Die Antwort war keine Zahl.

Gefragt war nach Zugriffen, geantwortet wurde mit einer Diagnose.
Null Seitenaufrufe, aber nicht, weil niemand da war: der Tracker meldete seit dem 3. September, 08:37 Uhr gar nichts mehr. Das kommt aus get_data_freshness, und der Client hat von selbst nachgesehen, bevor er eine Null berichtet. Danach hat er die naheliegende Erklärung gleich mitgeliefert und gefragt, ob das Snippet noch eingebunden ist.
Zur Ehrlichkeit gehört: das ist eine lokale Entwicklungsumgebung, Domain localhost, Shopware, mit Zahlen im zweistelligen Bereich. Ein Vorzeigebild ist das nicht. Es zeigt aber genau den Unterschied zwischen einer Zahl und einer Antwort, und deshalb steht es hier statt eines schöneren Bildes.
Was der Server nicht kann
Alle neunzehn Werkzeuge sind lesend. Es gibt keins, das eine Einstellung ändert, etwas löscht oder einen synthetischen Lauf startet. Wenn dein Client auf die Idee kommt, es zu versuchen, findet er nichts vor.
Rohdaten gibt es auch nicht. Zurück kommen Aggregate und Ranglisten, keine einzelnen Beacon-Zeilen. Dazu ein paar harte Grenzen:
| Grenze | Wert |
|---|---|
| Zeitraum je Abfrage | maximal 90 Tage |
| Zeilen je Aufschlüsselung | maximal 50 |
| Anfragen je Person | 120 pro Minute |
| Minutengenaue Buckets | nur bis 6 Stunden Zeitraum |
| Laufzeit je Abfrage | Abbruch nach 30 Sekunden |
Das Ratenlimit gilt pro Person, nicht pro Organisation, damit ein redefreudiger Client nicht die Kollegen blockiert. Wer es reißt, bekommt eine 429 mit der Wartezeit in Sekunden.
Drei der neunzehn Werkzeuge betreffen Lighthouse-Läufe und brauchen zusätzlich Synthetic Monitoring im Abo sowie den Scope synthetic:read. Fehlt eines von beiden, sagt der Server das, statt eine leere Liste zu schicken.
KI und Datenschutz
Hier wird es interessant, denn in dem Moment, in dem du deinen Client verbindest, gehen Daten an eine Stelle, die nicht wir sind.
Was rausgeht, sind dieselben Felddaten, die dein Dashboard zeigt: Seiten-URLs, Referrer, UTM-Parameter, Land, Gerät und Browser, Zeitstempel, Fehlersignaturen. Empfänger ist der KI-Anbieter, der deinen Client betreibt. Nicht fastmon. Wir wählen diesen Anbieter nicht aus und sind an dem Verhältnis nicht beteiligt, was im Klartext heißt: die Verantwortung für diese Weitergabe liegt bei deiner Organisation. Wir schreiben das so deutlich hin, weil es der Punkt ist, an dem MCP sich von jedem anderen Feature unterscheidet, das wir gebaut haben.
Was auf unserer Seite möglich war, haben wir gemacht:
- Standardmäßig aus. Ein Owner muss MCP in den Einstellungen der Organisation einschalten. Das erzeugt einen Eintrag im Audit-Log, damit später niemand rätseln muss, ab wann der Zugang offen war.
- OAuth statt Schlüssel. Es gibt keinen Key zum Kopieren. Persönliche Keys, Organisations-Keys und Session-Cookies lehnt der Endpunkt ab, weil ein Key keine Audience trägt und deshalb nicht sagen kann, ob er für diesen Endpunkt ausgestellt wurde.
- Die Verbindung gehört dir, nicht der Organisation. Ihre Rechte kommen bei jedem Request aus deiner aktuellen Rolle. Wirst du zurückgestuft, wirkt das sofort. Verlässt du das Team, ist die Verbindung wertlos.
- Trennen dauert einen Klick. Unter Konto und Zugang kappst du die Verbindung, die Access Tokens laufen innerhalb von Minuten ab.
- Kein Konfigurationszugriff. Tokens, Mitglieder, Abrechnung: dafür gibt es kein Werkzeug.
Nicht verwechseln solltest du das mit dem Ask-Assistenten im Dashboard. Der läuft unter unserer eigenen AVV, ist also ein anderer Empfänger mit einer anderen Zustimmung. Wer keine Daten an einen dritten Anbieter geben will, benutzt Ask und lässt MCP aus.
So verbindest du deinen Client
Ein Owner schaltet MCP unter Einstellungen und MCP-Server ein, danach dauert der Rest zwei Minuten. Jeder Client benutzt dieselbe Adresse, genau so, ohne Slash am Ende:
https://api.fastmon.eu/mcp
Claude Code
Eine Zeile im Terminal:
claude mcp add --transport http fastmon https://api.fastmon.eu/mcp
Danach /mcp öffnen, fastmon auswählen und anmelden.
Claude und Cursor
In Claude unter Einstellungen und Connectors, in Cursor unter MCP, jeweils die Adresse eintragen. Die OAuth-Felder bleiben leer. Beide schicken dich zu fastmon, wo du siehst, wer da eigentlich fragt:

Der Hinweis, dass wir die App nicht geprüft haben, steht da bewusst. Jeder kann eine App unter jedem Namen registrieren.
Auf diesem Bildschirm wählst du auch die Organisation. Kein Werkzeug nimmt später eine Organisation als Parameter, der Kontext steht mit deiner Zustimmung fest.
Beim ersten Werkzeugaufruf fragt dein Client noch einmal, diesmal auf seiner Seite:

Zwei Zustimmungen auf zwei Ebenen: fastmon fragt für den Zugriff, dein Client für jeden Werkzeugaufruf.
Für Agenturen
Partner verbinden sich einzeln zu jeder Kundenorganisation, und der Kunde steht auf dem Zustimmungsbildschirm. Die Rechte lösen sich pro Request auf. Endet die Partnerschaft, endet der Zugriff im selben Moment. Ob MCP überhaupt offen ist, entscheidet weiterhin der Kunde.
Die ganze Liste
Alle neunzehn Werkzeuge mit ihren Parametern, die OAuth-Details für eigene Clients samt resource-Parameter nach RFC 8707 und dem Well-known-Dokument nach RFC 9728, dazu die Einrichtung in weiteren Clients: das steht in der MCP-Doku.
Und wenn du es ausprobierst und dein Client etwas nicht findet, das er finden sollte, schreib uns. Neunzehn Werkzeuge sind ein Anfang, keine fertige Liste.