<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>MCP |</title><link>https://clementgodbarge.com/de/tag/mcp/</link><atom:link href="https://clementgodbarge.com/de/tag/mcp/index.xml" rel="self" type="application/rss+xml"/><description>MCP</description><generator>HugoBlox Kit (https://hugoblox.com)</generator><language>de-de</language><lastBuildDate>Tue, 05 May 2026 00:00:00 +0000</lastBuildDate><image><url>https://clementgodbarge.com/media/icon_hu_64a6c3bec25b3d7b.png</url><title>MCP</title><link>https://clementgodbarge.com/de/tag/mcp/</link></image><item><title>tei-mcp v0.3: TEI kodieren, ohne die Quelle anzutasten</title><link>https://clementgodbarge.com/de/post/tei-mcp-span-locked/</link><pubDate>Tue, 05 May 2026 00:00:00 +0000</pubDate><guid>https://clementgodbarge.com/de/post/tei-mcp-span-locked/</guid><description>&lt;p&gt;Als ich
, ging es darum,
KI-Assistenten das Halluzinieren von TEI-Markup abzugewöhnen. Die Verankerung
im Schema (Schema Grounding) hat einen Teil des Problems gelöst: Mit direktem,
werkzeuggestütztem Zugriff auf die P5-Spezifikation muss das Modell nicht mehr
raten, was ein Element bedeutet oder welche Attribute es zulässt. Die Ausgabe
validiert.&lt;/p&gt;
&lt;p&gt;Nur hat die Halluzination beim TEI-Kodieren zwei Gesichter, und das Schema
erkennt bloß eines davon. Die Validierung gegen die Spezifikation verrät, dass
das &lt;em&gt;Markup&lt;/em&gt; in Ordnung ist; über den &lt;em&gt;Text&lt;/em&gt;, den dieses Markup umschließt,
sagt sie nichts. Und genau dort – im Text selbst – hausen die gefährlicheren
Halluzinationen. Span-locked Composition, das Herzstück von v0.3, ist eigens
dafür gebaut, sie zu unterbinden.&lt;/p&gt;
&lt;details class="print:hidden xl:hidden" &gt;
&lt;summary&gt;Inhaltsverzeichnis&lt;/summary&gt;
&lt;div class="text-sm"&gt;
&lt;nav id="TableOfContents"&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#die-halluzination-die-dem-schema-entgeht"&gt;Die Halluzination, die dem Schema entgeht&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#span-locked-composition"&gt;Span-locked Composition&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#was-das-ist--und-was-nicht"&gt;Was das ist – und was nicht&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#warum-das-über-tei-hinausweist"&gt;Warum das über TEI hinausweist&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#das-update-beziehen"&gt;Das Update beziehen&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/nav&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;h2 id="die-halluzination-die-dem-schema-entgeht"&gt;Die Halluzination, die dem Schema entgeht&lt;/h2&gt;
&lt;p&gt;Lassen Sie ein Modell einen französischen Brief aus dem 16. Jahrhundert
kodieren, und Sie bekommen nicht selten ein TEI-Dokument zurück, das tadellos
aussieht. Der Header ist ausgefüllt, die &lt;code&gt;&amp;lt;persName&amp;gt;&lt;/code&gt;-Tags sitzen, die
&lt;code&gt;&amp;lt;dateline&amp;gt;&lt;/code&gt; ist wohlgeformt. Durch &lt;code&gt;validate_document&lt;/code&gt; geschickt, besteht es
die Prüfung.&lt;/p&gt;
&lt;p&gt;Dann vergleichen Sie den Textkörper mit der Quelle.&lt;/p&gt;
&lt;p&gt;Aus &lt;code&gt;mesme&lt;/code&gt; ist &lt;code&gt;même&lt;/code&gt; geworden. Ein Komma ist gewandert. &lt;code&gt;luy&lt;/code&gt; wurde
stillschweigend zu &lt;code&gt;lui&lt;/code&gt; modernisiert. Ein in der Handschrift schwer lesbarer
Satzteil ist zu etwas Glatterem „berichtigt“ worden. Nichts davon war
verlangt, nichts davon wird gemeldet. Das Dokument ist schemavalide – und in
aller Stille falsch.&lt;/p&gt;
&lt;p&gt;In einem archivischen Arbeitsablauf, in dem der kodierte Text zur dauerhaften
Aufzeichnung wird, auf die sich spätere Leser, Suchindizes und Zitate
verlassen, ist das der Fehler, der wirklich zählt. Ein missratenes Tag ist
ärgerlich. Eine modernisierte Schreibung, die fünf Jahre lang niemand
bemerkt, ist eine Textverderbnis.&lt;/p&gt;
&lt;h2 id="span-locked-composition"&gt;Span-locked Composition&lt;/h2&gt;
&lt;p&gt;Die neue Version (v0.3) bringt einen Schutzmechanismus mit, der genau auf
diesen Fehler zielt. Der Anspruch: Halluzinationen im Textkörper sollen nicht
bloß unwahrscheinlich, sondern schon durch die Konstruktion unmöglich sein.&lt;/p&gt;
&lt;p&gt;Die Idee ist einfach: &lt;strong&gt;Das Modell tippt nie Textkörper.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Der Ablauf sieht stattdessen so aus:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Das Modell ruft &lt;code&gt;get_source(&amp;quot;letter_001&amp;quot;)&lt;/code&gt; auf und erhält den Quelltext
als unveränderliche Zeichenkette.&lt;/li&gt;
&lt;li&gt;Für jedes Tag, das es setzen möchte, ruft es
&lt;code&gt;tag_span(&amp;quot;letter_001&amp;quot;, start, end, element_path, attrs)&lt;/code&gt; auf und
registriert damit ein TEI-Element an einem Zeichenbereich über der Quelle.&lt;/li&gt;
&lt;li&gt;Ist es fertig, ruft es &lt;code&gt;compose(&amp;quot;letter_001&amp;quot;)&lt;/code&gt; auf. Der Server verschränkt
die registrierten Tags mit dem ursprünglichen Klartext, rendert das
endgültige TEI und prüft dann &lt;em&gt;Byte für Byte&lt;/em&gt;, ob der reine Textinhalt des
gerenderten Dokuments der Quelle gleicht.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Stimmen die Bytes überein, kommt das Dokument zurück. Wenn nicht – wenn die
Tags des Modells auf irgendeinem Weg einen Textkörper ergeben, der auch nur
um ein einziges Zeichen von der Quelle abweicht –, wirft &lt;code&gt;compose()&lt;/code&gt; einen
Fehler, statt ein verdorbenes Dokument auszuliefern.&lt;/p&gt;
&lt;p&gt;Es gibt in diesem Ablauf keinen Pfad, auf dem das Modell ein TEI-Dokument
erzeugen könnte, dessen Textkörper von der Quelle abweicht. Die Invariante
ist mechanisch, nicht eine Frage des Wohlverhaltens. Sie müssen nicht darauf
vertrauen, dass das Modell nicht halluziniert – nur darauf, dass ein
&lt;code&gt;==&lt;/code&gt;-Vergleich zweier Byte-Strings tut, was er soll.&lt;/p&gt;
&lt;h2 id="was-das-ist--und-was-nicht"&gt;Was das ist – und was nicht&lt;/h2&gt;
&lt;p&gt;Span-locked Composition &lt;strong&gt;ergänzt&lt;/strong&gt; das Schema Grounding; sie ersetzt es
nicht. Die Schema-Grounding-Tools (&lt;code&gt;validate_document&lt;/code&gt;, &lt;code&gt;lookup_element&lt;/code&gt;,
&lt;code&gt;valid_children&lt;/code&gt; und die übrigen der ursprünglichen sechzehn) helfen dem
Modell, &lt;em&gt;valides&lt;/em&gt; TEI zu erzeugen. Span-locked Composition garantiert, dass
der Textkörper in diesem TEI der Quelle &lt;em&gt;treu&lt;/em&gt; bleibt. Ein einsatzreifer
Kodierungsablauf muss auf beiden Achsen bestehen – und beide deckt nun ein
einziger Server ab.&lt;/p&gt;
&lt;p&gt;Ein Allheilmittel ist es freilich nicht. &lt;code&gt;compose()&lt;/code&gt; prüft noch nicht, ob die
registrierten Tags nach einer geladenen ODD-Anpassung zulässig sind; das ist
der nächste Schritt. Registrierte Tags leben im Arbeitsspeicher des Prozesses
und überleben keinen Neustart. Und die Quelldateien müssen von dort aus lesbar
sein, wo der Server läuft. All das lässt sich lösen; nichts davon rührt an der
Kerninvariante.&lt;/p&gt;
&lt;h2 id="warum-das-über-tei-hinausweist"&gt;Warum das über TEI hinausweist&lt;/h2&gt;
&lt;p&gt;Das Muster lässt sich verallgemeinern. Wann immer ein Modell einen Text
annotieren, umformen oder umschließen soll – und wann immer die Unversehrtheit
dieses Textes wichtiger ist als die Gabe des Modells, ihn zu „verbessern“ –,
taugt dieselbe Lösung. Lassen Sie das Modell den Text nicht neu tippen. Lassen
Sie es Anweisungen über dem Text erzeugen, und überlassen Sie es einem
deterministischen Composer, sie unter einer Gleichheitsinvariante anzuwenden.&lt;/p&gt;
&lt;p&gt;Für digitale Editionen im Besonderen verschiebt das die Grenze dessen, was man
einem Modell guten Gewissens überlassen kann. Das Kodieren wird mit einem Mal
zu einer Aufgabe, die sich delegieren lässt, ohne dass man jede Ausgabe von
Hand mit der Quelle abgleichen müsste. Die Maschine übernimmt den öden Teil;
die Editorin prüft das Markup, nicht die Rechtschreibung.&lt;/p&gt;
&lt;h2 id="das-update-beziehen"&gt;Das Update beziehen&lt;/h2&gt;
&lt;p&gt;Wenn tei-mcp bereits installiert ist:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;uvx tei-mcp@latest
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Oder frisch:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;pip install tei-mcp
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Für Span-locked Composition zeigen Sie dem Server ein Verzeichnis mit
Klartext-Quelldateien:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;export&lt;/span&gt; &lt;span class="nv"&gt;TEI_MCP_SPAN_SOURCE_ROOT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/path/to/sources
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;uvx tei-mcp
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Der Dateiname ohne Endung wird zur Dokument-ID (&lt;code&gt;letter_001.txt&lt;/code&gt; →
&lt;code&gt;letter_001&lt;/code&gt;).&lt;/p&gt;
&lt;p&gt;Quellcode, vollständige Dokumentation und die Entwurfsnotizen zur Invariante:
&lt;/p&gt;</description></item><item><title>tei-mcp</title><link>https://clementgodbarge.com/de/code/tei-mcp/</link><pubDate>Sun, 15 Mar 2026 00:00:00 +0000</pubDate><guid>https://clementgodbarge.com/de/code/tei-mcp/</guid><description>&lt;h2 id="tei-mcp-tei-p5-für-ki-agenten"&gt;tei-mcp: TEI P5 für KI-Agenten&lt;/h2&gt;
&lt;p&gt;tei-mcp ist ein quelloffener
-Server, der KI-Programmierassistenten unmittelbaren Zugriff auf die
-Spezifikation verschafft. Statt sich auf angelerntes Trainingswissen zu verlassen – das oft plausibel aussehendes, aber falsches Markup hervorbringt –, kann die KI die Spezifikation in Echtzeit befragen.&lt;/p&gt;
&lt;h2 id="funktionen"&gt;Funktionen&lt;/h2&gt;
&lt;p&gt;Der Server liest das ODD von TEI P5 ein und stellt 16 Tools bereit:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Nachschlagen&lt;/strong&gt; von Elementen, Klassen, Makros und Modulen nach Namen, ohne Rücksicht auf Groß- und Kleinschreibung und mit Vorschlägen bei Tippfehlern&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Attribute auflösen&lt;/strong&gt; über die gesamte TEI-Klassenhierarchie (lokal + geerbt)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Inhaltsmodelle entfalten&lt;/strong&gt; zu strukturierten Bäumen, mit Auflösung von Klassen und Makros&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Verschachtelung prüfen&lt;/strong&gt; – direkte Eltern-Kind-Beziehung oder rekursive Erreichbarkeit mit Pfadverfolgung&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dokumente validieren&lt;/strong&gt; gegen TEI P5: Inhaltsmodelle, Attribute, geschlossene Wertelisten, Integrität der Verweise und Warnungen vor veralteten Konstrukten&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Einzelne Elemente validieren&lt;/strong&gt; für schrittweises Bearbeiten&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ODD-Anpassungen laden&lt;/strong&gt;, um das Schema auf die projektspezifische Teilmenge einzuschränken&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Suchen&lt;/strong&gt; über alle Entitätstypen hinweg mit regulären Ausdrücken&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="installation"&gt;Installation&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;pip install tei-mcp
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Oder direkt starten mit:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;uvx tei-mcp
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="verwendung"&gt;Verwendung&lt;/h2&gt;
&lt;p&gt;In einen beliebigen MCP-kompatiblen Client eintragen (Claude, Cursor, Windsurf usw.):&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;mcpServers&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;tei&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;command&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;uvx&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;args&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;tei-mcp&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Quellcode und Dokumentation finden Sie im
.&lt;/p&gt;</description></item><item><title>tei-mcp: TEI P5 für KI-Agenten</title><link>https://clementgodbarge.com/de/post/tei-mcp/</link><pubDate>Sun, 15 Mar 2026 00:00:00 +0000</pubDate><guid>https://clementgodbarge.com/de/post/tei-mcp/</guid><description>&lt;p&gt;Wer schon einmal einen KI-Programmierassistenten TEI-XML hat schreiben lassen,
weiß, dass dabei Fehler passieren. Elemente stehen, wo sie nicht hingehören;
Attribute werden frei erfunden; Verschachtelungsregeln bleiben unbeachtet. Das
Modell hat eine ungefähre Vorstellung davon, wie TEI aussieht – von der
Spezifikation selbst weiß es nichts Verlässliches.&lt;/p&gt;
&lt;p&gt;tei-mcp schafft hier Abhilfe: Es gibt KI-Agenten direkten, werkzeuggestützten
Zugriff auf die TEI-P5-Guidelines.&lt;/p&gt;
&lt;details class="print:hidden xl:hidden" &gt;
&lt;summary&gt;Inhaltsverzeichnis&lt;/summary&gt;
&lt;div class="text-sm"&gt;
&lt;nav id="TableOfContents"&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#was-ist-mcp"&gt;Was ist MCP?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#was-tei-mcp-leistet"&gt;Was tei-mcp leistet&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#warum-das-zählt"&gt;Warum das zählt&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#erste-schritte"&gt;Erste Schritte&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/nav&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;h2 id="was-ist-mcp"&gt;Was ist MCP?&lt;/h2&gt;
&lt;p&gt;Das
(MCP) ist ein
offener Standard, über den sich KI-Anwendungen mit externen Datenquellen und
Werkzeugen verbinden. Man kann es sich als USB-Anschluss für KI vorstellen:
ein einziges Protokoll, mit dem sich jeder kompatible Client – Claude, Cursor,
Windsurf und andere – an spezialisierte Dienste anstöpseln lässt.&lt;/p&gt;
&lt;p&gt;Ein MCP-Server stellt &lt;em&gt;Tools&lt;/em&gt; bereit, die die KI im Laufe eines Gesprächs
aufrufen kann. Statt auf angelerntes Trainingswissen zu vertrauen, kann das
Modell eine aktuelle, maßgebliche Quelle befragen.&lt;/p&gt;
&lt;h2 id="was-tei-mcp-leistet"&gt;Was tei-mcp leistet&lt;/h2&gt;
&lt;p&gt;tei-mcp liest die ODD-Spezifikation von TEI P5 ein und stellt 16 Tools bereit,
die die häufigsten Fragen beantworten, die sich beim Edieren und Kodieren
stellen:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Was ist dieses Element?&lt;/strong&gt; Nachschlagen von Elementen, Klassen, Makros und
Modulen nach Namen, ohne Rücksicht auf Groß- und Kleinschreibung und mit
Vorschlägen bei Tippfehlern.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Welche Attribute nimmt es?&lt;/strong&gt; Auflösen der Attribute über die gesamte
Klassenhierarchie – zuerst die lokalen, dann der Reihe nach die geerbten.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Was darf hinein?&lt;/strong&gt; Entfalten von Inhaltsmodellen zu strukturierten Bäumen
oder eine flache Liste der zulässigen Kindelemente.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Darf dieses Element hierhin?&lt;/strong&gt; Prüfen der Eltern-Kind-Verschachtelung oder
Nachverfolgen der Erreichbarkeit durch die gesamte Elementhierarchie.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ist mein Dokument valide?&lt;/strong&gt; Validieren einer TEI-XML-Datei gegen die
Spezifikation: Inhaltsmodelle, Attributwerte, geschlossene Wertelisten,
Integrität der Verweise und Warnungen vor veralteten Konstrukten.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Und mein Projektschema?&lt;/strong&gt; Laden einer ODD-Anpassung, um all das auf die
projektspezifische Teilmenge von TEI einzuschränken.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="warum-das-zählt"&gt;Warum das zählt&lt;/h2&gt;
&lt;p&gt;Wer in TEI kodiert, schlägt ständig in den Guidelines nach. Erfahrene Encoder
haben die gängigen Muster verinnerlicht, aber selbst sie müssen bei selteneren
Elementen oder verwickelten Inhaltsmodellen in die Spezifikation schauen. Für
KI-Assistenten, denen jedes verinnerlichte Wissen fehlt, ist das Problem
gravierender: Sie halluzinieren Markup, das plausibel aussieht und falsch ist.&lt;/p&gt;
&lt;p&gt;Mit tei-mcp muss die KI nicht raten. Sie kann die Antwort in der Spezifikation
nachschlagen, ehe sie auch nur eine spitze Klammer schreibt. Heraus kommt
Markup, das TEI P5 entspricht – oder der ODD-Anpassung Ihres Projekts.&lt;/p&gt;
&lt;h2 id="erste-schritte"&gt;Erste Schritte&lt;/h2&gt;
&lt;p&gt;Installation von PyPI:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;pip install tei-mcp
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Anschließend in die Konfiguration Ihres MCP-Clients eintragen:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;mcpServers&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;tei&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;command&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;uvx&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;args&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;tei-mcp&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Beim ersten Start lädt der Server die TEI-Spezifikation herunter; er arbeitet
mit jedem MCP-kompatiblen Client zusammen.&lt;/p&gt;
&lt;p&gt;Quellcode und vollständige Dokumentation:
&lt;/p&gt;</description></item></channel></rss>