Zum Inhalt springen

Methodik

Diese Seite legt offen, woher der Bestand stammt, welcher Teil davon veröffentlicht wird und nach welcher Regel jeder abgeleitete Wert entsteht. Werte, die aus der Selbstauskunft eines Anbieters abgeleitet sind, gehen nur dann ohne menschliche Prüfung live, wenn die Ableitungsregel hier offengelegt ist, die Rohangabe unmittelbar neben dem abgeleiteten Wert steht und die Regel ohne Ermessen greift.

Quellen und Erhebung

Herkunft des Bestands

Der Bestand ruht auf 2 Quellen im Betrieb: MCP-Register und Agentensaat.

Die MCP-Server stammen aus dem öffentlichen MCP-Register unter registry.modelcontextprotocol.io, Endpunkt /v0/servers. Es wird täglich um 01:17 Uhr in einem Durchlauf über alle Seiten abgerufen, vollständig und ohne Auswahl. Das gilt für den Abruf; welcher Teil davon veröffentlicht wird, steht im nächsten Abschnitt. Die Coding-Agenten stammen nicht von dort, sondern aus einer gepflegten Datei dieses Registers (Agentensaat), die im selben Auslieferungsstand liegt wie der Quelltext.

Beim Registry-Import wird ausschließlich erhoben, was die Quelle selbst führt. Dieser Import ruft keine der dort genannten Adressen auf und sieht nicht nach, ob unter ihnen etwas liegt; es reichert nichts aus anderen Quellen an und bildet keine Profile. Wo ein Wert aus einer Angabe der Quelle abgeleitet ist, steht die Rohangabe daneben und die Regel in der Tabelle weiter unten.

Der Quellenverweis an jedem Wert einer Eintragsseite führt auf den einzelnen Datensatz im Register, /v0/servers/<Name>/versions/<Fassung>, in der Fassung, die erhoben wurde. Dieser Dienst ruft die Adresse nicht ab; er nennt sie.

Gebaut und nicht eingeschaltet

ACP-Register, abgeschaltet seit 2026-08-16.

Adresse: https://cdn.agentclientprotocol.com/registry/v1/latest/registry.json

Werte aus ihr stehen an 0 Einträgen dieses Bestands.

Grund, unverändert aus dem Betriebsvermerk zitiert: Gebaut, aber nicht eingeschaltet: Die Anbindung einer fremden Quelle ist eine Entscheidung des Betreibers (Lizenzlage der Fremddaten, Abwägung nach Art. 6 Abs. 1 lit. f DSGVO wegen des Feldes authors, Zuordnung der Autorität).

Eine abgeschaltete Quelle wird von keinem Lauf abgerufen. Sie steht hier, weil Abschalten sonst Verstecken wäre.

Was ausgeliefert wird

Der Bestand wird vollständig ausgeliefert. Geführt werden 41.867 Einträge, öffentlich abrufbar sind davon 41.867, zurückgehalten werden 0.

Bis zum 8. August 2026 wurde ein Teil des Bestands zurückgehalten: jeder Eintrag, dessen Bezeichner den Kontonamen eines Menschen trägt. Diese Einträge sind seither öffentlich. Wer als betroffene Person nicht in diesem Register stehen möchte, widerspricht formlos an die im Impressum genannte Adresse; der Eintrag wird dann gelöscht und die Kennung dauerhaft gesperrt.

Von den ausgelieferten Einträgen tragen 41.867 jedes Pflichtmerkmal ihres Schemas. Das ist die Bedingung dafür, dass eine Eintragsseite überhaupt angeboten werden kann.

Suchmaschinen bieten wir davon 29.983 an; das sind genau die Eintragsseiten, die in der Sitemap stehen. Daneben führt die Sitemap 114 Vergleichsseiten sowie die Übersichts-, Themen- und Werkzeugseiten des Registers. Die Startseite nennt je Bereich die größere der beiden Zahlen: die der ausgelieferten Einträge mit vollständigem Schema. Die Differenz sind Einträge, deren Bezeichner den Kontonamen eines Menschen trägt und die keinen eigenen Anzeigenamen führen: Ihre Seite ist erreichbar, trägt aber „noindex" und steht in keiner Sitemap – dieselbe Regel, aus der oben zurückgehalten wird, nur eine Stufe schwächer. Dazu kommen seit dem 28. September 2026 die knapp beschriebenen Einträge großer Repository-Familien: Nennt eine Repository-Adresse mehr als 100 Einträge und hat mindestens die Hälfte davon eine Beschreibung unter 40 Zeichen, tragen die Einträge mit einer solchen Beschreibung „noindex" und stehen in keiner Sitemap; erreichbar und gelistet bleiben sie. Alle sechs Zahlen werden bei jedem Abruf aus der Datenbank gezählt.

Lizenzstand, geprüft am 2026-08-06: Das Vorhaben modelcontextprotocol/registry regelt in seiner LICENSE nur Code und Dokumentation; zu den eingereichten Servereinträgen steht dort nichts. Das ist ein belegter Stand mit Prüfdatum und keine Rechtsauskunft. Das Register gibt wieder, was die Quellen führen, und sichert nicht zu, dass die Angaben zutreffen.

Die offengelegten Regeln

Jede Regel, nach der dieses Register aus einer Angabe der Quelle etwas anderes bildet, steht hier mit ihrer Fassung. Die Tabellen sind aus dem Quelltext gelesen und nicht abgeschrieben: Eine Regel, die dort dazukommt, steht am selben Tag auch hier.

Ableitungsregeln

Fassung der Ableitungsregeln: 2

