websites
LesenDie 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.
Mit dem KI-Zugang lesen, ändern und veröffentlichen KI-Assistenten wie Claude die Inhalte Ihrer Website. Sie schreiben zum Beispiel „Trag auf der Startseite unsere Betriebsferien vom 23. bis 27. Dezember ein“, und der Assistent erledigt das über dieselben geprüften Wege wie das webentwickler.io CRM. Diese Seite beschreibt Einrichtung, Werkzeuge und Grenzen.
https://www.webentwickler.io/mcpwio_mcp_…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.
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:
{year} bleiben erhalten.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/mcpDie 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“.
Für Programme ohne OAuth oder für Skripte gibt es weiterhin Schlüssel.
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.
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_….
Beispielaufträge zum Kopieren:
| 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. |
seite_texte, text_suchen oder seite_gliederung das richtige Feld bestimmen.vorschau stellt alt und neu nebeneinander, entwurf_stand listet alles Offene.veroeffentlichen stellt 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.rueckgaengig nimmt eine Änderung (Nummer aus aenderungen) oder alles seit einer Sicherung zurück; war der alte Stand schon live, danach erneut veröffentlichen. entwurf_verwerfen verwirft 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.
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 |
websitesDie 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.
anleitungLiefert die Anleitung zum KI-Zugang: was erlaubt ist, was nie geht und warum, wie Veröffentlichen und Zurücknehmen funktionieren.
Keine Parameter.
neuigkeitenWas 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). |
datenwegeWie 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_standWer im Team die Zwei-Faktor-Anmeldung eingerichtet hat und ob die Website sie für alle verlangt. Nur lesen.
Keine Parameter.
seiten_listeAlle 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_steckbriefAlles 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_texteAlle 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_suchenFindet 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Ü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_texteTexte, 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_standSeitentitel 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_abfragenEchte 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_beobachtetDie 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_monatDie 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). |
auffaelligkeitenOb gerade etwas ungewöhnlich ist: Besucher-Einbruch oder -Sprung, keine Anfragen mehr, Google-Klicks eingebrochen, viele Fehlerseiten — mit Normalwert und Verlauf.
Keine Parameter.
barrierefreiheit_befundeDie 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_sichtbarkeitOb 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). |
vorschauAlle Entwürfe neben dem Live-Stand (vorher/nachher je Feld). Vor dem Veröffentlichen dem Menschen zeigen.
Keine Parameter.
entwurf_standWas wartet aufs Veröffentlichen: Texte und Blockseiten, mit Zeitpunkt und Herkunft (KI-Zugang oder webentwickler.io CRM).
Keine Parameter.
aenderungenProtokoll 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_versionenZeitleiste 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_listeIhre Ä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 |
text_aendernEinen 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_setzenSeitentitel (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_setzenBildbeschreibung (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_bearbeitenIn 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_ebeneEine Ü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_bearbeitenEine 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_bearbeitenBlockseiten: 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. |
rueckgaengigEine 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_verwerfenEntwü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_zurueckholenDen 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). |
termine_listeDie ü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_zeitenWelche 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_absagenEinen 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. |
anpassung_beauftragenFü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). |
feedback_meldenFehler, 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.
| Parameter | Typ | Pflicht | Bedeutung |
|---|---|---|---|
art | Text | ja | fehler = etwas geht nicht, idee = etwas fehlt oder ginge einfacher, lob, frage = wie geht …? Werte: fehler, idee, lob, frage |
text | Text | ja | Worum es geht, in ganzen Sätzen: was passiert ist und was erwartet war (höchstens 5000 Zeichen). |
bereich | Text | – | Betroffener Bereich des CRM, z. B. „Editor" oder „KI-Zugang" (optional). |
feedback_standDie eigenen Feedback-Meldungen mit Stand (Eingegangen, In Arbeit, Erledigt, Beantwortet, Nicht geplant) und unseren Antworten. Meldungen anderer Personen sind nicht sichtbar.
Keine Parameter.
freigabe_einreichenFü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_offenWelche Entwürfe zur Freigabe eingereicht sind (wer, wann, Notiz) und der Stand der eigenen Einreichungen: offen, freigegeben oder zurückgegeben mit Antwort.
Keine Parameter.
veroeffentlichenStellt 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.
seite_gliederung (bearbeitbar).seite_gliederung zeigt unter steckplaetze die freien Plätze; liste_bearbeiten mit aktion: anlegen setzt dort eine Liste ein.seite_gliederung als hoechstens nennt.seite_gliederung nichts Umschaltbares, stellt unser Team die Vorlage einmalig um, über anpassung_beauftragen.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 |
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) |
https://claude.ai/api/mcp/auth_callback, https://claude.com/api/mcp/auth_callback und an das eigene Gerät (http://localhost, 127.0.0.1, [::1]). Andere Programme schalten wir auf Anfrage frei.resource muss https://www.webentwickler.io/mcp sein. Scope ist mcp; Website und Recht wählt der Mensch auf der Freigabeseite.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 | 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 |
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.
Die Live-Texte weichen von der Quelle im webentwickler.io CRM ab. Bitte dort neu einlesen lassen oder uns Bescheid geben.
Eine Blockseite ist inzwischen anders geändert worden. Den Entwurf dieser Seite mit entwurf_verwerfen verwerfen und neu bearbeiten.
Im webentwickler.io CRM liegt ein Entwurf eines Menschen. Den stellt nur er live oder verwirft ihn, im Editor.
Das Feld ist kein Text oder gehört zu den gesperrten Bereichen. Die Meldung nennt den Grund.
Zu viele schreibende Aufrufe in der letzten Stunde.
Der Server Ihrer Website war nicht erreichbar. Es wurde nichts geändert.
Der vorige Stand wurde automatisch zurückgespielt. Bitte melden Sie sich bei uns.
datenwege bzw. der Reiter „Datenwege“ im webentwickler.io CRM.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.