@prontosite/mcp 0.9.1 → 0.9.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -0
- package/README.md +15 -0
- package/index.mjs +11 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,15 @@
|
|
|
3
3
|
Alle nennenswerten Änderungen am MCP-Server für ProntoSite. Der Server ist ein dünner Client um die
|
|
4
4
|
ProntoSite Deploy-API; die eigentliche Logik lebt serverseitig.
|
|
5
5
|
|
|
6
|
+
## 0.9.2 – 2026-10-01
|
|
7
|
+
|
|
8
|
+
- **Pflicht-Marker in den Tool-Beschreibungen** (`site_deploy`, `site_legal_options`) + README: Rechtsseiten
|
|
9
|
+
bringen `data-ps="impressum"`/`"datenschutz"` + eine EIGENE `<h1>` mit (kein handgeschriebener Rechtstext) →
|
|
10
|
+
`site_legal_options` mit `showTitle:false` setzen (bei `?markers=auto` automatisch bei erkannter eigener H1);
|
|
11
|
+
Footer IMMER mit allen vier Markern (`link-impressum`, `link-datenschutz`, `cookie-einstellungen`,
|
|
12
|
+
`cookie-richtlinie`), sonst ungestylter Consent-Block; Mobile-Menü rendert als Drawer, Toggle braucht
|
|
13
|
+
`aria-controls`. Reine Beschreibungs-/Doku-Änderung (keine neue Funktion).
|
|
14
|
+
|
|
6
15
|
## 0.9.0 – 2026-09-27
|
|
7
16
|
|
|
8
17
|
- **Neu: `site_widgets`** (lesend) – Katalog der verwalteten Widgets einer Website inkl. `aktiv`, `optionen`
|
package/README.md
CHANGED
|
@@ -99,6 +99,21 @@ sichern: `cp ~/.prontosite.json ~/.prontosite.json.bak`).
|
|
|
99
99
|
`site_deploy` und `site_publish` sind **schreibende** Aktionen (verändern die Live-Website). Die
|
|
100
100
|
Tool-Beschreibungen weisen den Assistenten an, vorher rückzufragen. Jeder Aufruf wird serverseitig auditiert.
|
|
101
101
|
|
|
102
|
+
### Pflicht-Marker beim lokalen Bauen
|
|
103
|
+
|
|
104
|
+
Baust du das Template selbst, gehören drei Dinge dazu (volle Spec:
|
|
105
|
+
[Marker-Syntax](https://prontosite.io/docs/marker-shortcodes)):
|
|
106
|
+
|
|
107
|
+
- **Rechtsseiten:** `impressum/index.html` und `datenschutz/index.html` tragen IMMER
|
|
108
|
+
`<div data-ps="impressum">` bzw. `<div data-ps="datenschutz">` als Inhaltsbereich und eine **eigene `<h1>`**
|
|
109
|
+
(kein handgeschriebener Rechtstext). Danach `site_legal_options({ impressum:{ showTitle:false } })` setzen
|
|
110
|
+
(eigene H1 → keine doppelte Überschrift). Beim Erst-Import mit `?markers=auto`/der Rechts-Automatik setzt
|
|
111
|
+
ProntoSite `showTitle:false` automatisch, sobald die Rechtsseite eine eigene H1 hat.
|
|
112
|
+
- **Footer:** IMMER alle vier Marker `link-impressum`, `link-datenschutz`, `cookie-einstellungen`,
|
|
113
|
+
`cookie-richtlinie` – sonst hängt das Consent-Widget einen ungestylten Block an den Seitenfuß (mehrsprachig
|
|
114
|
+
je Sprach-Footer dieselben Marker, Linktext lokalisiert).
|
|
115
|
+
- **Mobile-Menü:** rendert als Drawer (von rechts); der Toggle braucht `aria-controls` auf das Menü.
|
|
116
|
+
|
|
102
117
|
## Arbeitsweise: ein Chat je Kunde
|
|
103
118
|
|
|
104
119
|
Für saubere Trennung: pro Kundenwebsite **einen eigenen Claude-Chat**. So bezieht sich der ganze Verlauf auf
|
package/index.mjs
CHANGED
|
@@ -85,6 +85,13 @@ server.tool(
|
|
|
85
85
|
+ "erscheinen sollen – data-ps=\"formular:kontakt\" (verwaltetes Kontaktformular), data-ps=\"impressum\" bzw. "
|
|
86
86
|
+ "data-ps=\"datenschutz\" (Rechtstext-Seite) und data-ps=\"link-impressum\" / data-ps=\"link-datenschutz\" "
|
|
87
87
|
+ "(Footer-Links auf die Rechtstexte). Beim Import legt ProntoSite die Bausteine automatisch an. "
|
|
88
|
+
+ "PFLICHT-MARKER: (a) Rechtsseiten impressum/index.html + datenschutz/index.html tragen IMMER den "
|
|
89
|
+
+ "data-ps-Marker als Inhaltsbereich UND eine EIGENE <h1>; schreib KEINEN Rechtstext von Hand hinein. Weil "
|
|
90
|
+
+ "die Seite ihre eigene H1 hat, die Widget-Überschrift ausschalten – site_legal_options mit showTitle:false "
|
|
91
|
+
+ "(bei ?markers=auto setzt ProntoSite das automatisch, sobald die Rechtsseite eine eigene H1 hat). "
|
|
92
|
+
+ "(b) Footer IMMER mit allen vier Markern link-impressum, link-datenschutz, cookie-einstellungen, "
|
|
93
|
+
+ "cookie-richtlinie (sonst hängt das Consent-Widget einen ungestylten Block an den Seitenfuß; mehrsprachig "
|
|
94
|
+
+ "je Sprach-Footer dieselben Marker). (c) Mobile-Menü-Toggle braucht aria-controls (Menü rendert als Drawer). "
|
|
88
95
|
+ "Syntax-Referenz: https://prontosite.io/docs/marker-shortcodes",
|
|
89
96
|
{ site: z.string().optional().describe(SITE_DESC + " Erst-Import: 'new' (Einzel) bzw. '<label>:new' (Multi-Site). Betreuer-Token: '<Konto-ID>:new' (k-…) legt im betreuten Konto an – die Konto-ID im Label ersetzt den customer-Parameter. sites_list zeigt betreute Konten OHNE Website (needsFirstImport) samt ihrer k-ID."),
|
|
90
97
|
slug: z.string().optional().describe("Erst-Import: gewünschte Web-Adresse (Subdomain-Label, z. B. 'wuerttemberg' → wuerttemberg.prontosite.io). Beim Erst-Import den Nutzer danach FRAGEN; wird sie weggelassen, leitet ProntoSite eine Adresse ab. Bei Updates ignoriert."),
|
|
@@ -135,7 +142,7 @@ server.tool(
|
|
|
135
142
|
);
|
|
136
143
|
|
|
137
144
|
const legalOptShape = z.object({
|
|
138
|
-
showTitle: z.boolean().optional().describe("
|
|
145
|
+
showTitle: z.boolean().optional().describe("Widget-Überschrift des Rechtstextes anzeigen (Default an). Bringt die Rechtsseite ihre EIGENE <h1> mit (Pflicht-Marker-Konvention), hier showTitle:false setzen, sonst doppelte Überschrift."),
|
|
139
146
|
showDate: z.boolean().optional().describe("Stand-Datum anzeigen (Default an; nur wo vorhanden, i. d. R. Datenschutz)."),
|
|
140
147
|
draftNotice: z.boolean().optional().describe("Entwurfs-Hinweis in der VERÖFFENTLICHTEN Seite anzeigen (Default an)."),
|
|
141
148
|
}).describe("Anzeige-Optionen einer Rechtstext-Rolle – Teil-Update, nur gesetzte Booleans wirken.");
|
|
@@ -146,7 +153,9 @@ server.tool(
|
|
|
146
153
|
+ "(Überschrift), showDate (Stand-Datum), draftNotice (Entwurfs-Hinweis in der Live-Ausgabe). OHNE impressum/"
|
|
147
154
|
+ "datenschutz nur LESEN. Teil-Update (nur gesetzte Felder). HINWEIS: draftNotice:false blendet den rechtlich "
|
|
148
155
|
+ "empfohlenen Entwurfs-Hinweis live aus (protokolliert) – bitte vorher bestätigen lassen. "
|
|
149
|
-
+ "
|
|
156
|
+
+ "WICHTIG: Rechtsseiten sollen laut Konvention ihre EIGENE <h1> mitbringen (Marker data-ps=\"impressum\"/"
|
|
157
|
+
+ "\"datenschutz\" als Inhaltsbereich) – dann hier showTitle:false setzen, damit keine doppelte Überschrift "
|
|
158
|
+
+ "entsteht. MARKER (beim lokalen Bauen): Rechtstext-Seiten und -Links im Template mit data-ps markieren – "
|
|
150
159
|
+ "data-ps=\"impressum\" / data-ps=\"datenschutz\" (Seite) bzw. data-ps=\"link-impressum\" / "
|
|
151
160
|
+ "data-ps=\"link-datenschutz\" (Footer-Links). Syntax-Referenz: https://prontosite.io/docs/marker-shortcodes",
|
|
152
161
|
{ site: z.string().optional().describe(SITE_DESC),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prontosite/mcp",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.2",
|
|
4
4
|
"description": "MCP-Server für ProntoSite – Website-Status, Export, Deploy und Veröffentlichen direkt aus einem KI-Assistenten (Claude Desktop). Dünner Client um die ProntoSite Deploy-API.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|