Ableitungsregeln
zugangsdaten_erforderlich Wahr, wenn das Register mindestens eine Umgebungsvariable ODER mindestens eine Kopfzeile eines Remote-Endpunkts mit isSecret = true und isRequired = true führt. Beide Rohangaben stehen getrennt daneben.
Originalangabe: roh_geheime_pflichtvariablen
Gilt für: mcp_server
Greift ohne Ermessen
ausfuehrungsort „entfernt", wenn ausschließlich Remotes oder HTTP-Transporte geführt sind; sonst „lokal".
Originalangabe: roh_transportarten
Gilt für: mcp_server
Greift ohne Ermessen
dateisystem_pfadargument Wahr, wenn mindestens ein Paket- oder Laufzeitargument ODER mindestens eine Umgebungsvariable das Format filepath trägt.
Originalangabe: roh_pfadargumente
Gilt für: mcp_server
Greift ohne Ermessen
quelloffen_einsehbar Wahr, wenn das Register eine Repository-Adresse führt. Ob dort etwas liegt, ist damit nicht gesagt: Das Register ruft die Adresse nie ab.
Originalangabe: roh_repository_url
Gilt für: mcp_server
Greift ohne Ermessen
einsatzgebiet Wofür ein Server da ist, abgeleitet aus dem Beschreibungstext des Anbieters: je Einsatzgebiet eine Liste von Wörtern, gesucht an Wortgrenzen im kleingeschriebenen Text. Ein Eintrag kann mehrere Gebiete tragen; wo kein Wort greift, trägt er keines.
Originalangabe: roh_beschreibung
Gilt für: mcp_server
Greift ohne Ermessen

Was möchten Sie automatisieren?

Die API-Abdeckung belegt keine MCP-Unterstützung. Anmeldung, Connector, Client und Datenübertragung zwischen den Schritten müssen vor der Nutzung geprüft werden.

Auslöser oder Zeitplan, Datenumwandlung, Zielkennungen und Fehlerbehandlung gehören zum Ablauf. Diese Seite führt ihn nicht aus.

lib/workflows.js: 2026-09-08.1 · Datenstand: 7ff253a9df88994d7f63

Online und auf dem eigenen Rechner sind getrennte Wege. Die Quellenangabe zeigt, worauf die Angaben beruhen. Zugangsdaten lokal ergänzen und die Herstelleranleitung prüfen. Eine Vorlage ist kein Verbindungstest. Eine .env-Datei allein lädt keine Variablen in den Client.

lib/verbindungswege.js: 2026-09-07.1

Abläufe überwachen

Speichern Sie einen privaten Projektstand. tracevero prüft regelmäßig die verwendeten Quellen und meldet Änderungen oder ausbleibende Prüfberichte. Die Überwachung führt keine Vorgänge in Ihren Apps aus. Ihr lokaler Prüfläufer sendet nur bereinigte Ergebnisse. Zugangsdaten zu den Anbietern bleiben auf Ihrem Computer.

Vom lokalen Projekt-Prüfläufer gemeldet; keine unabhängige Bestätigung durch tracevero. Der Test verwendet einen künstlichen E-Mail-Entwurf, eine XML-Datei und einen festen Tabellenbereich. Er prüft weder PDF-Erkennung noch das Anhängen an bestehende Tabellen oder die vollständige Migration Ihrer Daten.

lib/monitoring.js: 2026-09-07.1 · Abläufe überwachen

Alle Aufgaben · Quelle

Konfiguration umschreiben 2 Regeln · Fassung 1

Diese Regeln übertragen den gemeinsamen lokalen JSON-Serverblock. Nicht unterstützte Angaben führen zur Ablehnung der ganzen Ausgabe.

Konfiguration umschreiben
RegelWas sie tut
stdioNamen, command, args und env bleiben unverändert. VS Code erhält servers, andere JSON-Klienten mcpServers. VS Code und Claude Code erhalten type: stdio.
grenzeTOML wird nicht geprüft. Ferne Server, weitere Optionen, Klientenvariablen und doppelte Schlüssel werden nicht umgeschrieben; es entsteht keine Teilausgabe.

gelesen aus: lib/konfigkonverter.js

Angewandt auf: MCP-Konfiguration für andere Clients

Zerlegungsregeln der Rohangaben 19 Regeln · Fassung 1

Wie aus einem Feld des Rohsatzes ein gespeicherter Wert wird: welche Teile zusammengefasst, wie sie sortiert und womit sie getrennt werden. Eine Zerlegung urteilt nicht, sie schreibt um.

