MZP · Fähigkeitsanalyse · Stichtag 2026-09-23

Was der mzone-publisher kann — und was noch nicht

Eine Bestandsaufnahme aus Agentensicht: nicht aus der Doku abgeschrieben, sondern am lebenden Server ausprobiert. Jede Einschränkung unten ist in dieser Sitzung reproduziert oder ausdrücklich als ungeprüft markiert.

Autor
Claude Opus 5.5 (claude-opus-5-5), im Auftrag von Alexander Maier
Methode
~30 MCP-Aufrufe gegen publisher.maierzone.de, Repo-Vermessung auf main (ca24574), Browser-Screenshots mit Headless-Chromium
Spielwiese
playground-opus-5-5 — fünf Versionen, jede ein Experiment
Folgeseite
opus-suggestions-for-future-of-mzp — die Empfehlungen daraus
Grenzen
Admin-Bereich (/admin, Basic-Auth) und REST-API (OAuth2) nicht geprüft; Bewertungen sind Einschätzungen, keine Messreihen

1 · Kurzurteil

MZP ist kein Webspace mit MCP-Anschluss, sondern eine Qualitätsschleuse für agentengeschriebenes HTML. Die Kette aus Vorab-Prüfung, Browser-Blick, Staging-Token, Erreichbarkeits- und Render-Check nach dem Publish findet sich so bei keinem mir bekannten Publishing-Werkzeug.

Radar mit fünf Achsen: Artefakt-Pipeline 9, Agenten-Ergonomie 9, Diagramm-Engine 7, Wissen und Suche 5, Betrieb 5 von 10; erreichbares Ziel 10, 9, 9, 8, 8.
Abb. 1 · Bewertung je Fähigkeitsfeld, 0–10, als Einschätzung. Gerendert von MZP selbst (Diagrammtyp radar, Playground v3), serverseitig per fromSlug übernommen.
Heute (2026-09-23): 9 · 9 · 7 · 5 · 5 Erreichbar bis Q1/2027: 10 · 9 · 9 · 8 · 8
Stärkstes Feld

Artefakt-Pipeline und Agenten-Ergonomie. Ein Aufruf von getCapabilities reicht, um sauber zu publizieren, und die Fehlermeldungen sagen dem Agenten, was er ändern muss.

Schwächstes Feld

Wissen und Betrieb. Der Bestand wächst mit 59 Seiten pro Woche schneller als seine Pflege, und der MCP-Transport ist noch zustandsbehaftet, obwohl die Umstellung seit sieben Wochen freigegeben ist.

Dazwischen

Diagramm-Engine. 45 Typen und ein starker Viewer, aber ihr Auto-Layout erzeugt bei langen Kanten Anordnungen, die ihr eigener Validator ablehnt.

Wichtigster Einzelbefund

ok heißt nicht immer ok. validateArtifact meldet ok:true, auch wenn der Browser-Check ERROR-Notices liefert (B1).

2 · Daten

Bestand auf dem Server (getPageStats, lintWiki, backlogQuery)

Seiten
471
Neu, letzte 7 Tage
59
Artefakt-Bundles
243
Assets
97715,3 MB
Wiki-Seiten
61
Wiki veraltet
21davon 4 rot
Tote Wiki-Links
40
Tickets erledigt / offen
72/ 25

Codebasis (main, ca24574)

Java main
38,4kLOC · 344 Dateien
Java test
34,7kLOC · 258 Dateien
Flyway-Migrationen
28
Commits
385in 50 Tagen

Harte Grenzen (getCapabilities, include=minimal)

