Webentwickler CRM
Webentwickler CRMのWeb開発者向けウェブサイトの管理、変更、公開用
ホスト型 MCP サーバー
npx add-mcp 'https://www.webentwickler.io/mcp'Claude Code、Codex、Cursor などにインストールできます
ドキュメント
Auf einen Blick
Endpunkt
https://www.webentwickler.io/mcp
Transport
Streamable HTTP, JSON-RPC 2.0, zustandslos
Anmeldung
OAuth 2.1 (Konnektor) oder Schlüssel wio_mcp_…
Protokollversionen
2025-06-18, 2025-03-26, 2024-11-05
Werkzeuge
42: 28 lesen, 13 ändern, 1 veröffentlicht
Standort
Unser Server in Deutschland
Der KI-Zugang ist ein Teil des webentwickler.io CRM für Websites, die wir bauen und betreuen. Er läuft derzeit als Pilot für ausgewählte Kunden. Ein Schlüssel bzw. eine Verbindung gilt immer für genau eine Website.
Die eine Regel: Inhalte ja, Technik nie
Der KI-Zugang darf ändern, was auf Ihrer Seite steht: Texte, Seitentitel und Beschreibungen für Google. Er darf nie ändern, wie Ihre Seite funktioniert. Diese Grenze hängt nicht an einer Bitte an die KI, sondern steckt im Code des Servers:
- Es gibt kein Werkzeug für Code, Vorlagen, Formulare, Tracking, Cookie-Banner, Weiterleitungen oder den Seitenaufbau. Was es nicht gibt, kann die KI nicht benutzen.
- Jeder neue Text wird geprüft: keine Skripte, keine Ereignis-Attribute, keine neuen HTML-Auszeichnungen; Platzhalter wie
{year}bleiben erhalten. - Vor jeder Bearbeitung wird automatisch eine Datensicherung angelegt. Ohne Sicherung wird nichts geändert.
- Nach jedem Veröffentlichen werden mehrere Seiten abgerufen und mit dem Stand davor verglichen. Hat sich mehr als Text geändert, wird sofort der vorige Stand zurückgespielt.
Einrichten
Ohne Schlüssel: als Konnektor anmelden
claude.ai und Claude Desktop: Einstellungen → Konnektoren → „Benutzerdefinierten Konnektor hinzufügen“. Als Adresse https://www.webentwickler.io/mcp eintragen und „Verbinden“ wählen. Es öffnet sich die Anmeldung des webentwickler.io CRM (Login-Link per Mail, falls Sie nicht angemeldet sind). Dort wählen Sie Website, Recht und Dauer der Verbindung und bestätigen.
Claude Code: ohne Schlüssel hinzufügen, danach in Claude Code /mcp eingeben und „Authenticate“ wählen:
claude mcp add --transport http webseite https://www.webentwickler.io/mcp
Die Verbindung erscheint im Reiter „KI-Zugang für Ihre Website (MCP)“ als „Anmeldung (OAuth)“ und lässt sich dort jederzeit trennen. Wer die Verbindung nicht selbst gestartet hat, wählt auf der Freigabeseite „Ablehnen“.
Mit Schlüssel
Für Programme ohne OAuth oder für Skripte gibt es weiterhin Schlüssel.
1. Schlüssel anlegen
Im webentwickler.io CRM im Reiter „KI-Zugang für Ihre Website (MCP)“ auf „Neuer Schlüssel“. Name, Recht, Gültigkeit und Obergrenze wählen (siehe Schlüssel und Rechte). Der Schlüssel beginnt mit wio_mcp_ und wird genau einmal angezeigt.
2. Mit dem KI-Assistenten verbinden
Claude Code: ein Befehl im Terminal, Schlüssel einsetzen:
claude mcp add --transport http webseite https://www.webentwickler.io/mcp --header "Authorization: Bearer wio_mcp_…"
Claude Desktop: unter Einstellungen → Entwickler → „Konfiguration bearbeiten“ diesen Eintrag ergänzen (benötigt Node.js) und Claude Desktop neu starten:
{
"mcpServers": {
"webseite": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://www.webentwickler.io/mcp",
"--header", "Authorization:${AUTH}"],
"env": { "AUTH": "Bearer wio_mcp_…" }
}
}
}
Andere Programme: Jedes Programm, das MCP über „Streamable HTTP“ spricht (z. B. Cursor), funktioniert mit der Adresse oben, mit Anmeldung (OAuth) oder mit dem Kopf Authorization: Bearer wio_mcp_…. Wo eine Firewall diesen Kopf abschneidet, geht ersatzweise X-Api-Token: wio_mcp_….
3. Ausprobieren
Beispielaufträge zum Kopieren:
- „Welche Seiten hat meine Website, und welche davon haben keine Beschreibung für Google?“
- „Wo steht noch die alte Telefonnummer 04103 123456?“
- „Ändere auf der Startseite die Überschrift auf ‚Ihr Makler an der Elbe‘. Zeig mir vorher die Vorschau.“
- „Füge in der Aufzählung auf /leistungen nach dem zweiten Punkt ‚Beratung vor Ort‘ ein.“
- „Welche Suchbegriffe bringen Besucher auf /leistungen, und passt der Seitentitel dazu?“
- „Welche Bilder auf der Startseite haben keine gute Bildbeschreibung? Schlag bessere vor.“
- „Was liegt gerade im Entwurf und ist noch nicht live?“
- „Veröffentliche die Änderungen.“
Schlüssel und Rechte
| Einstellung | Bedeutung |
|---|---|
| Recht | Lesen, Ändern (Entwürfe) oder Veröffentlichen. Jedes Recht schließt die darunter ein. Wer jede Änderung erst selbst ansehen möchte, wählt „Ändern“ und veröffentlicht im webentwickler.io CRM. Ein Schlüssel sieht nur die Werkzeuge seines Rechts. |
| Rolle im Team | Jede Person hat auf der Website eine Rolle (Inhaber, Admin, Redaktion, Autor, SEO, Leser), die Inhaber oder Admin im Reiter „Team & Rechte“ vergeben und je Bereich anpassen können. Den Seitenaufbau (Listen, Karten, Ebenen, Absätze) ändern nur Rollen mit dem Recht „Seitenaufbau“; wer nicht veröffentlichen darf, reicht mit freigabe_einreichen zur Freigabe ein. Ein Schlüssel oder eine Verbindung darf nie mehr als die Person, der er gehört: Die Werkzeugliste zeigt nur, was Schlüsselrecht und Rolle zulassen. websites nennt die Rolle und die gesperrten Werkzeuge. Rollenwechsel gelten sofort. |
| Gültig | Standard 90 Tage, höchstens ein Jahr. |
| Obergrenze | Schreibende Aufrufe je Stunde, Standard 60. |
| Speicherung | Wir speichern nur eine Prüfsumme des Schlüssels. Ist er verloren, legen Sie einen neuen an und widerrufen den alten. |
Entwurf, Veröffentlichen, Zurücknehmen
- Finden: mit
seite_texte,text_suchenoderseite_gliederungdas richtige Feld bestimmen. - Ändern: jedes ändernde Werkzeug legt einen Entwurf an. Die Website zeigt ihn noch nicht. Vorher sichert der Server automatisch.
- Zeigen:
vorschaustellt alt und neu nebeneinander,entwurf_standlistet alles Offene. - Veröffentlichen:
veroeffentlichenstellt alle Entwürfe des KI-Zugangs auf einmal live. Wurde auf der Website inzwischen direkt etwas geändert, veröffentlicht der Server nicht, damit nichts überschrieben wird. Entwürfe, die jemand im webentwickler.io CRM angefangen hat, nimmt er nicht mit. - Zurücknehmen:
rueckgaengignimmt eine Änderung (Nummer ausaenderungen) oder alles seit einer Sicherung zurück; war der alte Stand schon live, danach erneut veröffentlichen.entwurf_verwerfenverwirft Entwürfe, ohne die Website zu berühren.
Blockseiten (z. B. Leistungsseiten aus Blöcken) sind ebenfalls Entwurf. Beim Veröffentlichen schreibt der Server zuerst die Blockseiten, jede vorher gesichert, dann die Texte, und prüft danach auch diese Seiten. Dieselben Entwürfe sehen Sie im Adminbalken und im Editor des webentwickler.io CRM.
Die 42 Werkzeuge
Werkzeugnamen und Parameternamen sind deutsch und fest; so ruft der Assistent sie auf. Die Liste entspricht dem, was der Server bei tools/list liefert.
| Werkzeug | Was es tut | Recht |
|---|---|---|
websites | Die Website dieses Schlüssels: Name, Adresse, Sprachen, letzte Veröffentlichung, die Rechte des Schlüssels und die Rolle der Person im Team samt gesperrten Werkzeugen. Guter erster Aufruf. | Lesen |
anleitung | Liefert die Anleitung zum KI-Zugang: was erlaubt ist, was nie geht und warum, wie Veröffentlichen und Zurücknehmen funktionieren. | Lesen |
neuigkeiten | Was ist neu im webentwickler.io CRM, im Adminbalken und im KI-Zugang (Release Notes). | Lesen |
datenwege | Wie wir technisch mit Ihrer Website arbeiten: welcher Server was tut, jede Verbindung mit Protokoll und Verschlüsselung, angebundene Dienste, wie gesichert wird. | Lesen |
zweifaktor_stand | Wer im Team die Zwei-Faktor-Anmeldung eingerichtet hat und ob die Website sie für alle verlangt. Nur lesen. | Lesen |
seiten_liste | Alle Seiten: Pfad, Titel, Typ, Sprache, Status, wer angelegt und zuletzt bearbeitet hat, GEO-, SEO- und Pagespeed-Werte. | Lesen |
seite_steckbrief | Alles zu einer Seite: Titel und Beschreibung in Google, GEO-Verlauf, Verlauf der Änderungen, offene Wünsche. | Lesen |
seite_texte | Alle Textfelder einer Seite mit Schlüssel, Text, Zeichengrenze und ob sie änderbar sind. Vor jeder Textänderung aufrufen. | Lesen |
text_suchen | Findet ein Wort oder einen Satz in allen Texten, z. B. eine alte Telefonnummer. | Lesen |
seite_gliederung | Überschriften (H1–H6) mit erlaubten Ebenen, Aufzählungen, freie Listen-Plätze, Kartenreihen und bei Blockseiten die Blöcke, mit Hinweisen zur Gliederung. | Lesen |
unsichtbare_texte | Texte, die nicht als Text auf der Seite stehen: Google-Titel und -Beschreibung, Bildbeschreibungen, Stammdaten, Cookie-Hinweis. | Lesen |
seo_stand | Seitentitel und Beschreibungen, live gemessen, mit echten Suchanfragen aus der Google Search Console und fehlenden Suchbegriffen im Titel. | Lesen |
suchanfrage_abfragen | Echte Google-Zahlen zu einer Suchanfrage wie in der Search Console: Klicks, Impressionen, Ø Platz, Wochenverlauf, passende Suchanfragen und Seiten, bis 16 Monate. | Lesen |
keywords_beobachtet | Die beobachteten Keywords mit echtem Google-Platz (Ø 28 Tage), Vergleich zum Zeitraum davor und Wochenverlauf. | Lesen |
bericht_monat | Die Zahlen eines Monats wie im Monatsbericht per Mail: Besucher, Herkunft, meistbesuchte Seiten, Anfragen, Google-Klicks und Platz, Bewertung, Erreichbarkeit, Erledigtes. | Lesen |
auffaelligkeiten | Ob gerade etwas ungewöhnlich ist: Besucher-Einbruch oder -Sprung, keine Anfragen mehr, Google-Klicks eingebrochen, viele Fehlerseiten — mit Normalwert und Verlauf. | Lesen |
barrierefreiheit_befunde | Die Befunde der letzten Barrierefreiheits-Prüfung nach WCAG 2.2 AA (BFSG): Kriterium, Schwere, Erklärung, Behebung, betroffene Seiten, Stand der Vereinbarkeit und Lighthouse-Wert — auf Wunsch mit der Erklärung zur Barrierefreiheit. | Lesen |
ki_sichtbarkeit | Ob ChatGPT, Perplexity, Gemini und Claude Ihre Firma nennen, wenn Kunden typische Fragen stellen: Anteil in Prozent, je Assistent und Frage, Platz, wer stattdessen genannt wird und welche Quellen die Assistenten lesen. | Lesen |
vorschau | Alle Entwürfe neben dem Live-Stand (vorher/nachher je Feld). Vor dem Veröffentlichen dem Menschen zeigen. | Lesen |
entwurf_stand | Was wartet aufs Veröffentlichen: Texte und Blockseiten, mit Zeitpunkt und Herkunft (KI-Zugang oder webentwickler.io CRM). | Lesen |
aenderungen | Protokoll der Änderungen über den KI-Zugang mit altem und neuem Text und der Nummer zum Zurücknehmen. | Lesen |
seite_versionen | Zeitleiste einer Seite: bei jedem Veröffentlichen wann, wer, woher und was sich geändert hat; mit Nummer die Felder vorher/nachher und der Unterschied zu heute. | Lesen |
anpassungen_liste | Ihre Änderungswünsche mit Stand (offen, in Arbeit, zur Prüfung, erledigt, abgelehnt) und letzter Rückmeldung unseres Teams. | Lesen |
text_aendern | Einen vorhandenen Text in einer Sprache ändern. Ergebnis ist ein Entwurf; vorher wird automatisch gesichert. | Ändern |
seo_setzen | Seitentitel (title) oder Beschreibung (meta description) setzen. Empfehlung: Titel 30–60, Beschreibung 120–160 Zeichen. | Ändern |
alt_text_setzen | Bildbeschreibung (alt-Text) eines Bildes setzen, 5–250 Zeichen reiner Text. Das Bild selbst tauscht nur ein Mensch. | Ändern |
liste_bearbeiten | In einer Aufzählung einen Punkt einfügen, ändern, entfernen oder verschieben, oder unter einem Absatz eine neue Liste anlegen. Höchstens 30 Punkte. | Ändern |
ueberschrift_ebene | Eine Überschrift zur H2, H3 oder H4 machen. Das Aussehen bleibt, gilt in allen Sprachen. Was die Gliederung bricht, lehnt der Server ab. | Ändern |
gruppe_bearbeiten | Eine Karte bzw. einen Eintrag (Vorteile, Kennzahlen, FAQ …) hinzufügen, entfernen oder verschieben. Die Nummern ordnet der Server neu. | Ändern |
block_bearbeiten | Blockseiten: Ebene wechseln, Absatz, Zwischenüberschrift oder Liste einfügen, entfernen, verschieben, Texte ersetzen. Nur reiner Text. | Ändern |
rueckgaengig | Eine einzelne Änderung oder alles seit einer Datensicherung zurücknehmen. War der alte Stand schon live, danach veröffentlichen. | Ändern |
entwurf_verwerfen | Entwürfe des KI-Zugangs verwerfen: einen Text, eine Blockseite oder alles. Entwürfe aus dem webentwickler.io CRM bleiben unberührt. | Ändern |
version_zurueckholen | Den Stand nach einer früheren Version (oder mit vorher=true den Stand davor) als Entwurf zurückholen; live erst mit veroeffentlichen. | Ändern |
termine_liste | Die über die Website gebuchten Termine wie im Reiter „Termine“: wann, Terminart, Name, Kontakt, Nachricht und Stand, dazu kommende Termine und offene Anfragen. | Lesen |
termine_freie_zeiten | Welche Zeiten Besucher gerade buchen können, je Tag — abzüglich Urlaub, gebuchter Termine und belegter Zeiten aus angebundenen Kalendern. | Lesen |
termin_absagen | Einen Termin absagen oder eine Anfrage ablehnen: Der Buchende bekommt eine Mail, die den Kalendereintrag entfernt; die Zeit ist wieder frei. | Ändern |
anpassung_beauftragen | Für alles, was der KI-Zugang nicht selbst darf (Gestaltung, Aufbau, Formulare, Technik, Bilder, Menü, Rechtstexte): Wunsch an unser Team. Ein Mensch prüft und setzt um. | Ändern |
feedback_melden | Fehler, Idee, Lob oder Frage zum webentwickler.io CRM selbst an unser Team melden, mit Ticketnummer (FB-0012). Die Antwort kommt im CRM und per Mail. Reicht das Recht „Lesen“. Für Änderungen an der Website: anpassung_beauftragen. | Lesen |
feedback_stand | Die eigenen Feedback-Meldungen mit Stand (Eingegangen, In Arbeit, Erledigt, Beantwortet, Nicht geplant) und unseren Antworten. Meldungen anderer Personen sind nicht sichtbar. | Lesen |
freigabe_einreichen | Für Personen ohne Recht zum Veröffentlichen (z. B. Rolle Autor): meldet den offenen Entwurf zur Freigabe. Wer veröffentlichen darf, bekommt eine Meldung im webentwickler.io CRM. Optional mit Notiz. | Ändern |
freigaben_offen | Welche Entwürfe zur Freigabe eingereicht sind (wer, wann, Notiz) und der Stand der eigenen Einreichungen: offen, freigegeben oder zurückgegeben mit Antwort. | Lesen |
veroeffentlichen | Stellt alle Entwürfe des KI-Zugangs live. Vorher Abgleich mit der Website und Datensicherung, nachher Prüfung der Seiten; bei Abweichung automatisches Zurückspielen. | Veröffentlichen |
Orientierung
websites
Lesen
Die Website dieses Schlüssels: Name, Adresse, Sprachen, letzte Veröffentlichung, die Rechte des Schlüssels und die Rolle der Person im Team samt gesperrten Werkzeugen. Guter erster Aufruf.
Keine Parameter.
anleitung
Lesen
Liefert die Anleitung zum KI-Zugang: was erlaubt ist, was nie geht und warum, wie Veröffentlichen und Zurücknehmen funktionieren.
Keine Parameter.
neuigkeiten
Lesen
Was ist neu im webentwickler.io CRM, im Adminbalken und im KI-Zugang (Release Notes).
| Parameter | Typ | Pflicht | Bedeutung |
|---|---|---|---|
anzahl | Zahl | – | Wie viele Einträge (Standard 15, höchstens 50). |
datenwege
Lesen
Wie wir technisch mit Ihrer Website arbeiten: welcher Server was tut, jede Verbindung mit Protokoll und Verschlüsselung, angebundene Dienste, wie gesichert wird.
Keine Parameter.
zweifaktor_stand
Lesen
Wer im Team die Zwei-Faktor-Anmeldung eingerichtet hat und ob die Website sie für alle verlangt. Nur lesen.
Keine Parameter.
Seiten und Texte lesen
seiten_liste
Lesen
Alle Seiten: Pfad, Titel, Typ, Sprache, Status, wer angelegt und zuletzt bearbeitet hat, GEO-, SEO- und Pagespeed-Werte.
| Parameter | Typ | Pflicht | Bedeutung |
|---|---|---|---|
typ | Text | – | Nur Seiten dieses Typs (optional). Werte: startseite, leistung, ortsseite, objekt, referenz, beitrag, seite, rechtliches |
mit_entfernten | ja/nein | – | Auch Seiten zeigen, die nicht mehr erreichbar sind (Standard: nein). |
suche | Text | – | Nur Seiten, deren Titel oder Pfad das enthält (optional). |
seite_steckbrief
Lesen
Alles zu einer Seite: Titel und Beschreibung in Google, GEO-Verlauf, Verlauf der Änderungen, offene Wünsche.
| Parameter | Typ | Pflicht | Bedeutung |
|---|---|---|---|
seite | Text | ja | Pfad der Seite, z. B. "/" oder "/service/immobilienbewertung/". |
seite_texte
Lesen
Alle Textfelder einer Seite mit Schlüssel, Text, Zeichengrenze und ob sie änderbar sind. Vor jeder Textänderung aufrufen.
| Parameter | Typ | Pflicht | Bedeutung |
|---|---|---|---|
seite | Text | ja | Pfad der Seite, z. B. "/" oder "/leistungen". |
sprache | Text | – | Sprachkürzel, z. B. "de" oder "en". Standard: Hauptsprache der Website. |
text_suchen
Lesen
Findet ein Wort oder einen Satz in allen Texten, z. B. eine alte Telefonnummer.
| Parameter | Typ | Pflicht | Bedeutung |
|---|---|---|---|
begriff | Text | ja | Gesuchter Text, mindestens 3 Zeichen. |
sprache | Text | – | Nur in dieser Sprache suchen (optional). |
seite_gliederung
Lesen
Überschriften (H1–H6) mit erlaubten Ebenen, Aufzählungen, freie Listen-Plätze, Kartenreihen und bei Blockseiten die Blöcke, mit Hinweisen zur Gliederung.
| Parameter | Typ | Pflicht | Bedeutung |
|---|---|---|---|
seite | Text | ja | Pfad der Seite, z. B. "/" oder "/leistungen". |
sprache | Text | – | Sprachkürzel für die Listenpunkte. Standard: Hauptsprache. |
unsichtbare_texte
Lesen
Texte, die nicht als Text auf der Seite stehen: Google-Titel und -Beschreibung, Bildbeschreibungen, Stammdaten, Cookie-Hinweis.
| Parameter | Typ | Pflicht | Bedeutung |
|---|---|---|---|
seite | Text | – | Pfad der Seite — ihre Google-Texte stehen dann oben (optional). |
sprache | Text | – | Sprachkürzel (Standard: Hauptsprache). |
SEO, Google, KI-Sichtbarkeit, Barrierefreiheit und Monatsbericht
seo_stand
Lesen
Seitentitel und Beschreibungen, live gemessen, mit echten Suchanfragen aus der Google Search Console und fehlenden Suchbegriffen im Titel.
| Parameter | Typ | Pflicht | Bedeutung |
|---|---|---|---|
seite | Text | – | Pfad der Seite (optional). |
sprache | Text | – | Sprachkürzel (optional). |
suchanfrage_abfragen
Lesen
Echte Google-Zahlen zu einer Suchanfrage wie in der Search Console: Klicks, Impressionen, Ø Platz, Wochenverlauf, passende Suchanfragen und Seiten, bis 16 Monate.
| Parameter | Typ | Pflicht | Bedeutung |
|---|---|---|---|
begriff | Text | ja | Suchbegriff oder (bei modus=regex) regulärer Ausdruck in RE2-Schreibweise. |
modus | Text | – | enthaelt (Standard), genau, nicht = enthält nicht, regex. Werte: enthaelt, genau, nicht, regex |
tage | Zahl | – | Zeitraum in Tagen bis zum letzten Datentag (Standard 90, 7 bis 486). |
geraet | Text | – | Nur ein Gerät (optional). Werte: MOBILE, DESKTOP, TABLET |
keywords_beobachtet
Lesen
Die beobachteten Keywords mit echtem Google-Platz (Ø 28 Tage), Vergleich zum Zeitraum davor und Wochenverlauf.
| Parameter | Typ | Pflicht | Bedeutung |
|---|---|---|---|
frisch | ja/nein | – | Neu bei Google abrufen statt des Stands der letzten 12 Stunden (Standard: nein). |
bericht_monat
Lesen
Die Zahlen eines Monats wie im Monatsbericht per Mail: Besucher, Herkunft, meistbesuchte Seiten, Anfragen, Google-Klicks und Platz, Bewertung, Erreichbarkeit, Erledigtes.
| Parameter | Typ | Pflicht | Bedeutung |
|---|---|---|---|
monat | Text | – | Monat als JJJJ-MM (Standard: der letzte abgeschlossene Monat). |
auffaelligkeiten
Lesen
Ob gerade etwas ungewöhnlich ist: Besucher-Einbruch oder -Sprung, keine Anfragen mehr, Google-Klicks eingebrochen, viele Fehlerseiten — mit Normalwert und Verlauf.
Keine Parameter.
barrierefreiheit_befunde
Lesen
Die Befunde der letzten Barrierefreiheits-Prüfung nach WCAG 2.2 AA (BFSG): Kriterium, Schwere, Erklärung, Behebung, betroffene Seiten, Stand der Vereinbarkeit und Lighthouse-Wert — auf Wunsch mit der Erklärung zur Barrierefreiheit.
| Parameter | Typ | Pflicht | Bedeutung |
|---|---|---|---|
schwere | Text | – | Nur Befunde dieser Schwere (optional). Werte: kritisch, mittel, gering |
seite | Text | – | Nur Befunde auf dieser Seite, Pfad wie /kontakt/ (optional). |
mit_erklaerung | ja/nein | – | Die Erklärung zur Barrierefreiheit (Vorlage, Sie-Form) als Text mitliefern (Standard: nein). |
ki_sichtbarkeit
Lesen
Ob ChatGPT, Perplexity, Gemini und Claude Ihre Firma nennen, wenn Kunden typische Fragen stellen: Anteil in Prozent, je Assistent und Frage, Platz, wer stattdessen genannt wird und welche Quellen die Assistenten lesen.
| Parameter | Typ | Pflicht | Bedeutung |
|---|---|---|---|
antworten | ja/nein | – | Auch einen Auszug aus jeder Antwort mitliefern (Standard: nein). |
Entwürfe, Verlauf und Wünsche
vorschau
Lesen
Alle Entwürfe neben dem Live-Stand (vorher/nachher je Feld). Vor dem Veröffentlichen dem Menschen zeigen.
Keine Parameter.
entwurf_stand
Lesen
Was wartet aufs Veröffentlichen: Texte und Blockseiten, mit Zeitpunkt und Herkunft (KI-Zugang oder webentwickler.io CRM).
Keine Parameter.
aenderungen
Lesen
Protokoll der Änderungen über den KI-Zugang mit altem und neuem Text und der Nummer zum Zurücknehmen.
| Parameter | Typ | Pflicht | Bedeutung |
|---|---|---|---|
anzahl | Zahl | – | Wie viele Einträge (Standard 20, höchstens 100). |
seite_versionen
Lesen
Zeitleiste einer Seite: bei jedem Veröffentlichen wann, wer, woher und was sich geändert hat; mit Nummer die Felder vorher/nachher und der Unterschied zu heute.
| Parameter | Typ | Pflicht | Bedeutung |
|---|---|---|---|
seite | Text | – | Pfad der Seite, z. B. "/" oder "/service/immobilienbewertung/". |
alle | ja/nein | – | Zeitleiste der ganzen Website statt einer Seite (Standard: nein). |
version | Zahl | – | Nummer einer Version aus der Liste — liefert die Einzelheiten. |
anzahl | Zahl | – | Wie viele Versionen (Standard 20, höchstens 100). |
anpassungen_liste
Lesen
Ihre Änderungswünsche mit Stand (offen, in Arbeit, zur Prüfung, erledigt, abgelehnt) und letzter Rückmeldung unseres Teams.
| Parameter | Typ | Pflicht | Bedeutung |
|---|---|---|---|
seite | Text | – | Pfad der Seite (optional). |
status | Text | – | offen = neu + in Arbeit + zur Prüfung (Standard: alle). Werte: offen, neu, in_arbeit, zur_pruefung, erledigt, abgelehnt, alle |
Inhalte ändern (Entwurf)
text_aendern
Ändern
Einen vorhandenen Text in einer Sprache ändern. Ergebnis ist ein Entwurf; vorher wird automatisch gesichert.
| Parameter | Typ | Pflicht | Bedeutung |
|---|---|---|---|
schluessel | Text | ja | Schlüssel des Feldes aus seite_texte oder text_suchen, z. B. "hero.h1". |
text | Text | ja | Neuer Text. Auszeichnungen und Platzhalter wie {year} nur, wenn sie schon im bisherigen Text standen. |
sprache | Text | – | Sprachkürzel (Standard: Hauptsprache). |
seo_setzen
Ändern
Seitentitel (title) oder Beschreibung (meta description) setzen. Empfehlung: Titel 30–60, Beschreibung 120–160 Zeichen.
| Parameter | Typ | Pflicht | Bedeutung |
|---|---|---|---|
seite | Text | ja | Pfad der Seite, z. B. "/leistungen". |
feld | Text | ja | titel oder beschreibung. Werte: titel, beschreibung |
text | Text | ja | Neuer Wert, reiner Text ohne HTML. |
sprache | Text | – | Sprachkürzel (Standard: Hauptsprache). |
alt_text_setzen
Ändern
Bildbeschreibung (alt-Text) eines Bildes setzen, 5–250 Zeichen reiner Text. Das Bild selbst tauscht nur ein Mensch.
| Parameter | Typ | Pflicht | Bedeutung |
|---|---|---|---|
schluessel | Text | ja | Schlüssel des alt-Textes oder "block:<nr>" (Blockseite). |
text | Text | ja | Neue Bildbeschreibung, reiner Text. |
seite | Text | – | Nur bei "block:<nr>": Pfad der Blockseite. |
sprache | Text | – | Sprachkürzel (Standard: Hauptsprache). |
liste_bearbeiten
Ändern
In einer Aufzählung einen Punkt einfügen, ändern, entfernen oder verschieben, oder unter einem Absatz eine neue Liste anlegen. Höchstens 30 Punkte.
| Parameter | Typ | Pflicht | Bedeutung |
|---|---|---|---|
schluessel | Text | ja | Schlüssel der Liste aus seite_gliederung, z. B. "meta.intro.list". |
aktion | Text | ja | Was mit dem Punkt geschehen soll; anlegen = neue Liste in einem Steckplatz. Werte: einfuegen, aendern, entfernen, verschieben, anlegen |
punkte | Liste | – | Nur bei anlegen: alle Punkte der neuen Liste (statt text). |
position | Zahl | – | Nummer des Punkts, ab 1. Bei einfuegen: Stelle des neuen Punkts (ohne Angabe: ans Ende). |
nach | Zahl | – | Nur bei verschieben: neue Stelle, ab 1. |
text | Text | – | Text des Punkts bei einfuegen und aendern, ohne <li>. Auszeichnungen nur, wenn die Liste sie schon hat. |
sprache | Text | – | Sprachkürzel (Standard: Hauptsprache). |
seite | Text | – | Pfad der Seite mit der Liste (optional, wird beim Veröffentlichen mitgeprüft). |
ueberschrift_ebene
Ändern
Eine Überschrift zur H2, H3 oder H4 machen. Das Aussehen bleibt, gilt in allen Sprachen. Was die Gliederung bricht, lehnt der Server ab.
| Parameter | Typ | Pflicht | Bedeutung |
|---|---|---|---|
seite | Text | ja | Pfad der Seite mit der Überschrift. |
schluessel | Text | ja | Schlüssel der Überschrift aus seite_gliederung (schluessel_ebene). |
ebene | Text | ja | Neue Ebene. Werte: h2, h3, h4 |
gruppe_bearbeiten
Ändern
Eine Karte bzw. einen Eintrag (Vorteile, Kennzahlen, FAQ …) hinzufügen, entfernen oder verschieben. Die Nummern ordnet der Server neu.
| Parameter | Typ | Pflicht | Bedeutung |
|---|---|---|---|
seite | Text | ja | Pfad der Seite mit der Gruppe. |
gruppe | Text | ja | Name der Gruppe aus seite_gliederung, z. B. "meta.vor". |
aktion | Text | ja | Was geschehen soll. Werte: hinzufuegen, entfernen, verschieben |
position | Zahl | – | Nummer des Eintrags ab 1. Bei hinzufuegen: Stelle des neuen Eintrags (ohne Angabe: ans Ende). |
nach | Zahl | – | Nur bei verschieben: neue Stelle ab 1. |
felder | Objekt | – | Nur bei hinzufuegen: Texte je Feld, z. B. {"h": {"de": "Titel", "en": "Title"}, "p": {"de": "…", "en": "…"}}. Bei nur einer Sprache reicht {"h": "Titel"}. |
block_bearbeiten
Ändern
Blockseiten: Ebene wechseln, Absatz, Zwischenüberschrift oder Liste einfügen, entfernen, verschieben, Texte ersetzen. Nur reiner Text.
| Parameter | Typ | Pflicht | Bedeutung |
|---|---|---|---|
seite | Text | ja | Pfad der Blockseite, z. B. "/service/immobilienbewertung". |
aktion | Text | ja | ebene = Überschrift umschalten; einfuegen = neuer Block; text = Text eines Absatzes/einer Überschrift ersetzen; liste = alle Punkte einer Liste ersetzen. Werte: ebene, einfuegen, entfernen, verschieben, text, liste |
position | Zahl | – | Nummer des Blocks aus seite_gliederung (bloecke[].nr), ab 1. Bei einfuegen: Stelle des neuen Blocks (ohne Angabe: ans Ende). |
nach | Zahl | – | Nur bei verschieben: neue Stelle, ab 1. |
ebene | Text | – | Bei ebene: neue Ebene. Werte: h2, h3, h4 |
typ | Text | – | Bei einfuegen: Art des neuen Blocks. Werte: absatz, h2, h3, h4, liste |
text | Text | – | Bei einfuegen (absatz/h2/h3/h4) und text: reiner Text ohne HTML. |
punkte | Liste | – | Bei einfuegen (liste) und liste: alle Punkte, reiner Text. |
nummeriert | ja/nein | – | Bei einfuegen (liste): nummerierte Liste statt Aufzählungspunkten. |
Zurücknehmen und Verwerfen
rueckgaengig
Ändern
Eine einzelne Änderung oder alles seit einer Datensicherung zurücknehmen. War der alte Stand schon live, danach veröffentlichen.
| Parameter | Typ | Pflicht | Bedeutung |
|---|---|---|---|
aenderung | Zahl | – | Nummer der Änderung aus aenderungen. |
sicherung | Zahl | – | Nummer einer Datensicherung — setzt alle Texte auf deren Stand. |
entwurf_verwerfen
Ändern
Entwürfe des KI-Zugangs verwerfen: einen Text, eine Blockseite oder alles. Entwürfe aus dem webentwickler.io CRM bleiben unberührt.
| Parameter | Typ | Pflicht | Bedeutung |
|---|---|---|---|
schluessel | Text | – | Ein Textfeld verwerfen. |
sprache | Text | – | Sprache des Textfelds (Standard: Hauptsprache). |
seite | Text | – | Alle Entwürfe dieser Blockseite verwerfen. |
alles | ja/nein | – | Alle Entwürfe des KI-Zugangs verwerfen. |
version_zurueckholen
Ändern
Den Stand nach einer früheren Version (oder mit vorher=true den Stand davor) als Entwurf zurückholen; live erst mit veroeffentlichen.
| Parameter | Typ | Pflicht | Bedeutung |
|---|---|---|---|
version | Zahl | ja | Nummer der Version aus seite_versionen. |
vorher | ja/nein | – | Stand VOR dieser Version zurückholen, also genau diese Änderung zurücknehmen (Standard: nein = Stand nach der Version). |
Online-Terminbuchung
termine_liste
Lesen
Die über die Website gebuchten Termine wie im Reiter „Termine“: wann, Terminart, Name, Kontakt, Nachricht und Stand, dazu kommende Termine und offene Anfragen.
| Parameter | Typ | Pflicht | Bedeutung |
|---|---|---|---|
zeitraum | Text | – | kommend (Standard) oder vergangen. Werte: kommend, vergangen |
tage | Zahl | – | Wie viele Tage voraus bzw. zurück (Standard 60 bzw. 30, höchstens 366). |
mit_abgesagten | ja/nein | – | Auch abgesagte und abgelehnte Termine zeigen (Standard: nein). |
termine_freie_zeiten
Lesen
Welche Zeiten Besucher gerade buchen können, je Tag — abzüglich Urlaub, gebuchter Termine und belegter Zeiten aus angebundenen Kalendern.
| Parameter | Typ | Pflicht | Bedeutung |
|---|---|---|---|
terminart | Text | – | Name oder id der Terminart (Standard: die erste buchbare). |
von | Text | – | Erster Tag als JJJJ-MM-TT (Standard: heute). |
tage | Zahl | – | Wie viele Tage ab „von" (Standard 14, höchstens 31). |
termin_absagen
Ändern
Einen Termin absagen oder eine Anfrage ablehnen: Der Buchende bekommt eine Mail, die den Kalendereintrag entfernt; die Zeit ist wieder frei.
| Parameter | Typ | Pflicht | Bedeutung |
|---|---|---|---|
id | Zahl | ja | id des Termins aus termine_liste. |
grund | Text | – | Grund für den Buchenden, steht in der Mail (optional, höchstens 500 Zeichen). Freundlich und ohne Interna formulieren. |
Wünsche und Feedback an das Team
anpassung_beauftragen
Ändern
Für alles, was der KI-Zugang nicht selbst darf (Gestaltung, Aufbau, Formulare, Technik, Bilder, Menü, Rechtstexte): Wunsch an unser Team. Ein Mensch prüft und setzt um.
| Parameter | Typ | Pflicht | Bedeutung |
|---|---|---|---|
wunsch | Text | ja | Was geändert werden soll, so konkret wie möglich. |
seite | Text | – | Pfad der betroffenen Seite (optional). |
Freigabe und Veröffentlichen
freigabe_einreichen
Ändern
Für Personen ohne Recht zum Veröffentlichen (z. B. Rolle Autor): meldet den offenen Entwurf zur Freigabe. Wer veröffentlichen darf, bekommt eine Meldung im webentwickler.io CRM. Optional mit Notiz.
| Parameter | Typ | Pflicht | Bedeutung |
|---|---|---|---|
notiz | Text | – | Kurze Notiz für die Person, die freigibt (optional, höchstens 1000 Zeichen). |
freigaben_offen
Lesen
Welche Entwürfe zur Freigabe eingereicht sind (wer, wann, Notiz) und der Stand der eigenen Einreichungen: offen, freigegeben oder zurückgegeben mit Antwort.
Keine Parameter.
veroeffentlichen
Veröffentlichen
Stellt alle Entwürfe des KI-Zugangs live. Vorher Abgleich mit der Website und Datensicherung, nachher Prüfung der Seiten; bei Abweichung automatisches Zurückspielen.
Keine Parameter.
Gliederung: Überschriften, Listen, Karten
- Aufzählungen lassen sich punktweise bearbeiten, höchstens 30 Punkte, keine Unterpunkte. Ob eine Liste bearbeitbar ist, zeigt
seite_gliederung(bearbeitbar). - Neue Liste unter einem Absatz:
seite_gliederungzeigt untersteckplaetzedie freien Plätze;liste_bearbeitenmitaktion: anlegensetzt dort eine Liste ein. - Überschriften-Ebenen: Das Aussehen bleibt, nur die Ebene ändert sich, in allen Sprachen. H3 vor der ersten H2 oder Sprünge lehnt der Server mit Begründung ab.
- Karten und Einträge: beim Hinzufügen alle Felder in jeder Sprache angeben; mindestens ein Eintrag bleibt, höchstens so viele, wie
seite_gliederungalshoechstensnennt. - Mehrsprachige Seiten: Listen ändern nur die gewählte Sprache; Ebenen und Anzahl der Karten gelten in allen Sprachen.
- Noch nicht umgestellte Seiten: Zeigt
seite_gliederungnichts Umschaltbares, stellt unser Team die Vorlage einmalig um, überanpassung_beauftragen.
Protokoll und Fehlercodes
Jede Anfrage ist ein POST mit JSON-RPC 2.0, die Antwort kommt als application/json. Keine Dauerverbindung, keine Sitzungs-ID, kein Server-Sent-Events-Strom. Stapel (JSON-Arrays) älterer Protokollfassungen werden angenommen.
| Methode | Antwort |
|---|---|
initialize | Protokollversion (die gewünschte, falls unterstützt, sonst 2025-06-18), capabilities.tools, serverInfo (webentwickler-ki-zugang) und instructions mit der Regel und dem empfohlenen Vorgehen. |
tools/list | Die Werkzeuge für das Recht des Schlüssels, mit inputSchema und annotations (readOnlyHint u. a.). |
tools/call | Ergebnis als Text (content) und als Objekt (structuredContent), isError bei abgelehnten Aufrufen. |
ping | Leeres Ergebnis. |
resources/list, prompts/list | Leere Listen. |
Benachrichtigungen (ohne id) | HTTP 202 ohne Inhalt |
Anmeldung (OAuth 2.1)
Umgesetzt nach der MCP-Spezifikation „Authorization“ (2025-06-18). Ohne Anmeldung antwortet /mcp mit 401 und WWW-Authenticate: Bearer resource_metadata=…; daran erkennt der Assistent den Anmeldeserver.
| Adresse | Zweck |
|---|---|
/.well-known/oauth-protected-resource/mcp | Protected Resource Metadata (RFC 9728) |
/.well-known/oauth-authorization-server | Authorization Server Metadata (RFC 8414) |
/oauth/register | Dynamic Client Registration (RFC 7591) |
/oauth/authorize | Freigabe im webentwickler.io CRM; nur Authorization Code mit PKCE S256 |
/oauth/token | authorization_code und refresh_token; Zugriffstoken 1 Stunde, Erneuerungstoken rotierend |
/oauth/revoke | Token Revocation (RFC 7009) |
- Rückleitungen nur an
https://claude.ai/api/mcp/auth_callback,https://claude.com/api/mcp/auth_callbackund an das eigene Gerät (http://localhost,127.0.0.1,[::1]). Andere Programme schalten wir auf Anfrage frei. - Der Parameter
resourcemusshttps://www.webentwickler.io/mcpsein. Scope istmcp; Website und Recht wählt der Mensch auf der Freigabeseite. - Wird ein Code oder Erneuerungstoken ein zweites Mal benutzt, trennt der Server die ganze Verbindung.
Beispiel
curl https://www.webentwickler.io/mcp \
-H "Authorization: Bearer wio_mcp_…" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize",
"params":{"protocolVersion":"2025-06-18","capabilities":{},
"clientInfo":{"name":"test","version":"1.0"}}}'
curl https://www.webentwickler.io/mcp \
-H "Authorization: Bearer wio_mcp_…" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call",
"params":{"name":"text_suchen","arguments":{"begriff":"04103 123456"}}}'
Antwort auf tools/call:
{
"jsonrpc": "2.0",
"id": 2,
"result": {
"content": [{ "type": "text", "text": "{ … }" }],
"structuredContent": { … },
"isError": false
}
}
HTTP-Status und JSON-RPC-Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
| 200 | – | Antwort bzw. Ergebnis eines Werkzeugs (auch abgelehnte Werkzeugaufrufe, dann isError: true) |
| 202 | – | Benachrichtigung angenommen |
| 400 | -32700 | Ungültiges JSON |
| 401 | -32001 | Nicht angemeldet; Schlüssel, Verbindung oder Zugriffstoken unbekannt, widerrufen oder abgelaufen (der Assistent erneuert ein abgelaufenes Zugriffstoken selbst); Website nicht freigeschaltet; Person ohne Zugang. Die Meldung nennt den Grund. |
| 200 | -32600 | Ungültige Anfrage (kein JSON-RPC 2.0) |
| 200 | -32601 | Unbekannte Methode |
| 405 | – | Andere Methode als POST / OPTIONS; ein einfaches GET liefert eine kurze Beschreibung als JSON. |
| 500 | -32603 | Interner Fehler |
Was der KI-Zugang nie tut
- Code: PHP, JavaScript, CSS, Vorlagen,.htaccess, auch nicht „nur eine Zeile“.
- Formulare: Felder, Pflichtfelder, Empfänger, Spamschutz, Bestätigungstexte.
- Tracking und Einwilligung: Zähler, Tag Manager, Cookie-Banner, eingebettete Dienste.
- Adressen und Indexierung: Weiterleitungen, robots.txt, Sitemap, noindex, Canonical, Sprachpfade.
- Seitenstruktur: Seiten anlegen oder löschen, Abschnitte umbauen, Menü umsortieren. Erlaubt ist nur, was die Vorlage vorsieht: Punkte in Aufzählungen, Listen in freien Plätzen, Überschriften-Ebenen, Karten in Kartenreihen, Blöcke auf Blockseiten.
- Zugänge: Serverzugang, Datenbank, Dateien, andere Websites als die des Schlüssels.
In Stufe 1 zusätzlich noch gesperrt: Rechtstexte (Impressum, Datenschutz), Stammdaten (Telefon, Anschrift, Links), FAQ-Einträge, Menü-Beschriftungen und Bilder selbst. Bildbeschreibungen (alt-Texte) sind über alt_text_setzen erlaubt. Für alles andere legt die KI über anpassung_beauftragen einen Wunsch an; unser Team prüft und setzt um, den Stand zeigt anpassungen_liste.
Meldungen
„Auf der Website wurde direkt etwas geändert …“
Die Live-Texte weichen von der Quelle im webentwickler.io CRM ab. Bitte dort neu einlesen lassen oder uns Bescheid geben.
„… wurde auf dem Server geändert, seit der Entwurf begonnen hat“
Eine Blockseite ist inzwischen anders geändert worden. Den Entwurf dieser Seite mit entwurf_verwerfen verwerfen und neu bearbeiten.
„… Änderungen, die nicht über den KI-Zugang kamen“
Im webentwickler.io CRM liegt ein Entwurf eines Menschen. Den stellt nur er live oder verwirft ihn, im Editor.
„Gesperrt: …“
Das Feld ist kein Text oder gehört zu den gesperrten Bereichen. Die Meldung nennt den Grund.
„Obergrenze erreicht“
Zu viele schreibende Aufrufe in der letzten Stunde.
„Datensicherung fehlgeschlagen“
Der Server Ihrer Website war nicht erreichbar. Es wurde nichts geändert.
„Nach dem Veröffentlichen hat sich mehr als Text geändert“
Der vorige Stand wurde automatisch zurückgespielt. Bitte melden Sie sich bei uns.
Datenschutz
- Der KI-Zugang läuft auf unserem Server in Deutschland.
- Protokolliert werden je Aufruf: Zeit, Schlüssel, Werkzeug, betroffenes Feld, alter und neuer Text sowie die IP-Adresse des Aufrufs. Das Protokoll sehen Sie im Reiter.
- Was Sie dem KI-Assistenten schreiben, verarbeitet dessen Anbieter (z. B. Anthropic) nach seinen eigenen Bedingungen. Wir erhalten nur die Werkzeug-Aufrufe.
- Wie unsere Server, Verbindungen und Sicherungen zusammenspielen, beschreibt das Werkzeug
datenwegebzw. der Reiter „Datenwege“ im webentwickler.io CRM.
Trennen und widerrufen
Geht ein Gerät verloren oder verlässt jemand das Team: im Reiter beim Schlüssel bzw. bei der Verbindung auf „Widerrufen“. Das wirkt sofort, auch für bereits ausgegebene Anmeldungen. Ein Schlüssel oder eine Verbindung verliert seine Wirkung außerdem automatisch, wenn er abläuft oder die Person, die ihn angelegt hat, keinen Zugang mehr zu Ihrer Website hat.
Mehr Hintergrund für Nicht-Techniker: Was ist MCP? Wie KI-Assistenten Ihre Website pflegen. Fragen oder Interesse am Pilot: info@webentwickler.io.