Zerlegungsregeln der Rohangaben
RegelFeld im RohsatzWas sie tut
roh_verbindungswegepackages[] + remotes[]Paketkennung, Version, Transport und Variablennamen bleiben je Verbindungsweg zusammen. Geheimwerte werden nicht übernommen. Zusätzliche Argumente werden als Voraussetzung markiert.
roh_geheime_pflichtkopfzeilenremotes[].headers[]Die Namen aller Kopfzeilen eines Remote-Endpunkts mit isSecret = true UND isRequired = true, entdoppelt, alphabetisch, durch Komma getrennt. Eine Kopfzeile ohne Namen erscheint als „Kopfzeile ohne Bezeichnung".
roh_pfad_umgebungsvariablenpackages[].environmentVariables[] (format = filepath)Die Namen aller Umgebungsvariablen mit format = filepath, entdoppelt, alphabetisch, durch Komma getrennt.
roh_remote_adressenremotes[].urlJede Adresse unverändert, entdoppelt, alphabetisch, durch Komma getrennt. Gemessen am 15.08.2026 trägt keine der 11600 Adressen des Rohabzugs Leerraum; das Trennzeichen ist damit eindeutig.
roh_remote_hostsremotes[].url, HostnameDer Hostname jeder Remote-Adresse, ohne Port, entdoppelt, alphabetisch. Eine nicht zerlegbare Adresse liefert keinen Host; die Adresse selbst bleibt daneben stehen. Dass zwei Einträge denselben Host nennen, sagt nichts darüber, wem er gehört.
roh_statusmeldung_meta["io.modelcontextprotocol.registry/official"].statusMessageDer Text des Registers zum Statuswechsel, unverändert und ungekürzt. Kein Text heißt: Das Register führt keinen.
roh_veroeffentlicht_am_meta["io.modelcontextprotocol.registry/official"].publishedAtDer Kalendertag der Ersteintragung im Register. Der Zeitstempel wird auf den Tag gekappt; der volle Wert steht im archivierten Rohabzug.
roh_aktualisiert_am_meta["io.modelcontextprotocol.registry/official"].updatedAtDer Kalendertag der letzten Änderung im Register, gekappt wie oben. Weicht er vom Tag der Ersteintragung ab, wurde nachgepflegt.
roh_schemafassungserver.$schemaDie Adresse des Schemas, gegen das der Rohsatz veröffentlicht wurde, unverändert.
roh_bereitstellungsformpackages[] + remotes[]„paket", wenn der Rohsatz Pakete führt und keine Remotes; „remote" umgekehrt; „paket und remote", wenn beides; „keines", wenn nichts. Gezählt wird, ob die Liste Einträge hat, sonst nichts.
roh_repository_quellerepository.sourceDie Plattformangabe des Repositorys, unverändert. Ob dort etwas liegt, ist damit nicht gesagt: Das Register ruft die Adresse nie ab.
roh_repository_unterordnerrepository.subfolderDer Unterordner im Repository, unverändert. Er steht dort, wo der Server in einem gemeinsamen Repository liegt.
roh_paketbezeichnerpackages[].identifierALLE Paketbezeichner, entdoppelt, alphabetisch, durch Komma getrennt. Die Spalte `paket_koordinate` führt nur den ranghöchsten; gemessen am 15.08.2026 fiel damit bei 173 Einträgen der Rest weg.
roh_paketversionenpackages[].versionDie Versionsangaben aller Pakete, entdoppelt, alphabetisch. Sie können von der Serverversion abweichen.
roh_laufzeithinweisepackages[].runtimeHintDie Laufzeithinweise aller Pakete, entdoppelt, alphabetisch, durch „ · " getrennt. Das Feld ist Freitext: Gemessen am 15.08.2026 tragen 2 von 396 Werten selbst ein Komma, einer einen ganzen Absatz. Deshalb nicht das Komma als Trenner.
roh_umgebungsformatepackages[].environmentVariables[].formatDie vorkommenden Formatangaben, entdoppelt und alphabetisch. Welche Variable welches Format trägt, steht hier nicht.
roh_umgebungsbeschreibungenpackages[].environmentVariables[].descriptionJe Umgebungsvariable mit Beschreibung ein Paar „NAME=Text", nach Namen sortiert, durch „ · " getrennt. Getrennt wird am ERSTEN Gleichheitszeichen: Gemessen am 15.08.2026 tragen 12 von 1720 Beschreibungen selbst eines, aber keine einzige das Trennzeichen „ · ". Der Text bleibt unverändert.
roh_beschreibungdescriptionDer Beschreibungstext des Anbieters, unverändert. Er steht zusätzlich als Prosa auf der Eintragsseite; hier ist er die Rohangabe, aus der das Einsatzgebiet abgeleitet wird. Das Register deckelt ihn bei 100 Zeichen - gemessen am 26.08.2026 endet jeder längere mit einem Auslassungszeichen.
roh_symbolformateicons[].mimeTypeDie Formatangaben der Symbole, entdoppelt und alphabetisch. Die BILDADRESSE wird ausdrücklich nicht geführt: Gemessen am 15.08.2026 verteilen sich 895 Symboladressen auf 601 fremde Hosts, und eine ausgelieferte Bildadresse gäbe jedem von ihnen die IP des Besuchers.

gelesen aus: lib/ableitung.js

Angewandt auf: Merkmale und ihre Werte

Fundregeln der Koordinatensuche 10 Regeln · Fassung 4

Aus welchen Eingabeformen die Koordinatensuche eine Paketkennung herauslöst. Die Reihenfolge ist Teil der Regel: Die Befehlsformen greifen vor dem nackten Bezeichner. Greift keine, wird nichts geraten.

Muster und Beispiel stehen sprachlos im Quelltext und werden wörtlich wiedergegeben.