GrenzeWertBedeutung
Bundle gesamt / Datei10 MB / 10 MBdekomprimiert; br/gzip als Transportweg
Dateien je Bundle64genau eine index.html
Dateitypen34 Endungenhtml … wasm, glb/gltf, mp4/webm, woff2
Versionen je Slug5ältere fallen weg
Preview-TTL15 min / max. 7 TageReview-Links überstehen Neustart
Slug^[a-z0-9][a-z0-9-]{0,100}$kein Punkt: aus „playground-opus-5.5“ wurde „-5-5“
Diagramm-Budget9 Knoten / 12 Kantenje Typ, plus Extras (radar: 5 Achsen, 5 Serien)

3 · Fähigkeiten

40 MCP-Tools in sieben Gruppen, dazu eine MCP-Resource (mzp://wiki/). Fett: die Tools, die ein Agent im Alltag braucht.

GruppeToolsWas es leistet
Entdecken · 6getCapabilities, listCapabilities, getCapabilityFor, lookupStyles, searchBranding, getDesignMdForSelbstbeschreibung: Limits, Slug-Regeln, gepinnte Libs, das ganze CSS-Vokabular, Budget und Schema je Diagrammtyp, Parameter-Schemas aller Tools, Icon-Katalog
Artefakte · 10validateArtifact, publishArtifact, publishAsset, getArtifactSource, revokePreview, exportFigurePng, listAssetUsage, deletePage, publishRawPage¹, publishRawPageCompressed¹Bundles mit Begleitdateien, Preview vor dem Speichern, Staging-Token, serverseitige Dateiübernahme (fromSlug), Patch-Modus, Asset-Bibliothek
Diagramme · 3validateDiagram, publishDiagram, diffDiagram45 Typen, Auto-Layout, Mermaid-Import, interaktiver Viewer, strukturelles Delta mit Quittung
Templates · 5listTemplates, getTemplate, renderPreview, publishPage, extractTemplate10 Freemarker-Templates (Post, Landing, Galerie, Timeline, Wiki, Gamma-Deck …)
Versionen · 5listVersions, diffVersions, rollbackArtifact, getPageHistory, setPageLifecycleSnapshot je Overwrite, Unified-Diff, Rücksprung, Lebenszyklus draft→current→superseded→archived
Wissen · 8fullTextSearch, knowledgeQuery, getPageContext, mergePageContext, lintWiki, searchPages, listPublishedPages, getPageStatsPostgres-Volltext mit deutschen Wortformen, Link-Graph (inbound/outbound), Freshness-Linter, elementweises Mergen
Backlog · 3backlogQuery, backlogGet, backlogWriteTicket-Cockpit im selben Server, Tickets verweisen auf Wiki-Seiten

¹ Alias-Pfade aus dem Bestand, ohne Overwrite-Schutz und ohne Versionen. Für Neues gilt publishArtifact.

Die Prüfkette

Das eigentliche Produkt. Vor dem Speichern: Größen, Typen, kaputtes HTML, CDN-Verweise, tote relative Links, unbekannte CSS-Klassen, dann ein echter Browser (Konsolenfehler, Ausnahmen, 404). Nach dem Speichern: öffentliche Erreichbarkeit samt /lib/-Verweisen, erneuter Render-Check, bei Diagrammen die Nachzählung sichtbarer Formen (visualProof).

Keine doppelte Nutzlast

stagingToken publiziert ein bereits geprüftes Bundle, ohne es erneut zu senden. fromSlug kopiert Dateien serverseitig; das Radar in Abb. 1 kam so aus dem Playground in diesen Report, ohne durch den Kontext des Agenten zu laufen. Diese Seite selbst ist Version 3, zwei Patches auf Version 1.

Diagramm-Engine

45 Typen (architecture, sequence, c4, sankey, wardley, fishbone, db-schema …), 11 Skins, 135 Icons in 18 Kategorien, Handzeichen-Modus. Interaktiver Viewer mit Suche, Reach-Trace, Routen-Sonde, Linse, Radar-Minimap, Kapiteln, Präsentationsmodus, Fluss-Animation, Drill-down und Export als PNG, JPEG, WebP und SVG.

Design-System mzone-ui 1.8.0

76 Klassen (davon 27 Transitions) und 48 Effekt-Module (Partikel, Flüssigkeit, Stoff, Glas, Glitch …), Hell/Dunkel automatisch. Dazu gepinnt: chart.js 4.4.6, d3 7.9.0, three 0.170.0, eigene Schriften. Vier Branding-Profile (nightline, ledger, monoblock, arcade).

Außerhalb von MCP

/published/llms.txt als Agentenindex, Doku-Export als PDF, DOCX und EPUB, OG-/Twitter-Tags, Wiki-API unter /api/wiki, private Seiten mit priv-, Hall of Fame, ein Admin-Wiki-Editor und Agent-Workflows als Dokumente (Code→Architektur, Gamma→MZP, Skizze→Figur).

4 · Playground-Protokoll

Alle Versionen liegen unter playground-opus-5-5. Die Tabelle nennt jeden Versuch mit seinem Ausgang, Fehlversuche eingeschlossen.

#VersuchErgebnis
1Slug playground-opus-5.5abgelehnt Regel greift, aber als Exception-Text statt Notice mit Vorschlag
2Mermaid-Flowchart + JSON-Overlay (Icons, Variante, Viewer)ok 7 Knoten gelayoutet, Subgraph → Zone, Overlay gemergt; Icon an ovaler Form korrekt als Warnung gemeldet → v1
3architecture, 9 Knoten, ohne Koordinaten, LRDIAGRAM_INVALID eigenes Auto-Layout führt Kante durch fremde Box
4dasselbe in TB3 Fehler schlechter; zusätzlich zones[].nodes ignoriert (richtig ist node.zone)
5LR mit node.zone2 Fehler lange Kanten über einen Rang hinweg
6Kante diagram→artifact umgebogen, damit alle Backends auf einem Rang liegengültig aber LAYOUT_QUALITY: 10 Kreuzungen, 5 Überlappungen, 21 Knicke → v2
7diffDiagram v1→v2ok 19 Zugänge, 13 Abgänge, 2 Änderungen, Quittung mit SHA-256, Delta-Ansicht
8validateArtifact mit CDN-Script, fehlendem Bild, erfundener Klasse, JS-Fehleralles gefunden aber ok:true trotz drei ERROR-Notices
9radar mit typeBlocks:{…}EMPTY_RENDER gut abgefangen: Schlüssel gehören auf die oberste Ebene
10radar korrigiertok → v3; SVG trägt keine Serienlegende
11quadrant mit Achsen „kleiner/grosser Aufwand“abgeschnitten Achsentexte laufen aus dem Bild, visualProof meldet outsideViewBox 0
12quadrant mit kurzen Achsenok → v4
13renderPreview wiki-page mit renderedAt:1999-01-01MZP-106 bestätigt Fuß zeigt 1999-01-01
14fullTextSearch Diagramm -mermaid "Volltext"ok Syntax greift; Mehrwortsuche ohne Operator liefert bei UND-Verknüpfung schnell 0 Treffer
15searchBranding „ruhig, sachlich, report“kein Treffer Freitext trägt nur bei passenden vibe-Wörtern
16Dieser Report: validate → stagingToken → publish, danach Patchesok Render sauber; 6,4 KB per fromSlug nicht übertragen. Links in mz-meta kamen in Browser-Standardblau (mzone-ui setzt dort keine Linkfarbe) → im Patch behoben
17Playground-Hub als Artefakt mit Screenshots→ v5

5 · Einschränkungen

Rot heißt, dass ein Agent falsch entscheiden kann. Gelb heißt Reibung oder Drift, blau eine Kleinigkeit.

  1. B1Semantik
    validateArtifact meldet ok:true trotz ERROR. PAGE_EXCEPTION, CONSOLE_ERROR und RESOURCE_FAILED tragen severity ERROR, das Gesamtfeld bleibt ok:true (ArtifactValidator.Report.ok() prüft nur errors.isEmpty()). Ein Agent, der nur ok liest, publiziert eine kaputte Seite.
  2. B2Layout
    Auto-Layout verletzt die eigene Transit-Regel. Überspringt eine Kante einen Rang, führt der Router sie durch Boxen im Zwischenrang und der Validator lehnt ab (TRANSIT_NOT_DASHED). Vier Anläufe für ein 9-Knoten-Diagramm, danach immer noch 10 Kreuzungen. Vermutliche Ursache: Hilfsknoten für lange Kanten kommen in diagram/layout/ und EdgeRouter nicht vor (Hypothese).
  3. B3Prüflücke
    visualProof sieht keinen Text-Überlauf. Beim Quadranten standen die waagerechten Achsentexte (x=58, text-anchor end; x=902 start) sichtbar über dem Rand. Gemeldet wurde outsideViewBox: 0.
  4. B4Wissen
    Das Wiki verfällt schneller, als es gepflegt wird. 21 von 61 Seiten sind veraltet, 45 haben keine crossRefs, 40 Links zeigen ins Leere. Es fehlen ADR-001 bis -005 und -007, obwohl AGENTS.md verlangt, vor dem Revidieren einer Entscheidung die ADR zu lesen.
  5. B5Betrieb
    MCP läuft weiter STREAMABLE. application.yml:39. ADR-008 Phase 1 (STATELESS) ist seit dem 2026-08-05 freigegeben und in der Top-3-Liste vom 2026-09-19 als erster Schritt genannt. Preview-Store im Heap (ADR-008 B1) verhindert zudem mehrere Instanzen.
  6. B6Bug
    MZP-106 reproduziert: ein mitgegebenes renderedAt überschreibt die echte Renderzeit im Fuß der Seite.
  7. B7Konsistenz
    9 von 10 Templates laden Google Fonts von außen. Das sind post-single, landing-hero, gallery-wide, info-card, quote-feature, split-editorial, timeline-journey, wiki-page und gamma-deck (Migrationen V4, V5, V6, V17, V22, V25). Bei Agenten-Artefakten meldet MZP genau das als EXTERNAL_REFERENCE, und fonts-maierzone liegt gepinnt unter /lib/.
  8. B8Export
    Radar-SVG ohne Serienlegende und Titel. Die Seite zeigt beides, die exportierte diagram.svg nicht. Allein weitergegeben ist das Bild nicht lesbar (hier per HTML-Legende nachgetragen).
  9. B9Ergonomie
    Drei Stolpersteine beim ersten Versuch: ein Slug-Fehler als nackter Exception-Text statt Notice mit Vorschlag; „typeBlocks“ ist ein Begriff, kein Feld; Zonen werden über node.zone belegt, zones[].nodes wird ignoriert. Alle drei meldet MZP klar, der erste Versuch geht trotzdem daneben. Dazu kommen Links in mz-meta und mz-lead ohne Farbe aus mzone-ui.
  10. B10Suche
    Die Suche endet an Seitengrenzen. fullTextSearch kennt keine Tickets und keine Trefferauszüge, und bei 0 Treffern kommt kein Fallback. searchBranding trifft mit Freitext selten.
  11. B11Historie
    Fünf Versionen je Slug. Lange lebende Seiten (ADRs, Wiki-Index) verlieren ihre frühe Historie ohne Ausnahme.
  12. B12Oberfläche
    40 Tools inklusive Alias-Pfade. Jede Tool-Beschreibung kostet Kontext bei jedem Agenten. publishRawPage überschreibt ohne Schutz und ohne Version.
  13. B13ungeprüft
    Aus dem Backlog, hier nicht selbst getestet: MZP-103 (RENDER_UNAVAILABLE auf geschützten wiki-*-Seiten), MZP-67 (lastabhängiger Zeittest), MZP-68 (38 % der Suite-Laufzeit in einer Testklasse).

Was ausdrücklich gut war

  1. S1lehrt
    Fehlermeldungen nennen die bekannten Schlüssel, den nötigen Wert („ab 72px Seitenlänge passen alle 4“) und den nächsten Schritt. Jeder Fehlversuch oben war in einem Aufruf korrigierbar.
  2. S2ehrlich
    EMPTY_RENDER, DRILLDOWN_TARGET_MISSING und ICON_SHAPE_IGNORED machen stille Fehler sichtbar. Ein leeres Diagramm geht nicht durch.
  3. S3diszipliniert
    Auf 38k Zeilen Code kommen 35k Zeilen Tests, dazu vier Ratschen gegen Verschlechterung, echte Postgres-Migrationen in der Suite und Schema-Validierung beim Start.

6 · Erweiterungsmöglichkeiten

Was im Backlog schon angelegt ist, und wo darüber hinaus Luft ist.

FeldIm BacklogDarüber hinaus
DiagrammeMZP-85 Simulationsmodus, MZP-72 Linse nach Knotenart, MZP-56 Share-Card und WebMRouting mit Rang-Hilfsknoten, Auto-Fix-Modus, Serienlegende im SVG
ArtefakteMZP-64 SRI-Hashes und Import-Map, MZP-79 Markdown → PPTX/PDFaxe-core im Render-Check, einheitliches Prüfergebnis über alle validate-Tools
WissenMZP-69 .md je Seite, MZP-65 Checker für externe Links, MZP-47/48 Obsidian-SchleuseSuche über Seiten und Tickets, lintWiki mit Reparaturvorschlägen, ADR-Lücken schließen
PlattformMZP-18 Public View mit Stimmen, MZP-35 Refine-ToolSTATELESS, Preview-Store in der DB, MCP-Spec 2026-07-28 sobald das Java-SDK nachzieht

7 · Zukunftsaussichten

Die Richtung stimmt. MZP ist von einem Template-Renderer (April) über eine Artefakt-Pipeline (August) zu einem Arbeitsplatz für Agenten mit Gedächtnis geworden: Wiki-Graph, Backlog und Diagramme im selben Server. Der Markt bewegt sich dorthin, wo MZP heute schon steht, nämlich zu Agenten, die Seiten und Diagramme als Endprodukt abliefern. Den Unterschied macht dabei die Qualitätssicherung und nicht das Hosting.

Das Tempo ist zugleich das Risiko. 72 erledigte Tickets in sieben Wochen stehen einem Wiki mit 40 toten Links und fehlenden ADRs gegenüber. Neue Fähigkeiten entstehen schneller als die Pflege der alten. Dazu kommt: Die Entwicklung hängt an einer Person, und jede neue Tool-Beschreibung kostet jeden Agenten Kontext.

Die nächsten sechs Monate entscheiden sich an drei Stellen. Erstens an der Verlässlichkeit der Prüfaussage (ok muss ok heißen). Zweitens an der Layout-Qualität, denn die Engine hat Breite genug, ihr fehlt Ordnung. Drittens am Transport, weil STATELESS und die neue MCP-Spec aus einem Einzelserver einen belastbaren Dienst machen. Die konkreten Vorschläge stehen auf der Empfehlungsseite.

  1. 2026-04
    Template-Publisher: 7 Freemarker-Templates, publishPage
  2. 2026-08
    Artefakt-Pipeline, Prüfkette, mzone-ui, Wissensgraph, Backlog (ADR-006, -009)
  3. 2026-09
    Diagramm-Engine mit 45 Typen, Viewer, Mermaid, Drill-down, Postgres-Volltext
  4. Q4/2026
    Einschätzung: Konsolidierung, also Prüfsemantik, Layout, STATELESS und Wiki-Hygiene
  5. 2027
    Einschätzung: lebende Reports, Agenten-Evals als Qualitätsmaß, Mehr-Instanz-Betrieb