[{"data":1,"prerenderedAt":777},["ShallowReactive",2],{"blog-mcp-reference-servers-de":3},{"slug":4,"published":5,"minutes":6,"category":7,"tags":8,"keywords":13,"about":20,"sources":24,"cover":61,"og":62,"expertise":63,"locales":64,"lang":66,"title":68,"description":69,"coverAlt":70,"metaTitle":71,"takeaways":72,"faq":78,"toc":91,"blocks":116,"others":508},"mcp-reference-servers","2026-09-25",9,"agents",[9,10,11,12],"MCP","Reference servers","Tool protocol","Server SDKs",[14,15,16,17,18,19],"mcp reference servers","modelcontextprotocol servers github","write an mcp server","mcp server examples","mcp server sdk","mcp server security",[21],{"name":22,"url":23},"Model Context Protocol","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FModel_Context_Protocol",[25,28,31,34,37,40,43,46,49,52,55,58],{"title":26,"url":27},"MCP reference servers repository","https:\u002F\u002Fgithub.com\u002Fmodelcontextprotocol\u002Fservers",{"title":29,"url":30},"Repository README and server list","https:\u002F\u002Fgithub.com\u002Fmodelcontextprotocol\u002Fservers\u002Fblob\u002Fmain\u002FREADME.md",{"title":32,"url":33},"Security policy","https:\u002F\u002Fgithub.com\u002Fmodelcontextprotocol\u002Fservers\u002Fblob\u002Fmain\u002FSECURITY.md",{"title":35,"url":36},"Release process and trusted publishing","https:\u002F\u002Fgithub.com\u002Fmodelcontextprotocol\u002Fservers\u002Fblob\u002Fmain\u002FRELEASING.md",{"title":38,"url":39},"Filesystem server README","https:\u002F\u002Fgithub.com\u002Fmodelcontextprotocol\u002Fservers\u002Fblob\u002Fmain\u002Fsrc\u002Ffilesystem\u002FREADME.md",{"title":41,"url":42},"Everything server feature list","https:\u002F\u002Fgithub.com\u002Fmodelcontextprotocol\u002Fservers\u002Fblob\u002Fmain\u002Fsrc\u002Feverything\u002Fdocs\u002Ffeatures.md",{"title":44,"url":45},"MCP Registry","https:\u002F\u002Fregistry.modelcontextprotocol.io\u002F",{"title":47,"url":48},"Archived reference servers","https:\u002F\u002Fgithub.com\u002Fmodelcontextprotocol\u002Fservers-archived",{"title":50,"url":51},"Model Context Protocol documentation","https:\u002F\u002Fmodelcontextprotocol.io\u002F",{"title":53,"url":54},"TypeScript MCP SDK","https:\u002F\u002Fgithub.com\u002Fmodelcontextprotocol\u002Ftypescript-sdk",{"title":56,"url":57},"Python MCP SDK","https:\u002F\u002Fgithub.com\u002Fmodelcontextprotocol\u002Fpython-sdk",{"title":59,"url":60},"FastMCP on PyPI","https:\u002F\u002Fpypi.org\u002Fproject\u002Ffastmcp\u002F","\u002Fimages\u002Fblog\u002Fmcp-reference-servers\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fmcp-reference-servers\u002Fog.jpg","ai-engineer",[65,66,67],"en","de","hu","MCP-Referenzserver: was sie zeigen und was sie auslassen","Ein Review von modelcontextprotocol\u002Fservers: sieben Referenzserver, was jeder einzelne lehrt, die SDK-Versionen dahinter und warum keiner in die Produktion gehört.","Sieben gleiche kleine Kisten in einer Reihe auf einem Regal, dann eine geschlossene Sperre.","MCP-Referenzserver: was sie demonstrieren · Balázs Csorba",[73,74,75,76,77],"Sieben Referenzserver liegen unter src\u002F, vier in TypeScript und drei in Python; das README bezeichnet sie selbst als Lehrbeispiele, nicht als Produktionscode.","Die Python-Server verlangen weiterhin mcp >=1.29.0 und \u003C2, während die Python-SDK seit dem 2. Oktober 2026 bei 2.3.0 steht — wer sie kopiert, lernt die 1.x-API.","Das Repositorium ist ausdrücklich nicht für Schwachstellmeldungen vorgesehen; SECURITY.md verweist Funde an die SDK-Repositorien.","Pakete werden aus CI per OIDC Trusted Publishing mit Provenance-Attestaten veröffentlicht, ganz ohne Registry-Tokens.","Der Pfad-Whitelist des Filesystem-Servers ist die einzige Sandbox der Sammlung, und der Client kann sie zur Laufzeit über Roots ersetzen.",[79,82,85,88],{"q":80,"a":81},"Sind die MCP-Referenzserver für die Produktion sicher?","Nein, und das Repositorium sagt das selbst. Das README bezeichnet sie als Lehrbeispiele, die nicht produktionsreif sind, und SECURITY.md stellt klar, dass Schwachstellmeldungen gegen dieses Repositorium gar nicht angenommen werden. Lokal ausführen, um zu lernen oder einen Client zu testen; hinter ein echtes Konto gehört ein gepflegter Server.",{"q":83,"a":84},"Welchen Referenzserver lese ich zuerst?","Filesystem, wenn es um Zugriffskontrolle geht: sein Verzeichnis-Whitelist und die Roots-Behandlung sind das wiederverwendbarste Design der Sammlung. Everything, wenn es um den Umfang des Protokolls geht: es implementiert Sampling, Elicitation, Fortschritt, strukturierte Ausgabe und Tasks neben den drei Kernprimitive.",{"q":86,"a":87},"Wohin sind die GitHub-, Slack- und PostgreSQL-Server verschwunden?","Nach modelcontextprotocol\u002Fservers-archived. Dreizehn Server wurden aus der Referenzsammlung entfernt; Brave Search wurde durch einen Server ersetzt, den Brave selbst pflegt, und den Slack-Server betreut jetzt Zencoder.",{"q":89,"a":90},"Worin unterscheidet sich dieses Repositorium von der MCP Registry?","Die Registry ist ein Katalog veröffentlichter Server, den jede registrieren kann — dort sucht man einen Server zum Ausführen. Dieses Repositorium enthält nur die sieben Implementierungen der MCP-Steuerungsgruppe, und das README weist Registry-Besucher dorthin weiter.",[92,95,98,101,104,107,110,113],{"id":93,"title":94},"what-it-is","Was es ist",{"id":96,"title":97},"repository-layout","Das Repositorium, Server für Server",{"id":99,"title":100},"how-it-works","Wie ein Server tatsächlich läuft",{"id":102,"title":103},"getting-started","Erste Schritte",{"id":105,"title":106},"security-posture","Sicherheitslage",{"id":108,"title":109},"where-it-shingles","Wo es hakt",{"id":111,"title":112},"verdict","Fazit",{"id":114,"title":115},"sources","Quellen",[117,121,124,127,143,161,162,168,238,241,245,248,294,297,298,301,307,310,311,314,316,331,333,352,353,356,368,385,386,389,434,437,438,441,453,457,458],{"type":118,"content":119},"paragraph",[120],"modelcontextprotocol\u002Fservers ist die Referenzsammlung für das Model Context Protocol: sieben kleine Server, die von der MCP-Steuerungsgruppe gepflegt werden und von denen jeder einen Teil des Protokolls demonstriert, nicht etwa einen Job gut erledigt. Als Produkt gelesen ist es Lehrmaterial mit einem ungewöhnlich ehrlichen README, und die hier vertretene Position lautet: lesen und lokal ausführen, aber niemals ausrollen — das Repositorium sagt wortwörtlich, dass die Server keine Produktionslösung sind, und die Sicherheitsrichtlinie lehnt Schwachstellmeldungen dagegen ab. Gut ist die Sammlung darin, im lauffähigen Code zu zeigen, was ein Server implementieren muss, geschrieben von den Verfassern der Spezifikation.",{"type":118,"content":122},[123],"Sie steht zwischen der Spezifikation auf modelcontextprotocol.io und den zehn offiziellen SDKs und konkurriert nicht mit der MCP Registry, in der veröffentlichte Server zum praktischen Gebrauch gelistet sind. Nichts hier ersetzt einen Suchindex, ein Browser-Werkzeug oder eine Ticket-Integration. Die Sammlung löste ein früheres Sammelsurium einzelner Beispiele ab, von denen die meisten in einem separaten Archivrepositorium liegen und weiterhin in alten Anleitungen auftauchen.",{"type":125,"level":126,"id":93,"text":94},"heading",2,{"type":118,"content":128},[129,130,134,135,138,139,142],"Ein npm-Workspace mit sieben Paketen unter ",{"tag":131,"children":132},"code",[133],"src\u002F",", veröffentlicht auf npm als ",{"tag":131,"children":136},[137],"@modelcontextprotocol\u002Fserver-*"," und auf PyPI als ",{"tag":131,"children":140},[141],"mcp-server-*",". Vier Server sind TypeScript, drei sind Python, und jeder isoliert ein anderes Protokollmerkmal: Zugriffskontrolle, Prompts und Ressourcen, ein Wissensgraph, ein Werkzeug, das seine eigene Ausgabe umschreibt, Web-Abruf, Repository-Operationen, Zeitzonen.",{"type":144,"ordered":145,"items":146},"list",false,[147,149,151,153,155,157,159],[148],"Rund 91.100 Stars und 11.800 Forks Anfang Oktober 2026, mit 4.194 Commits auf main.",[150],"Sieben Referenzserver in src\u002F: everything, fetch, filesystem, git, memory, sequentialthinking und time.",[152],"Dreizehn eingestellte Server, darunter GitHub, Slack, PostgreSQL, SQLite, Puppeteer und Brave Search, zogen nach servers-archived; den Brave-Server betreut nun Brave selbst.",[154],"Das README verweist jetzt jeden, der einen sucht, an die MCP Registry und behält das Repositorium nur für die Referenzimplementierungen.",[156],"Lizenz: Apache-2.0 für neue Beiträge, älterer Code weiterhin unter MIT, wie die LICENSE-Datei erklärt.",[158],"Serverpakete verwenden Kalenderversionen: 2026.8.31 für die TypeScript-Pakete, 2026.8.18 für die Python-Pakete.",[160],"Veröffentlicht wird aus einer geschützten CI-Workflow per OIDC Trusted Publishing mit Provenance-Attestaten; im Release-Pfad gibt es keine Registry-Tokens.",{"type":125,"level":126,"id":96,"text":97},{"type":118,"content":163},[164,165,167],"Das Layout ist bewusst flach: ein Verzeichnis pro Server unter ",{"tag":131,"children":166},[133],", ein package.json im Hauptverzeichnis, das sie als npm-Workspaces verdrahtet, und einige Betriebsdokumente auf oberster Ebene. Ein Server-Verzeichnis von oben nach unten zu lesen ist der schnellste Weg, das Protokoll zu lernen, weil jedes einzelne in einer Sitzung durchzubekommen ist.",{"type":169,"head":170,"rows":179},"table",[171,173,175,177],[172],"Server",[174],"Sprache",[176],"Was er demonstriert",[178],"Veröffentlicht als",[180,189,198,206,214,222,230],[181,183,185,187],[182],"everything",[184],"TypeScript",[186],"Prompts, Tools, Ressourcen, Sampling, Elicitation, Fortschritt, Logging und Tasks",[188],"@modelcontextprotocol\u002Fserver-everything",[190,192,194,196],[191],"fetch",[193],"Python",[195],"URL-Abruf, Readability-Extraktion, Markdown-Umsetzung, robots.txt",[197],"mcp-server-fetch",[199,201,202,204],[200],"filesystem",[184],[203],"Pfad-Whitelist und Verzeichniskontrolle über Roots",[205],"@modelcontextprotocol\u002Fserver-filesystem",[207,209,210,212],[208],"git",[193],[211],"Zwölf Repository-Werkzeuge: Status, Diff, Log, Commit, Branch, Show",[213],"mcp-server-git",[215,217,218,220],[216],"memory",[184],[219],"Entitäten, Relationen und Beobachtungen als Wissensgraph",[221],"@modelcontextprotocol\u002Fserver-memory",[223,225,226,228],[224],"sequentialthinking",[184],[227],"Ein einziges Werkzeug, das frühere Schritte seiner eigenen Argumentation überarbeitet",[229],"@modelcontextprotocol\u002Fserver-sequential-thinking",[231,233,234,236],[232],"time",[193],[235],"get_current_time und convert_time über IANA-Zonen",[237],"mcp-server-time",{"type":118,"content":239},[240],"Neben src\u002F liegen im Hauptverzeichnis ADDITIONAL.md für Frameworks und Clients aus der Community, RELEASING.md für den Weg der Pakete in die Registries, SECURITY.md, CLAUDE.md, eine .mcp.json für die eigene Tooling-Kennung und ein scripts-Verzeichnis. Der everything-Server bildet die Ausnahme von der Flachheit: Er trägt ein docs-Verzeichnis mit Architektur-, Feature- und Erweiterungspunkten und verhält sich mehr wie eine Konformitäts-Prüfvorrichtung denn wie eine Vorlage.",{"type":125,"level":242,"id":243,"text":244},3,"sdks-and-languages","SDKs und Sprachversionen",{"type":118,"content":246},[247],"Das README listet zehn offizielle SDKs auf — C#, Go, Java, Kotlin, PHP, Python, Ruby, Rust, Swift und TypeScript — und stellt klar, dass die Referenzserver darauf aufbauen. In der Praxis sind die TypeScript-Pakete aktuell, während die Python-Pakete eine Hauptversion zurückliegen; das README des time-Servers sagt das in einem Satz.",{"type":169,"head":249,"rows":258},[250,252,254,256],[251],"Paket",[253],"Version",[255],"Veröffentlicht",[257],"Einschränkung",[259,268,277,285],[260,262,264,266],[261],"@modelcontextprotocol\u002Fsdk, TypeScript",[263],"1.32.1",[265],"5. Oktober 2026",[267],"Serverpakete binden es als ^1.x",[269,271,273,275],[270],"mcp, Python",[272],"2.3.0",[274],"2. Oktober 2026",[276],"Die Python-Server verlangen \u003C2",[278,279,281,283],[221],[280],"2026.8.31",[282],"31. August 2026",[284],"@modelcontextprotocol\u002Fsdk ^1.30.0",[286,288,290,292],[287],"mcp-server-git, fetch und time",[289],"2026.8.18",[291],"18. August 2026",[293],"mcp >=1.29.0 und \u003C2",{"type":118,"content":295},[296],"Der time-Servers begründet die Lücke ungeschminkt: SDK 2.0 hat die von ihm genutzten APIs umbenannt, und der Port läuft. Das ist der ehrliche Preis einer Referenzsammlung — die Beispiele folgen der Spezifikation eng, die Python-Hälfte folgt den SDK-Hauptversionen weniger eng. Wer heute einen Python-Server kopiert, liest lauffähigen Code gegen die 1.x-API: gut zum Studium, eine Falle für neue Arbeit.",{"type":125,"level":126,"id":99,"text":100},{"type":118,"content":299},[300],"Ein Client, der mit einem Stdio-Server konfiguriert ist, startet ihn als Kindprozess und spricht newline-delimitiertes JSON-RPC über stdin und stdout. Es lauscht kein Port. Beim initialize-Handshake erklären beide Seiten ihre Fähigkeiten: Der Server meldet, welche Tools, Ressourcen und Prompts er implementiert, der Client meldet, ob er Roots, Sampling und Elicitation annimmt — und alles danach ist Anfrage, Antwort oder Benachrichtigung.",{"type":302,"src":303,"alt":304,"wide":305,"caption":306},"image","\u002Fimages\u002Fblog\u002Fmcp-reference-servers\u002Fdiagram-15.webp","How a reference server runs At the top a box holds the MCP client, such as Claude Desktop, an IDE or an agent. A solid arrow labelled initialize and then JSON-RPC over stdio points down to a wide box for the reference server, a child process started from an npm or PyPI package. A dashed arrow returns from the server to the client, labelled roots and list_changed, because the client supplies the directory allowlist. Three boxes hang below the server: tools, which the model calls; resources, which the application reads at a URI; and prompts, which the user picks. A band at the bottom states that the process runs with the privileges of the user who started it and that the allowlist is a path check rather than a sandbox.",true,"Die Fähigkeitsverhandlung bei initialize entscheidet, was jede Seite anfragen darf; die drei Primitive darunter sind es, was Modell und Anwendung tatsächlich sehen.",{"type":118,"content":308},[309],"Die drei Primitive sind nicht austauschbar. Ein Tool ist etwas, das Modell aufruft; eine Ressource liegt an einer URI für die Anwendung oder den Nutzer; ein Prompt ist eine Vorlage, die der Nutzer wählt. Der everything-Server implementiert alle drei dazu Sampling, Elicitation, Fortschrittsbenachrichtigungen, strukturierte Tool-Ausgabe und die neuere Task-Erweiterung — deshalb ist es das eine Verzeichnis, das sich zu lesen lohnt, wenn ein Protokollmerkmal unklar ist.",{"type":125,"level":126,"id":102,"text":103},{"type":118,"content":312},[313],"Nichts muss kompiliert werden. Ein Server ist ein Paket auf npm oder PyPI, und die Konfiguration unten ist die gesamte Installation: Der Client führt den Befehl aus, der Befehl antwortet über stdout, und das Modell erhält eine Tool-Liste.",{"type":131,"code":315},"{\n  \"mcpServers\": {\n    \"filesystem\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@modelcontextprotocol\u002Fserver-filesystem\", \"\u002Fpath\u002Fto\u002Fallowed\u002Ffiles\"]\n    },\n    \"git\": {\n      \"command\": \"uvx\",\n      \"args\": [\"mcp-server-git\", \"--repository\", \"\u002Fpath\u002Fto\u002Frepo\"]\n    },\n    \"memory\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@modelcontextprotocol\u002Fserver-memory\"]\n    }\n  }\n}",{"type":118,"content":317},[318,319,322,323,326,327,330],"Einen selbst zu schreiben, ist kaum schwerer. Das TypeScript-SDK stellt ein Serverobjekt mit ",{"tag":131,"children":320},[321],"registerTool",", ",{"tag":131,"children":324},[325],"registerResource"," und ",{"tag":131,"children":328},[329],"registerPrompt"," bereit, dazu einen Transport. Der Snippet unten ist ein vollständiger Server mit einem einzigen Tool und hat dieselbe Form wie die Beispiele filesystem und memory.",{"type":131,"code":332},"import { readFile } from \"node:fs\u002Fpromises\";\nimport { McpServer } from \"@modelcontextprotocol\u002Fsdk\u002Fserver\u002Fmcp.js\";\nimport { StdioServerTransport } from \"@modelcontextprotocol\u002Fsdk\u002Fserver\u002Fstdio.js\";\nimport { z } from \"zod\";\n\nconst server = new McpServer({ name: \"wordcount\", version: \"0.1.0\" });\n\nserver.registerTool(\n  \"count_words\",\n  {\n    title: \"Count words\",\n    description: \"Count the words in a UTF-8 text file\",\n    inputSchema: { path: z.string() },\n  },\n  async ({ path }) => {\n    const words = (await readFile(path, \"utf8\")).split(\u002F\\s+\u002F).filter(Boolean).length;\n    return { content: [{ type: \"text\", text: String(words) }] };\n  },\n);\n\nawait server.connect(new StdioServerTransport());",{"type":334,"variant":335,"title":336,"body":337},"callout","warn","Version anpinnen, bevor man ihr vertraut",[338],[339,340,343,344,347,348,351],"Jedes dokumentierte Beispiel verwendet ",{"tag":131,"children":341},[342],"npx -y"," oder ",{"tag":131,"children":345},[346],"uvx",", die bei jedem Start die neueste Version auflösen: Der ausgeführte Code ist das, was die Registry am Morgen ausgeliefert hat. Pinne die Version, lies das Changelog beim Bump und denk daran, dass ein Stdio-Server als dein eigener Nutzer läuft, mit Zugriff auf alles, was die Allowlist zulässt. Windows braucht vor demselben Befehl ",{"tag":131,"children":349},[350],"cmd \u002Fc npx",".",{"type":125,"level":126,"id":105,"text":106},{"type":118,"content":354},[355],"Die Sammlung sagt ungewöhnlich klar, was sie nicht ist. Der Warnblock des README besagt, dass die Server Features und SDK-Nutzung demonstrieren, dass Entwickler ihre eigenen Sicherheitsanforderungen prüfen müssen und dass die Server nicht produktionsreif sind. SECURITY.md stellt dann fest, dass gegen dieses Repositorium gar keine Schwachstellmeldungen angenommen werden — das deutlichste Signal für den Status: Die SDKs werden unterstützt, die Beispiele nicht.",{"type":144,"ordered":145,"items":357},[358,360,362,364,366],[359],"Jeder Server ist ein lokaler Kindprozess mit den Rechten des Nutzers, der ihn gestartet hat; Tool-Aufrufe des Modells werden dadurch zu Datei-, Netzwerk- und Repository-Operationen in diesem Konto.",[361],"Der Filesystem-Server ist der einzige mit Zugriffskontrolle: eine Verzeichnis-Whitelist aus Kommandozeilenargumenten oder zur Laufzeit ersetzt vom Client über Roots — und ein Pfad-Check ist kein Prozess-Sandbox.",[363],"Der Fetch-Server setzt Seiten in Markdown um, respektiert robots.txt und bietet einen konfigurierbaren User-Agent und Proxy, soweit die Sammlung überhaupt auf ausgehende Netzwerk-Hygiene achtet.",[365],"Memory speichert einen Wissensgraph in einer lokalen JSON-Datei ohne Authentifizierung, und git schreibt in das übergebene Repository-Pfadverzeichnis; keiner davon ist für ein Netzwerk gedacht.",[367],"Releases laufen als manueller Workflow-Dispatch in eine geschützte GitHub-Umgebung mit erforderlichem Reviewer, veröffentlicht nach npm und PyPI mit Provenance-Attestaten und ohne Registry-Tokens.",{"type":334,"variant":369,"title":370,"body":371},"note","Bevor ein Server ein echtes Konto erreicht",[372],[373,374,379,380,384],"Zuerst ",{"tag":375,"to":376,"children":377},"link","\u002Fblog\u002Fmcp-server-security-checklist",[378],"die MCP-Server-Sicherheitscheckliste"," lesen und jedes Tool schmal halten, wenn die kopierten Tools wachsen. Das Transport-Topic ist separat: das stateless-Muster aus ",{"tag":375,"to":381,"children":382},"\u002Fblog\u002Fmcp-2026-07-28-stateless-migration-guide",[383],"der Stateless-Migrationsanleitung"," zählt, sobald ein Server das Stdio verlässt.",{"type":125,"level":126,"id":108,"text":109},{"type":118,"content":387},[388],"Sieben Server sind eine kleine Stichprobe, und keiner davon ist ein Dienst. Ein Authentifizierungsmodell zum Kopieren gibt es nicht, weil Stdio per Konstruktion lokal ist und die HTTP-Routen im everything-Server Entwicklungstransporte sind; ebenso wenig gibt es Rate-Limiting, eine Support-Aussage oder eine Deployment-Geschichte jenseits eines docker run im README. Die archivierten Server sind weiterhin aus Jahren von Tutorials verlinkt, wer einer alten Anleitung folgt, landet also in einem bewusst umgezogenen Repositorium. Und die Python-Hälfte der Sammlung hinkt dem SDK hinterher, das sie zeigen soll.",{"type":169,"head":390,"rows":398},[391,393,394,396],[392],"Option",[94],[395],"Support",[397],"Wofür geeignet",[399,408,417,425],[400,402,404,406],[401],"Referenzserver",[403],"Sieben Beispiele der Steuerungsgruppe unter src\u002F",[405],"Community und MCP-Steuerungsgruppe, ohne Schwachstellannahme",[407],"Protokoll lernen und eigenen Server schreiben",[409,411,413,415],[410],"servers-archived",[412],"Dreizehn eingestellte Beispiele, darunter GitHub, Slack und PostgreSQL",[414],"Hier nicht gepflegt; Brave und Slack zogen zu ihren Anbietern",[416],"Geschichte lesen, keine neuen Konfigurationen",[418,419,421,423],[44],[420],"Katalog veröffentlichter Server auf registry.modelcontextprotocol.io",[422],"Autoren der einzelnen Server, Registrierung erforderlich",[424],"Einen Server zum Ausführen finden",[426,428,430,432],[427],"FastMCP",[429],"Python-Framework für Server und Clients, 4.0.11 auf PyPI",[431],"Der Paketbetreuer",[433],"Einen Server ausliefern, ohne Protocol-Plumbing anzufassen",{"type":118,"content":435},[436],"Der ehrliche Vergleich fragt nicht, welche dieser vier gewinnt, sondern was jede lehrt. Ein Framework bringt einen Server schneller ans Laufen und versteckt die Teile, die zwischen Spezifikationsversionen wechseln. Die Registry liefert Code, den jemand anderer geschrieben hat, mit der Prüfung, die dieser Autor vorgenommen hat. Die Referenzserver sind die einzige Option, deren Quellcode von den Verfassern der Spezifikation stammt — und genau deshalb lohnt sich das Lesen, nicht das Ausliefern.",{"type":125,"level":126,"id":111,"text":112},{"type":118,"content":439},[440],"Nutze es als Dokumentation, die ausführt. Empfohlen für alle, die einen MCP-Server bauen, für alle, die einen prüfen, und für alle sehen wollen, wie Tools, Ressourcen und Sampling auf dem Draht aussehen; nicht empfohlen als Basis-Repositorium, als Quelle produktiver Tools oder als Liste von Servern für den eigenen Client.",{"type":144,"ordered":305,"items":442},[443,445,447,449,451],[444],"Lies src\u002F, bevor du einen Server schreibst: filesystem für Zugriffskontrolle, everything für die volle Protokollfläche, memory für ein nicht triviales Tool-Design.",[446],"Führe die Referenzserver lokal aus, um das Protokoll zu lernen oder einen Client zu testen, und behandle ihre Tool-Listen als Testfixtures, nicht als Produkt.",[448],"Pinne Paketversionen in jeder Konfiguration, die du behältst, statt des -y-Flags aus den README-Beispielen.",[450],"Keinen Referenzserver auf ein geteiltes Konto ausrollen: keine Authentifizierung, keine Rate-Limits, keine Schwachstellannahme.",[452],"Protokoll-Funde an die SDK-Repositorien senden, und wenn es um einen ausführbaren Server geht, die Registry statt dieses Repositoriums verwenden.",{"type":454,"content":455},"quote",[456],"The servers in this repository are intended as reference implementations to demonstrate MCP features and SDK usage. They are meant to serve as educational examples for developers building their own MCP servers, not as production-ready solutions.",{"type":125,"level":126,"id":114,"text":115},{"type":144,"ordered":305,"items":459},[460,465,469,473,477,481,485,488,492,496,500,504],[461],{"tag":462,"href":27,"children":463},"a",[464],"MCP-Referenzserver-Repositorium",[466],{"tag":462,"href":30,"children":467},[468],"README und Serverliste des Repositoriums",[470],{"tag":462,"href":33,"children":471},[472],"Sicherheitsrichtlinie",[474],{"tag":462,"href":36,"children":475},[476],"Release-Prozess und Trusted Publishing",[478],{"tag":462,"href":39,"children":479},[480],"README des Filesystem-Servers",[482],{"tag":462,"href":42,"children":483},[484],"Feature-Liste des Everything-Servers",[486],{"tag":462,"href":45,"children":487},[44],[489],{"tag":462,"href":48,"children":490},[491],"Archivierte Referenzserver",[493],{"tag":462,"href":51,"children":494},[495],"Dokumentation des Model Context Protocol",[497],{"tag":462,"href":54,"children":498},[499],"TypeScript-MCP-SDK",[501],{"tag":462,"href":57,"children":502},[503],"Python-MCP-SDK",[505],{"tag":462,"href":60,"children":506},[507],"FastMCP auf PyPI",[509,565,638,708],{"slug":510,"published":511,"minutes":512,"category":7,"tags":513,"keywords":518,"about":529,"sources":537,"cover":559,"og":560,"expertise":63,"locales":561,"lang":66,"title":562,"description":563,"coverAlt":564},"agent-tool-design-descriptions-errors","2026-10-17",11,[514,515,516,9,517],"AI agents","Tool use","Function calling","Agent design",[519,520,521,522,523,524,525,526,527,528],"agent tool design","writing tool descriptions for llm","function calling best practices","tool use error handling","mcp tool design","tool calling is_error","how many tools should an agent have","tool search defer_loading","agent computer interface","llm tool schema design",[530,533,534],{"name":531,"url":532},"Intelligent agent","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FIntelligent_agent",{"name":22,"url":51},{"name":535,"url":536},"Poka-yoke","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPoka-yoke",[538,541,544,547,550,553,556],{"title":539,"url":540},"Anthropic Engineering: Writing effective tools for agents, with agents (Sep 2025)","https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Fwriting-tools-for-agents",{"title":542,"url":543},"Anthropic Engineering: Building effective agents (Dec 2024)","https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Fbuilding-effective-agents",{"title":545,"url":546},"Claude Platform Docs: Define tools","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fagents-and-tools\u002Ftool-use\u002Fdefine-tools",{"title":548,"url":549},"Claude Platform Docs: Handle tool calls","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fagents-and-tools\u002Ftool-use\u002Fhandle-tool-calls",{"title":551,"url":552},"Claude Platform Docs: Tool search tool","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fagents-and-tools\u002Ftool-use\u002Ftool-search-tool",{"title":554,"url":555},"Model Context Protocol specification 2025-11-25: Tools","https:\u002F\u002Fmodelcontextprotocol.io\u002Fspecification\u002F2025-11-25\u002Fserver\u002Ftools",{"title":557,"url":558},"OpenAI API Docs: Function calling","https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Ffunction-calling","\u002Fimages\u002Fblog\u002Fagent-tool-design-descriptions-errors\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fagent-tool-design-descriptions-errors\u002Fog.jpg",[65,66,67],"Tools für KI-Agenten gestalten: Namen, Beschreibungen, Schemas und Fehlermeldungen","Agent-Tools, die richtig gewählt und aufgerufen werden: aufgabenorientierte Tools, Beschreibungen, Schemas, kompakte Antworten und verwertbare Fehlermeldungen.","Ein Sockel mit drei Schlitzen; über dem mittleren steht ein passend breiter Block, daneben zwei Blöcke falscher Breite.",{"slug":566,"published":511,"minutes":512,"category":7,"tags":567,"keywords":573,"about":586,"sources":596,"cover":632,"og":633,"expertise":63,"locales":634,"lang":66,"title":635,"description":636,"coverAlt":637},"coding-agents-legacy-codebase-migration",[568,569,570,571,572],"Legacy migration","Coding agents","Strangler fig","Testing","Code review",[574,575,576,577,578,579,580,581,582,583,584,585],"legacy code migration ai","coding agent legacy codebase","strangler fig pattern ai","characterization tests legacy code","ai code migration review","agent assisted refactoring","legacy modernization coding agent","differential testing migration","shadow traffic migration","ai code review gate","test harness before migration","llm code migration",[587,590,593],{"name":588,"url":589},"Legacy code","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FLegacy_code",{"name":591,"url":592},"Characterization test","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FCharacterization_test",{"name":594,"url":595},"Strangler fig pattern","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FStrangler_fig_pattern",[597,600,602,605,608,611,614,617,620,623,626,629],{"title":598,"url":599},"Martin Fowler: Strangler Fig (2024)","https:\u002F\u002Fmartinfowler.com\u002Fbliki\u002FStranglerFigApplication.html",{"title":601,"url":592},"Wikipedia: Characterization test",{"title":603,"url":604},"Google Research: Accelerating code migrations with AI (2024)","https:\u002F\u002Fresearch.google\u002Fblog\u002Faccelerating-code-migrations-with-ai\u002F",{"title":606,"url":607},"Ziftci et al.: Migrating Code At Scale With LLMs At Google (arXiv 2504.09691)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2504.09691",{"title":609,"url":610},"Anthropic: Effective harnesses for long-running agents (2025)","https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Feffective-harnesses-for-long-running-agents",{"title":612,"url":613},"Anthropic: Redesigning source control at Anthropic (2026)","https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Fredesigning-source-control",{"title":615,"url":616},"METR: Measuring the Impact of Early-2025 AI on Experienced Open-Source Developer Productivity","https:\u002F\u002Fmetr.org\u002Fblog\u002F2025-07-10-early-2025-ai-experienced-os-dev-study\u002F",{"title":618,"url":619},"Chand et al.: Why Industry Migrates and When It Trusts LLMs (ESEM 2026)","https:\u002F\u002Fdrops.dagstuhl.de\u002Fentities\u002Fdocument\u002F10.4230\u002FLIPIcs.ESEM.2026.85",{"title":621,"url":622},"Li et al.: Environment-in-the-Loop: Rethinking Code Migration with LLM-based Agents (arXiv 2602.09944)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2602.09944",{"title":624,"url":625},"AWS: Amazon Q Developer just reached a $260 million dollar milestone (2024)","https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fdevops\u002Famazon-q-developer-just-reached-a-260-million-dollar-milestone\u002F",{"title":627,"url":628},"OpenAI: Why SWE-bench Verified no longer measures frontier coding capabilities (2026)","https:\u002F\u002Fopenai.com\u002Findex\u002Fwhy-we-no-longer-evaluate-swe-bench-verified\u002F",{"title":630,"url":631},"GitHub Docs: About GitHub Copilot cloud agent","https:\u002F\u002Fdocs.github.com\u002Fen\u002Fcopilot\u002Fconcepts\u002Fagents\u002Fcoding-agent\u002Fabout-coding-agent","\u002Fimages\u002Fblog\u002Fcoding-agents-legacy-codebase-migration\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fcoding-agents-legacy-codebase-migration\u002Fog.jpg",[65,66,67],"Legacy-Codebase mit Coding-Agenten migrieren: ein Strangler-Fig-Playbook","Wie Coding-Agenten eine Legacy-Migration tragen: Characterization-Tests zuerst, ein Seam pro Task, Review-Gates und differentielle Verifikation.","Ein Stapel Schichten, bei dem die obersten zwei durch neue ersetzt werden, daneben eine Naht und ein Haken.",{"slug":639,"published":511,"minutes":640,"category":7,"tags":641,"keywords":645,"about":657,"sources":667,"cover":702,"og":703,"expertise":63,"locales":704,"lang":66,"title":705,"description":706,"coverAlt":707},"background-agents-async-pr-workflow",12,[569,642,643,572,644],"Pull requests","CI","Automation",[646,647,648,649,650,651,652,653,654,655,656],"background coding agent","async coding agent","cloud coding agent pull request","copilot coding agent limits","codex cloud tasks","claude code cloud sessions","jules coding agent limits","agent pull request review","coding agent sandbox","agent CI gating","cost per merged pull request",[658,661,664],{"name":659,"url":660},"Software agent","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FSoftware_agent",{"name":662,"url":663},"Pull request","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FDistributed_version_control",{"name":665,"url":666},"Continuous integration","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FContinuous_integration",[668,669,672,675,678,681,684,687,690,693,696,699],{"title":630,"url":631},{"title":670,"url":671},"GitHub Docs: Risks and mitigations for Copilot cloud agent","https:\u002F\u002Fdocs.github.com\u002Fen\u002Fcopilot\u002Fconcepts\u002Fagents\u002Fcloud-agent\u002Frisks-and-mitigations",{"title":673,"url":674},"OpenAI Developers: Codex cloud environments","https:\u002F\u002Fdevelopers.openai.com\u002Fcodex\u002Fcloud\u002Fenvironments",{"title":676,"url":677},"Anthropic: Use Claude Code in the cloud","https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fclaude-code-on-the-web",{"title":679,"url":680},"Google Jules: Limits and plans","https:\u002F\u002Fjules.google\u002Fdocs\u002Fusage-limits\u002F",{"title":682,"url":683},"Google Jules: Getting started","https:\u002F\u002Fjules.google\u002Fdocs\u002F",{"title":685,"url":686},"GitHub Docs: About protected branches","https:\u002F\u002Fdocs.github.com\u002Fen\u002Frepositories\u002Fconfiguring-branches-and-merges-in-your-repository\u002Fmanaging-protected-branches\u002Fabout-protected-branches",{"title":688,"url":689},"GitHub Docs: Models and pricing for GitHub Copilot","https:\u002F\u002Fdocs.github.com\u002Fen\u002Fcopilot\u002Freference\u002Fcopilot-billing\u002Fmodels-and-pricing",{"title":691,"url":692},"OpenAI Developers: Codex pricing","https:\u002F\u002Fdevelopers.openai.com\u002Fcodex\u002Fpricing",{"title":694,"url":695},"Ehsani et al.: Where Do AI Coding Agents Fail? An Empirical Study of Failed Agentic Pull Requests in GitHub (MSR 2026, arXiv 2601.15195)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2601.15195",{"title":697,"url":698},"Peralta et al.: Why Are Agentic Pull Requests Merged or Rejected? An Empirical Study (MSR 2026, arXiv 2605.22534)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2605.22534",{"title":700,"url":701},"DORA: State of AI-assisted Software Development 2025","https:\u002F\u002Fdora.dev\u002Fdora-report-2025","\u002Fimages\u002Fblog\u002Fbackground-agents-async-pr-workflow\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fbackground-agents-async-pr-workflow\u002Fog.jpg",[65,66,67],"Coding-Agenten im Hintergrund: Pull Requests, Queues und Review","Wie asynchrone Coding-Agenten Tasks einreihen, in Sandboxes laufen, Draft-PRs öffnen und CI passieren. Grenzen, Kosten, Review und Fehlerbilder.","Eine Karte in einer Ablage fächert sich zu fünf Feldern auf, alle Pfeile führen zu einer Seite hinter einem Tor.",{"slug":709,"published":710,"minutes":711,"category":7,"tags":712,"keywords":718,"about":730,"sources":738,"cover":771,"og":772,"expertise":63,"locales":773,"lang":66,"title":774,"description":775,"coverAlt":776},"context-rot-compaction-long-running-agents","2026-10-16",10,[713,714,715,716,717],"Context rot","Compaction","Context engineering","Long-running agents","Agent memory",[719,720,721,722,723,724,725,726,727,728,729],"context rot","context rot LLM","compaction AI agents","context engineering","long-running agents context window","Claude compaction API","context editing clear tool results","OpenAI responses compaction","lost in the middle LLM","agent context management","sub-agents context isolation",[731,734,737],{"name":732,"url":733},"Context window","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FLarge_language_model#Context_window",{"name":735,"url":736},"Attention (machine learning)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FAttention_(machine_learning)",{"name":531,"url":532},[739,742,745,748,751,753,756,759,762,765,768],{"title":740,"url":741},"Chroma: Context Rot: How Increasing Input Tokens Impacts LLM Performance (Jul 2025)","https:\u002F\u002Fresearch.trychroma.com\u002Fcontext-rot",{"title":743,"url":744},"Liu et al.: Lost in the Middle: How Language Models Use Long Contexts (2023)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2307.03172",{"title":746,"url":747},"Modarressi et al.: NoLiMa: Long-Context Evaluation Beyond Literal Matching (2025)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2502.05167",{"title":749,"url":750},"Anthropic: Effective context engineering for AI agents (Sep 2025)","https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Feffective-context-engineering-for-ai-agents",{"title":752,"url":610},"Anthropic: Effective harnesses for long-running agents (Nov 2025)",{"title":754,"url":755},"Claude API docs: Compaction at a token threshold","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fbuild-with-claude\u002Fcompaction-threshold",{"title":757,"url":758},"Claude API docs: Compaction on demand","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fbuild-with-claude\u002Fcompaction-on-demand",{"title":760,"url":761},"Claude API docs: Context editing","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fbuild-with-claude\u002Fcontext-editing",{"title":763,"url":764},"Claude API docs: Memory tool","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fagents-and-tools\u002Ftool-use\u002Fmemory-tool",{"title":766,"url":767},"OpenAI API docs: Compaction","https:\u002F\u002Fplatform.openai.com\u002Fdocs\u002Fguides\u002Fcompaction",{"title":769,"url":770},"Cognition: Don't Build Multi-Agents","https:\u002F\u002Fcognition.ai\u002Fblog\u002Fdont-build-multi-agents","\u002Fimages\u002Fblog\u002Fcontext-rot-compaction-long-running-agents\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fcontext-rot-compaction-long-running-agents\u002Fog.jpg",[65,66,67],"Context Rot bei langlaufenden Agenten: Leeren, Compaction, Memory und Sub-Agenten","Warum die Genauigkeit von LLMs mit wachsendem Kontext sinkt und wie Leeren, Compaction, Notizen und Sub-Agenten lange Agentenläufe stabil halten.","Eine kleine Presse drückt einen hohen Blätterstapel zu einem kurzen, zwei Notizen zweigen ab.",1792261157442]