Fundregeln der Koordinatensuche
RegelMusterBeispielWas sie tut
koordinate^(npm|pypi|oci|nuget|mcpb|cargo|name):(@?[\w.-]+(?:\/[\w.-]+)*)$pypi:unraid-mcpEine Paketkoordinate in der Form, die dieses Register selbst ausgibt: Quelle, Doppelpunkt, Kennung. Der Teil hinter dem Doppelpunkt muss selbst ein Bezeichner sein.
purl^pkg:(?:npm|pypi|oci|nuget|cargo|mcpb)\/(\S+?)(?:@[^/@\s]*)?$pkg:npm/@modelcontextprotocol/server-filesystemEine Paket-URL nach der purl-Schreibweise.
npx\bnpx\s+(?:-{1,2}[a-z-]+\s+)*(@?[A-Za-z0-9_][\w.-]*(?:\/[\w.-]+)?)(?![\w.+:\/-])npx -y @modelcontextprotocol/server-filesystemEin Startbefehl mit npx. Die Schalter von npx selbst werden übersprungen. Der Paketname muss als ganzes Wort dastehen.
uvx\b(?:uvx|pipx\s+run)\s+(?:-{1,2}[a-z-]+\s+)*([A-Za-z0-9_][\w.-]*)(?![\w.+:\/-])uvx mcp-server-gitEin Startbefehl mit uvx oder pipx run. Der Paketname muss als ganzes Wort dastehen, auch als Wert von --from.
pip\b(?:uv\s+)?pip\s+install\s+(?:-{1,2}[a-z-]+\s+)*([A-Za-z0-9_][\w.-]*)(?![\w.+:\/-])pip install mcp-server-gitEine Installation mit pip oder uv pip. Der Paketname muss als ganzes Wort dastehen.
docker\b(?:docker|podman)\s+run\b[^\n]*?\s((?:[A-Za-z0-9][\w.-]*\/)+[A-Za-z0-9][\w.-]*)(?::[\w.-]+(?:\s+[A-Za-z][\w-]*(?:\s+\S+)*)?)?\s*$docker run -i --rm mcp/everythingEin Containerabbild aus einem docker- oder podman-Befehl. Eine angehängte Fassung fällt weg, weil der Befehl davor sagt, was gemeint ist; hinter einem Abbild mit Fassung darf ein Unterbefehl stehen.
dnx\bdnx\s+(?:-{1,2}[a-z-]+\s+)*([A-Za-z0-9_][\w.-]*)(?![\w.+:\/-])dnx Some.Mcp.ServerEin Startbefehl mit dnx. Der Paketname muss als ganzes Wort dastehen.
registername^([\w.-]+\/[\w.-]+)$io.github.modelcontextprotocol/serversZwei durch einen Schrägstrich getrennte Teile, die Form eines Registerbezeichners. Die Regel beschreibt die Form, nicht die Herkunft.
bezeichner^(@?[\w.-]+(?:\/[\w.-]+)*)$@modelcontextprotocol/server-filesystemEin nackter Paketname, mit oder ohne Geltungsbereich.
eingebettet(?:^|[\s"'\[\],=])(@[A-Za-z0-9_][\w.-]*\/[A-Za-z0-9_][\w.-]*)(?![\w.+:\/-])"args": ["-y", "@modelcontextprotocol/server-filesystem", "/tmp"]Ein Paketname mit Geltungsbereich (@bereich/name) mitten in einer Zeile, die sonst keine Regel trifft: etwa aus den Argumenten einer Konfigurationsdatei oder einer Startzeile ohne npx davor.

gelesen aus: lib/koordinatenfund.js

Angewandt auf: Server bestimmen

Startvorlagen des Konfigurationsbaukastens 3 Regeln · Fassung 2

Aus welcher Paketquelle welcher Startbefehl gebildet wird. Für eine Paketquelle ohne Vorlage wird nichts erzeugt, auch nichts Vorsichtiges.

Startvorlagen des Konfigurationsbaukastens
PaketquelleBefehlWas sie tut
npmnpx -y {kennung}Paketquelle npm: Aufruf über npx mit der Kennung aus der Paketkoordinate.
pypiuvx {kennung}Paketquelle PyPI: Aufruf über uvx mit der Kennung aus der Paketkoordinate.
ocidocker run -i --rm {kennung}Paketquelle OCI: Aufruf über docker run mit dem Abbildnamen aus der Paketkoordinate.

gelesen aus: lib/konfiguration.js

Angewandt auf: Konfiguration erzeugen

Clientkunde des Konfigurationsbaukastens 6 Regeln · Fassung 1

Welcher MCP-Client welche Form der Konfigurationsdatei liest und wo diese Datei liegt. Jede Zeile ist eine Angabe über fremde Software und nennt deshalb ihre Fundstelle mit Abrufdatum. Das Register vergleicht Clients nicht und empfiehlt keinen – die Reihenfolge ist die der Fundstellen.

Clientkunde des Konfigurationsbaukastens
ClientForm der DateiAblageortFundstelle
Claude DesktopJSON mit dem Wurzelschlüssel „mcpServers".~/Library/Application Support/Claude/claude_desktop_config.jsonmodelcontextprotocol.io, „Connect to local MCP servers", abgerufen am 2026-08-27
Claude CodeJSON mit dem Wurzelschlüssel „mcpServers", je Server zusätzlich „type": "stdio" – so steht es in der Anleitung dieses Clients..mcp.jsoncode.claude.com/docs/en/mcp, abgerufen am 2026-08-27
CursorJSON mit dem Wurzelschlüssel „mcpServers"..cursor/mcp.json · ~/.cursor/mcp.jsoncursor.com/docs/context/mcp, abgerufen am 2026-08-27
Visual Studio CodeJSON im VS-Code-Format mit dem Wurzelschlüssel „servers"..vscode/mcp.jsoncode.visualstudio.com/docs/agent-customization/mcp-servers, abgerufen am 2026-10-01
WindsurfJSON mit dem Wurzelschlüssel „mcpServers".~/.codeium/windsurf/mcp_config.jsondocs.devin.ai/desktop/cascade/mcp, abgerufen am 2026-08-27
Codex CLITOML mit der Tabelle [mcp_servers.<Name>].~/.codex/config.toml · .codex/config.tomllearn.chatgpt.com/docs/extend/mcp?surface=cli, abgerufen am 2026-08-27

gelesen aus: lib/konfiguration.js

Angewandt auf: Konfiguration erzeugen

Bildung des Namensraums 1 Regel · Fassung 1

Wie aus dem Registernamen eines Eintrags sein Namensraum wird. Dass zwei Einträge denselben Namensraum tragen, heißt, dass sie denselben gemessenen Wert tragen, und nichts darüber hinaus.

Bildung des Namensraums
RegelWas sie tut
namensraumDer Teil des Registernamens vor dem ersten Schrägstrich. Enthält der Name keinen Schrägstrich, hat er keinen Namensraum. Die Regel greift ohne Ermessen; wem ein Namensraum gehört, ist damit nicht gesagt.

gelesen aus: lib/namensraum.js

Angewandt auf: Namensräume

Namensnachbarn 5 Regeln · Fassung 1

Nach welcher Regel zwei Bezeichner als nahe gelten. Die Schwelle entscheidet über jede Zahl auf der Werkzeugseite: Derselbe Vergleich liefert ohne sie 2161 Paare und mit ihr 165.

Namensnachbarn
RegelWas sie tut
anzeigenameZwei Einträge tragen denselben Anzeigenamen. Verglichen wird ohne Rücksicht auf Groß- und Kleinschreibung und ohne Leerraum am Rand, und nur über die Namensraumgrenze hinweg.
lokalnameZwei Einträge tragen denselben Teil hinter dem ersten Schrägstrich, in verschiedenen Namensräumen. Rein gattungsmäßige Namen bleiben draußen: mcp, mcp-server, server, api.
abstandDie Levenshtein-Distanz zwischen zwei vollständigen Bezeichnern, kleingeschrieben. Abstand 1 und Abstand 2 stehen in getrennten Abschnitten, weil sie verschieden weit gefasst sind.
kontonameTrägt ein Bezeichner den Kontonamen eines Menschen, wird sein Abstand zu anderen Bezeichnern nicht gerechnet - weder über den ganzen Bezeichner noch über den Lokalnamen, und auf beiden Seiten des Vergleichs. Gleichheit wird weiter gezeigt: Dass zwei Einträge denselben Lokalnamen tragen, ist eine Feststellung. Ein Abstand ist eine Behauptung über die Nähe zweier Namen, und dieses Register behauptet nichts über die Namen von Menschen.
mindestlaengeFür den Ähnlichkeitsvergleich über den Lokalnamen gilt eine Mindestlänge von 6 Zeichen. Gemessen am 15.08.2026 liefert derselbe Vergleich ohne sie 2161 Paare und mit ihr 165: „mcp" hat zu „mc" und zu „rmcp" je einen Abstand von eins. Für die GLEICHHEIT gilt sie nicht - dass zwei Einträge denselben Lokalnamen tragen, ist eine Feststellung und keine Vermutung.

gelesen aus: lib/nachbarn.js

Angewandt auf: Namensnachbarn

Umgebungsvariablen 4 Regeln · Fassung 1

Wie aus einer gespeicherten Rohangabe einzelne Variablennamen werden, warum gewöhnliche und geheime nie addiert werden und wie eine Beschreibungszeile in Name und Text zerfällt.

Umgebungsvariablen
RegelWas sie tut
namenDie Namen entstehen, indem die gespeicherte Rohangabe am Trennzeichen geteilt wird, das dieses Register beim Einlesen gesetzt hat. Je Eintrag wird entdoppelt: Wer denselben Namen zweimal nennt, ist trotzdem ein Eintrag, der ihn nennt.
getrenntGewöhnliche und geheime Pflichtvariablen werden GETRENNT gezählt und nirgends addiert. Derselbe Name kann in beiden stehen - gemessen tut APIFY_TOKEN das 30-mal -, und eine Summe wäre deshalb nicht ungenau, sondern falsch.
beschreibungEine Beschreibungszeile der Quelle hat die Form NAME=Text und wird am ERSTEN Gleichheitszeichen geteilt. Der Text dahinter enthält häufig weitere; wer am letzten teilte, machte aus dem gemessenen Text einen anderen. Ein Stück ohne Gleichheitszeichen fällt heraus statt als Name mit leerem Text zu erscheinen.
variablensatzVerglichen wird die MENGE der Namen eines Eintrags: entdoppelt und sortiert. Die Reihenfolge, in der die Quelle sie nennt, bleibt außer Betracht - sie ist keine Aussage. Festgestellt wird damit ausschließlich, dass zwei Einträge denselben gemessenen Wert tragen.

gelesen aus: lib/variablen.js

Angewandt auf: Variablenverzeichnis

Domänen 4 Regeln · Fassung 1

Wie aus einer Adresse eine Domäne wird, warum Homepage und Remote-Endpunkt getrennt gezählt werden und was aus einer geteilten Domäne ausdrücklich nicht folgt.

Domänen
RegelWas sie tut
domaeneDie Domäne entsteht, indem die Adresse als URL gelesen und ihr Rechnername genommen wird, kleingeschrieben und ohne ein führendes www. Der Port gehört zur Adresse und nicht zur Domäne. Eine Adresse, die sich nicht als URL lesen lässt, fällt aus der Zählung und wird auf der Seite angesagt.
getrenntHomepage und Remote-Endpunkt werden GETRENNT gezählt. Wo die Seite eines Eintrags liegt und wohin sein Server verbindet, sind zwei verschiedene Angaben; eine gemeinsame Zahl behauptete einen Zusammenhang, den es nicht gibt.
plattformDomänen, auf denen viele Unbeteiligte veröffentlichen, stehen in einer eigenen Tabelle: github.com, gitlab.com, bitbucket.org, codeberg.org, gitea.com, git.sr.ht, github.io, gitlab.io, sourceforge.net. Gemessen wird github.com von 816 Namensräumen als Homepage genannt; neben einer Domäne mit sechs sähe diese Zahl aus wie ein Befund über 816 Anbieter, und sie ist keiner.
keine_identitaetAus einer geteilten Domäne wird NICHTS abgeleitet. Gesagt wird ausschließlich, dass diese Namensräume dieselbe Domäne nennen - nicht, dass derselbe Anbieter dahintersteht oder dass einer zum anderen gehört. Wem eine Domäne gehört, steht in keiner Quelle, die dieses Register liest.

gelesen aus: lib/domaenen.js

Angewandt auf: Geteilte Domains

Trennung der mehrwertigen Rohangaben 4 Regeln · Fassung 1

Wie eine Zelle mit mehreren Werten wieder in ihre Werte zerfällt. Diese Regel entscheidet jede Zahl des Transportprofils, des Variablenverzeichnisses und des Domänenspiegels; wer an einem anderen Zeichen trennt, erfindet Werte, die die Quelle nie genannt hat.

Trennung der mehrwertigen Rohangaben
RegelWas sie tut
trenner_listeEine Rohangabe aus kurzen Bezeichnern zerfällt an ", " und ausdrücklich nicht an jedem Komma. Gemessen am 15.08.2026 über die Liefermenge: die Trennung an jedem Komma ergab 5795 Stücke aus den Remote-Adressen, davon 44 zerschnittene; die Trennung am ganzen Trenner ergab 5751 und keine einzige zerschnittene.
trenner_freitext2 Rohangaben tragen Sätze statt Bezeichner und zerfallen deshalb an " · ": roh_laufzeithinweise und roh_umgebungsbeschreibungen. In jeder von ihnen kommt das Komma erwiesen im Text selbst vor.
keine_entdopplungNennt eine Zelle denselben Wert zweimal, steht er zweimal da. Die Doppelnennung ist eine Beobachtung über die Quelle und kein Schmutz; gemessen nennen 93 Einträge "stdio, stdio" und 61 "npm, npm". Sortiert wird ebenfalls nicht: Die Reihenfolge ist die der Quelle.
leere_zelleDie leere Zelle ergibt keine Nennung, nicht eine leere. Sie heißt in diesem Register "die Quelle erklärt ausdrücklich nichts" und ist damit eine Messung - aber eben keine Nennung.

gelesen aus: lib/mehrwert.js

Angewandt auf: Merkmale und ihre Werte

Zwei Registernamen, ein Paket 5 Regeln · Fassung 1

Wann zwei Einträge als derselbe Gegenstand gelten und wie gemessen wird, worin sie übereinstimmen. Das Ergebnis ist eine Beobachtung über die Quelle und kein Urteil darüber, welcher der beiden Einträge der richtige ist.

Zwei Registernamen, ein Paket
RegelWas sie tut
gruppeEine Gruppe sind zwei oder mehr Einträge mit derselben Paketkoordinate. Die Koordinate ist die Identität des PAKETS, der Registername die des EINTRAGS; fallen zwei Registernamen auf eine Koordinate, hat die Quelle zweimal dasselbe Paket eingetragen.
vergleichswertOb zwei Einträge einer Gruppe in einem Merkmal übereinstimmen, entscheidet die SORTIERTE MENGE ihrer Projektionszeilen und nicht die erste Zeile. Sonst hinge die Zahl auf der Seite an der Einfügereihenfolge der Datenbank.
gemessene_merkmaleVerglichen werden nur die Merkmale, die der Bestand wirklich führt, nicht die des Schemas. Ein Merkmal, das kein Eintrag trägt, wäre in jeder Gruppe "gleich" und schöbe die Zahl der Übereinstimmungen nach oben, ohne dass etwas gemessen worden wäre.
name_koordinateEin Eintrag ohne Paket trägt "name:<Registername>" als Koordinate. Solche Koordinaten sind nicht ausgenommen, sie können nur nie eine Gruppe bilden, weil der Registername eindeutig ist; gemessen tragen 5222 Einträge eine, und keine einzige Gruppe entsteht daraus. Eine Ausnahmeregel, die nie greift, wäre eine Regel, deren Ausfall niemandem auffiele.
kein_urteilDer Befund sagt, dass zwei Sätze dieselbe Koordinate nennen, und nichts darüber hinaus: kein Wort über Verwechslung, keine Angabe, welcher der "richtige" Eintrag ist, keine Empfehlung. Das Register hat dafür keine Grundlage.

gelesen aus: lib/zwillinge.js

Angewandt auf: Doppelte Paketeinträge

Lesen der Versionsangaben 6 Regeln · Fassung 1

Wie aus einer Versionsangabe ihre Zahlen und daraus eine Klasse wird. Die Klasse beschreibt, welche Ziffern dastehen – sie ist keine Note für Reife oder Pflege.

Lesen der Versionsangaben
RegelWas sie tut
musterGelesen wird ausschließlich die strenge Form: drei durch Punkte getrennte Ziffernfolgen am Anfang der Angabe. Was danach kommt, bleibt als Zusatz stehen und wird nicht gedeutet. Geraten wird nichts - kein "v1.0.0", kein "1.0", kein "nightly". Gemessen fallen dadurch 13 von 6486 Einträgen in die Klasse unlesbar, und das ist die richtige Auskunft und keine Lücke.
vor_einsHauptversion 0. Damit sagt die QUELLE selbst, dass die Schnittstelle noch nicht festliegt (so ist SemVer 2.0.0 formuliert). Das Register gibt diese Aussage wieder und trifft sie nicht.
erstfassungx.0.0 mit x größer oder gleich 1: Weder Neben- noch Korrekturstelle sind hochgezählt worden.
weitereJede andere lesbare Angabe.
zwei_fassungenDie Fassung des REGISTEREINTRAGS und die Fassung des PAKETS stehen nebeneinander und werden nie addiert. Sie beantworten verschiedene Fragen, und eine Summe zählte dieselben Einträge zweimal.
keine_noteDie Klasse beschreibt, welche Ziffern in der Angabe stehen. Sie ist kein Urteil über Reife, Pflege oder Eignung - darüber weiß dieses Register nichts.

gelesen aus: lib/versionsreife.js

Angewandt auf: Versionsangaben

Messung des gelieferten Wortlauts 6 Regeln · Fassung 1

Wie Namen und Beschreibungstexte gezählt, gebündelt und auf Dubletten geprüft werden. Was daraus folgt, folgt aus der Zählung: Eine Beschreibung am Höchstwert ist gemessen, „abgeschnitten" wäre ein Schluss.

Messung des gelieferten Wortlauts
RegelWas sie tut
laengeGezählt werden CODEPUNKTE und nicht Bytes und nicht UTF-16-Einheiten. Gemessen tragen 830 Eintragsnamen der Liefermenge Zeichen jenseits der Grundebene, und die zählt "x".length doppelt. Wer das ändert, ändert Median und Höchstwert.
anzeigenameEin Eintrag führt genau dann keinen eigenen Anzeigenamen, wenn sein Name dem Registerbezeichner gleicht. Dann steht der nackte Bezeichner als Überschrift.
dubletteEine Dublette ist ein Beschreibungstext, den mehr als ein Eintrag WÖRTLICH führt. Verglichen wird der Text unverändert, ohne Kürzung und ohne Normalisierung.
am_hoechstwertGezählt wird, wie viele Beschreibungen genau auf dem Höchstwert des Bestands liegen. Dass sie deshalb "abgeschnitten" seien, ist ein Schluss und keine Messung - eine Kappungsgrenze der Quelle ist naheliegend und nicht bewiesen. Deshalb heißt die Zahl am Höchstwert und nicht abgeschnitten.
rasterDie Längen werden in Felder von 10 Zeichen gebündelt. Die obere Kante des letzten Feldes ist der gemessene Höchstwert und nicht das Ende des Rasters: Ein Feld "100 bis 109" verspräche eine Spanne, in der die Messung nur einen einzigen Wert kennt.
sackgasseZwei getrennte Zahlen, weil es zwei Fragen sind: wer keine Homepage führt, und wer weder Homepage noch Repository-Adresse führt. Aus einem Eintrag der zweiten Art führt keine Zeile aus dem Register hinaus.

gelesen aus: lib/wortlaut.js

Angewandt auf: Beschreibungsqualität

Zeitachse der Quelle 5 Regeln · Fassung 1

Wie aus den beiden Datumsangaben der Quelle Tage und Monate werden. Die Kurve zeigt die Geschichte des fremden Registers und nicht das Wachstum dieses hier; die eigene Erhebung steht getrennt daneben.

Zeitachse der Quelle
RegelWas sie tut
kalendertagGezählt wird je Kalendertag, den die Quelle selbst nennt: roh_veroeffentlicht_am und roh_aktualisiert_am. Ein Eintrag zählt je Tag genau einmal, auch wenn mehrere Zeilen auf ihn zeigen.
leerer_wertDie leere Zeichenkette wird getrennt ausgewiesen und nicht als Tag gezählt. Sie heißt "die Quelle erklärt ausdrücklich nichts" und ist damit eine Messung, aber kein Datum.
monatsrasterDie Tage werden zu Monaten gebündelt, und das Raster ist LÜCKENLOS: Ein Monat ohne Eintrag steht mit 0 da und fällt nicht heraus. Sonst zeichnete das Bild elf ruhige Monate und einen vollen als zwei gleich breite Balken nebeneinander.
nachgepflegtAls nachgepflegt zählt ein Eintrag, dessen Änderungstag SPÄTER liegt als sein Eintragungstag. Beide Tage stammen aus der Quelle; die Aussage ist ihre, nicht unsere.
eigene_erhebungDie Zeitachse ist die der QUELLE und nicht das Wachstum dieses Registers. Die eigene Erhebung steht getrennt daneben; ihre Zahl der Tage ist die Auskunft, dass es hier keinen Verlauf gibt, und nicht der Anfang einer Kurve.

gelesen aus: lib/quellhistorie.js

Angewandt auf: Zeitleiste des Registers

Auflösung des Kontonamens 4 Regeln · Fassung 1

Wie aus einem Bezeichner der Kontoname gelöst wird, der in ihm steht. Auf dieser Regel entscheidet sich, welche Kennungen zu einem Widerspruch gehören – eine Regel, nach der gelöscht wird, gehört offengelegt.

Auflösung des Kontonamens
RegelWas sie tut
plattform_praefixDiese Auflösung erfasst Bezeichner, die mit einem der 6 Plattform-Namensräume beginnen: io.github, io.gitlab, io.bitbucket, io.codeberg, io.gitea, ht.sr. Ein Bezeichner außerhalb davon benennt in der Regel eine Domäne; dass er dennoch einen Kontonamen tragen kann, ist gemessen und wird über den Vergleich mit der Repository-Adresse gesondert erkannt.
bis_zum_schraegstrichDer Kontoname ist alles zwischen diesem Präfix und dem ERSTEN Schrägstrich. Fehlt der Schrägstrich, gibt es kein Paket und damit keinen Kontoteil.
normalisierungVerglichen wird über genau eine Normalisierung (Leerraum am Rand entfernt, Kleinschreibung in ganz Unicode) - dieselbe, die auch der Löschweg benutzt. Gemessen tragen 3976 von 20380 Kennungen Großbuchstaben; zwei Normalisierungen nebeneinander wären der Befund vom 07.08.2026.
kein_schlussDie Auflösung zerlegt eine Zeichenkette und sonst nichts. Aus dem Kontonamen wird nicht auf einen Anbieter, eine Identität oder eine Zugehörigkeit geschlossen; zwei Einträge mit demselben Kontonamen tragen denselben gemessenen Wert im Bezeichner, und mehr steht hier nicht.

gelesen aus: lib/konto.js

Angewandt auf: Namensräume

Einsatzgebiete 33 Regeln · Fassung 1

Wofür ein Eintrag da ist, wird aus dem Beschreibungstext des Anbieters abgeleitet: Jede Zeile unten nennt ein Einsatzgebiet und die Wörter, an denen es erkannt wird. Gesucht wird auf Wortgrenzen im kleingeschriebenen Text; ein Eintrag kann mehrere Einsatzgebiete tragen, und wo kein Wort greift, trägt er keines. Die Reihenfolge ist alphabetisch und kein Rang. Der Beschreibungstext steht als Beleg auf jeder Eintragsseite.

Einsatzgebiete
RegelMuster
aufgabenverwaltungjira, asana, trello, issue tracking, task management, kanban, sprint
audioaudio, speech, voice, music, podcast, tts, text-to-speech, transcription
bildimage, images, photo, photos, svg, png, thumbnail, thumbnails
browserbrowser automation, headless browser, browser session, browser sessions, browser agent, real browser, chromium, puppeteer
datenbanksql, postgresql, mysql, mariadb, mongodb, clickhouse, duckdb, neo4j
dokumentpdf, pdfs, docx, document, documents, markdown, epub
epostemail, emails, imap, smtp, gmail, outlook, inbox, mailbox
finanzenfinance, financial, stocks, equities, trading, tax, taxes, portfolio, earnings, sec filings, accounting, bookkeeping, banking, brokerage
gedaechtnismemory, memories, recall, knowledge graph
gestaltungfigma, design system, canva, wireframe, ui design
gesundheithealthcare, medical, patient, patients, clinical, fitness, nutrition, pharmacy, hospital, wellness
handelshopify, ecommerce, e-commerce, woocommerce, storefront, product catalog, amazon seller
infrastrukturaws, azure, gcp, kubernetes, docker, terraform, cloudflare, s3, serverless
kalendergoogle calendar, apple calendar, outlook calendar, calendar management, calendar events, caldav, ical, calendars, appointments, meetings
kartengeospatial, geocoding, geolocation, gis, openstreetmap, coordinates, latitude, google maps
kryptowaehrungblockchain, onchain, on-chain, crypto, ethereum, solana, bitcoin, wallet, defi, nft, erc-20
kundenpflegecrm, salesforce, hubspot, leads, pipedrive
kurznachrichtsms, whatsapp
nachrichtendienstslack, discord, telegram, messaging
pruefungqa, test automation, automated testing, api testing, browser testing, e2e testing, regression testing, unit tests, test suite, software testing, load testing, testing platform, visual testing, mutation testing, testing agent, test case management
rechtlegal, law, laws, court, courts, litigation, patent, trademark, statute, regulation, regulations
sicherheitsecurity, vulnerability, vulnerabilities, cve, pentest, penetration, malware, threat, phishing
sozialmedientwitter, reddit, instagram, tiktok, linkedin, mastodon, social media
tabellencsv, excel, xlsx, spreadsheet, spreadsheets, google sheets
texterkennungocr, handwriting
ueberwachungmonitoring, observability, uptime, alerting
uebersetzungtranslation, translations, localization, i18n
versionsverwaltunggithub, gitlab, git, repository, repositories, pull request, pull requests, commits, ci/cd
videovideo, videos, youtube, streaming, subtitles
websammlungscraping, scrape, scraper, crawl, crawler, crawling, web search, serp
wetterweather, climate
wissenwiki, wikipedia, notion, obsidian, confluence, knowledge base
zahlungpayment, payments, invoice, invoices, invoicing, checkout, stripe, paypal, payouts, subscriptions

gelesen aus: lib/einsatzgebiet.js

Angewandt auf: Kategorien

Paarungen 2 Regeln · Fassung 1

Welche zwei Einträge eine eigene Vergleichsseite bekommen. Beide Bedingungen unten müssen zutreffen; wo sie es nicht tun, gibt es diese Adresse nicht. Die Regel entscheidet, welche Seiten es gibt, und nicht, was ein Wert aussagt – und sie spricht kein Urteil darüber, welcher der beiden Einträge der richtige ist.

Paarungen
RegelWas sie tut
gemeinsame PaketkoordinateBeide Einträge führen dieselbe Paketkoordinate. Das amtliche Register hat dasselbe Paket unter zwei Registernamen eingetragen.
gleicher AnbietertextDie Quelle beschreibt beide Einträge mit demselben Satz. Ohne diese Bedingung entstünden auch Paare aus verschiedenen Diensten, die nur dieselbe Paketangabe tragen – gemessen 208 von 392.

gelesen aus: lib/paarungen.js

Angewandt auf: Vergleich

Kreuzschnitte 4 Regeln · Fassung 2

Welche zwei Merkmalswerte einen gemeinsamen Ausschnitt bekommen. Ein solcher Ausschnitt behauptet mehr als eine Zählung: Er sagt, dass eine Häufung auffällig ist. Verglichen wird deshalb mit den Einträgen, an denen dasselbe gemessen wurde – nicht mit dem ganzen Bestand –, und die Schwelle liegt dort, wo die Abweichung nicht mehr durch Streuung erklärbar ist. Wo beide Regeln greifen, entsteht eine Seite; sonst nicht.

Kreuzschnitte
RegelWas sie tut
GroesseDer Ausschnitt trägt mindestens 30 Einträge und höchstens 90 Prozent der Vergleichsgruppe. Dieselbe Bedingung wie jeder Ausschnitt des Themenkatalogs: Unter 30 Einträgen bewegt jeder einzelne die Anteile im Verteilungsbild um mehr als drei Prozentpunkte.
VergleichsgruppeVerglichen wird mit den Einträgen, an denen dasselbe gemessen wurde: denen mit erhobenem Einsatzgebiet. Wo kein Gebiet erhoben ist, ist keines gemessen – ein solcher Eintrag ist kein Gegenbeispiel und steht in keinem Nenner und in keiner Randsumme.
AuffaelligkeitDie gemessene Zahl liegt mindestens um den Faktor 1,5 über oder unter der erwarteten. Erwartet wird das Produkt der beiden Häufigkeiten: Gebietsgröße mal Merkmalsgröße, geteilt durch die Vergleichsgruppe. Ohne diese Bedingung entstünden Ausschnitte, die nichts sagen als den Bestand ein zweites Mal.
Keine BewertungDer Ausschnitt zählt und urteilt nicht. Er nennt, wie viele Einträge zwei gemessene Merkmalswerte zugleich tragen, und wie viele es nach der Verteilung der Vergleichsgruppe wären. Über die Software selbst sagt er nichts.

gelesen aus: lib/kreuzschnitte.js

Angewandt auf: Kategorien

tracevero · https://tracevero.de/methodik