[{"data":1,"prerenderedAt":737},["ShallowReactive",2],{"tool-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,"url":27,"pricing":71,"kind":72,"metaTitle":73,"takeaways":74,"faq":80,"toc":93,"blocks":118,"others":519},"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 Referenzserver, die von einem einzigen MCP-Client über Stdio ausgefächert werden","MIT","Protocol tooling","MCP-Referenzserver: was sie demonstrieren · Balázs Csorba",[75,76,77,78,79],"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.",[81,84,87,90],{"q":82,"a":83},"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":85,"a":86},"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":88,"a":89},"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":91,"a":92},"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.",[94,97,100,103,106,109,112,115],{"id":95,"title":96},"what-it-is","Was es ist",{"id":98,"title":99},"repository-layout","Das Repositorium, Server für Server",{"id":101,"title":102},"how-it-works","Wie ein Server tatsächlich läuft",{"id":104,"title":105},"getting-started","Erste Schritte",{"id":107,"title":108},"security-posture","Sicherheitslage",{"id":110,"title":111},"where-it-shingles","Wo es hakt",{"id":113,"title":114},"verdict","Fazit",{"id":116,"title":117},"sources","Quellen",[119,123,126,129,145,163,164,170,240,243,247,250,296,299,300,303,312,315,316,319,321,336,338,357,358,361,373,395,396,399,444,447,448,451,464,468,469],{"type":120,"content":121},"paragraph",[122],"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":120,"content":124},[125],"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":127,"level":128,"id":95,"text":96},"heading",2,{"type":120,"content":130},[131,132,136,137,140,141,144],"Ein npm-Workspace mit sieben Paketen unter ",{"tag":133,"children":134},"code",[135],"src\u002F",", veröffentlicht auf npm als ",{"tag":133,"children":138},[139],"@modelcontextprotocol\u002Fserver-*"," und auf PyPI als ",{"tag":133,"children":142},[143],"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":146,"ordered":147,"items":148},"list",false,[149,151,153,155,157,159,161],[150],"Rund 91.100 Stars und 11.800 Forks Anfang Oktober 2026, mit 4.194 Commits auf main.",[152],"Sieben Referenzserver in src\u002F: everything, fetch, filesystem, git, memory, sequentialthinking und time.",[154],"Dreizehn eingestellte Server, darunter GitHub, Slack, PostgreSQL, SQLite, Puppeteer und Brave Search, zogen nach servers-archived; den Brave-Server betreut nun Brave selbst.",[156],"Das README verweist jetzt jeden, der einen sucht, an die MCP Registry und behält das Repositorium nur für die Referenzimplementierungen.",[158],"Lizenz: Apache-2.0 für neue Beiträge, älterer Code weiterhin unter MIT, wie die LICENSE-Datei erklärt.",[160],"Serverpakete verwenden Kalenderversionen: 2026.8.31 für die TypeScript-Pakete, 2026.8.18 für die Python-Pakete.",[162],"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":127,"level":128,"id":98,"text":99},{"type":120,"content":165},[166,167,169],"Das Layout ist bewusst flach: ein Verzeichnis pro Server unter ",{"tag":133,"children":168},[135],", 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":171,"head":172,"rows":181},"table",[173,175,177,179],[174],"Server",[176],"Sprache",[178],"Was er demonstriert",[180],"Veröffentlicht als",[182,191,200,208,216,224,232],[183,185,187,189],[184],"everything",[186],"TypeScript",[188],"Prompts, Tools, Ressourcen, Sampling, Elicitation, Fortschritt, Logging und Tasks",[190],"@modelcontextprotocol\u002Fserver-everything",[192,194,196,198],[193],"fetch",[195],"Python",[197],"URL-Abruf, Readability-Extraktion, Markdown-Umsetzung, robots.txt",[199],"mcp-server-fetch",[201,203,204,206],[202],"filesystem",[186],[205],"Pfad-Whitelist und Verzeichniskontrolle über Roots",[207],"@modelcontextprotocol\u002Fserver-filesystem",[209,211,212,214],[210],"git",[195],[213],"Zwölf Repository-Werkzeuge: Status, Diff, Log, Commit, Branch, Show",[215],"mcp-server-git",[217,219,220,222],[218],"memory",[186],[221],"Entitäten, Relationen und Beobachtungen als Wissensgraph",[223],"@modelcontextprotocol\u002Fserver-memory",[225,227,228,230],[226],"sequentialthinking",[186],[229],"Ein einziges Werkzeug, das frühere Schritte seiner eigenen Argumentation überarbeitet",[231],"@modelcontextprotocol\u002Fserver-sequential-thinking",[233,235,236,238],[234],"time",[195],[237],"get_current_time und convert_time über IANA-Zonen",[239],"mcp-server-time",{"type":120,"content":241},[242],"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":127,"level":244,"id":245,"text":246},3,"sdks-and-languages","SDKs und Sprachversionen",{"type":120,"content":248},[249],"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":171,"head":251,"rows":260},[252,254,256,258],[253],"Paket",[255],"Version",[257],"Veröffentlicht",[259],"Einschränkung",[261,270,279,287],[262,264,266,268],[263],"@modelcontextprotocol\u002Fsdk, TypeScript",[265],"1.32.1",[267],"5. Oktober 2026",[269],"Serverpakete binden es als ^1.x",[271,273,275,277],[272],"mcp, Python",[274],"2.3.0",[276],"2. Oktober 2026",[278],"Die Python-Server verlangen \u003C2",[280,281,283,285],[223],[282],"2026.8.31",[284],"31. August 2026",[286],"@modelcontextprotocol\u002Fsdk ^1.30.0",[288,290,292,294],[289],"mcp-server-git, fetch und time",[291],"2026.8.18",[293],"18. August 2026",[295],"mcp >=1.29.0 und \u003C2",{"type":120,"content":297},[298],"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":127,"level":128,"id":101,"text":102},{"type":120,"content":301},[302],"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":304,"attrs":305,"inner":309,"caption":310},"diagram",{"viewBox":306,"role":307,"aria-labelledby":308},"0 0 720 400","img","d-mrs-t d-mrs-d","\u003Ctitle id=\"d-mrs-t\">How a reference server runs\u003C\u002Ftitle>\u003Cdesc id=\"d-mrs-d\">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.\u003C\u002Fdesc>\u003Cdefs>\u003Cmarker id=\"mrs-arrow\" viewBox=\"0 0 10 10\" refX=\"9\" refY=\"5\" markerWidth=\"7\" markerHeight=\"7\" orient=\"auto-start-reverse\">\u003Cpath d=\"M0 0L10 5L0 10z\" class=\"d-head\" \u002F>\u003C\u002Fmarker>\u003C\u002Fdefs>\u003Ctext x=\"20\" y=\"26\" class=\"d-title\">How a reference server runs\u003C\u002Ftext>\u003Ctext x=\"700\" y=\"26\" text-anchor=\"end\" class=\"d-label\">stdio subprocess, no open port\u003C\u002Ftext>\u003Crect x=\"250\" y=\"44\" width=\"220\" height=\"54\" rx=\"10\" class=\"d-accent\" \u002F>\u003Ctext x=\"360\" y=\"66\" text-anchor=\"middle\" class=\"d-text\">MCP client\u003C\u002Ftext>\u003Ctext x=\"360\" y=\"86\" text-anchor=\"middle\" class=\"d-small\">Claude Desktop, IDE, agent\u003C\u002Ftext>\u003Cpath d=\"M360 98 V136\" class=\"d-line\" marker-end=\"url(#mrs-arrow)\" \u002F>\u003Ctext x=\"374\" y=\"114\" class=\"d-label\">initialize, then\u003C\u002Ftext>\u003Ctext x=\"374\" y=\"130\" class=\"d-label\">JSON-RPC over stdio\u003C\u002Ftext>\u003Cpath d=\"M570 172 H636 V71 H474\" class=\"d-line d-dash\" marker-end=\"url(#mrs-arrow)\" \u002F>\u003Ctext x=\"644\" y=\"118\" class=\"d-label\">roots\u002Flist\u003C\u002Ftext>\u003Ctext x=\"644\" y=\"134\" class=\"d-label\">list_changed\u003C\u002Ftext>\u003Crect x=\"150\" y=\"140\" width=\"420\" height=\"64\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"360\" y=\"166\" text-anchor=\"middle\" class=\"d-text\">Reference server\u003C\u002Ftext>\u003Ctext x=\"360\" y=\"188\" text-anchor=\"middle\" class=\"d-small\">child process from an npm or PyPI package\u003C\u002Ftext>\u003Cpath d=\"M360 204 V224\" class=\"d-line\" \u002F>\u003Cpath d=\"M126 224 H594\" class=\"d-line\" \u002F>\u003Cpath d=\"M126 224 V236\" class=\"d-line\" marker-end=\"url(#mrs-arrow)\" \u002F>\u003Cpath d=\"M360 224 V236\" class=\"d-line\" marker-end=\"url(#mrs-arrow)\" \u002F>\u003Cpath d=\"M594 224 V236\" class=\"d-line\" marker-end=\"url(#mrs-arrow)\" \u002F>\u003Crect x=\"20\" y=\"240\" width=\"213\" height=\"100\" rx=\"10\" class=\"d-sky\" \u002F>\u003Ctext x=\"126\" y=\"266\" text-anchor=\"middle\" class=\"d-text\">tools\u003C\u002Ftext>\u003Ctext x=\"126\" y=\"290\" text-anchor=\"middle\" class=\"d-small\">the model calls them\u003C\u002Ftext>\u003Ctext x=\"126\" y=\"310\" text-anchor=\"middle\" class=\"d-small\">filesystem: read and write\u003C\u002Ftext>\u003Ctext x=\"126\" y=\"330\" text-anchor=\"middle\" class=\"d-small\">git: twelve operations\u003C\u002Ftext>\u003Crect x=\"253\" y=\"240\" width=\"214\" height=\"100\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"360\" y=\"266\" text-anchor=\"middle\" class=\"d-text\">resources\u003C\u002Ftext>\u003Ctext x=\"360\" y=\"290\" text-anchor=\"middle\" class=\"d-small\">the application reads them\u003C\u002Ftext>\u003Ctext x=\"360\" y=\"310\" text-anchor=\"middle\" class=\"d-small\">memory:\u002F\u002Fknowledge-graph\u003C\u002Ftext>\u003Ctext x=\"360\" y=\"330\" text-anchor=\"middle\" class=\"d-small\">addressed by URI\u003C\u002Ftext>\u003Crect x=\"486\" y=\"240\" width=\"214\" height=\"100\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"593\" y=\"266\" text-anchor=\"middle\" class=\"d-text\">prompts\u003C\u002Ftext>\u003Ctext x=\"593\" y=\"290\" text-anchor=\"middle\" class=\"d-small\">the user picks them\u003C\u002Ftext>\u003Ctext x=\"593\" y=\"310\" text-anchor=\"middle\" class=\"d-small\">templates with arguments\u003C\u002Ftext>\u003Ctext x=\"593\" y=\"330\" text-anchor=\"middle\" class=\"d-small\">everything: four prompts\u003C\u002Ftext>\u003Crect x=\"20\" y=\"356\" width=\"680\" height=\"30\" rx=\"8\" class=\"d-gold\" \u002F>\u003Ctext x=\"360\" y=\"376\" text-anchor=\"middle\" class=\"d-small\">runs with the invoking user's privileges, and the allowlist is a path check, not a sandbox\u003C\u002Ftext>",[311],"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":120,"content":313},[314],"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":127,"level":128,"id":104,"text":105},{"type":120,"content":317},[318],"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":133,"code":320},"{\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":120,"content":322},[323,324,327,328,331,332,335],"Einen selbst zu schreiben, ist kaum schwerer. Das TypeScript-SDK stellt ein Serverobjekt mit ",{"tag":133,"children":325},[326],"registerTool",", ",{"tag":133,"children":329},[330],"registerResource"," und ",{"tag":133,"children":333},[334],"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":133,"code":337},"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":339,"variant":340,"title":341,"body":342},"callout","warn","Version anpinnen, bevor man ihr vertraut",[343],[344,345,348,349,352,353,356],"Jedes dokumentierte Beispiel verwendet ",{"tag":133,"children":346},[347],"npx -y"," oder ",{"tag":133,"children":350},[351],"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":133,"children":354},[355],"cmd \u002Fc npx",".",{"type":127,"level":128,"id":107,"text":108},{"type":120,"content":359},[360],"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":146,"ordered":147,"items":362},[363,365,367,369,371],[364],"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.",[366],"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.",[368],"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.",[370],"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.",[372],"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":339,"variant":374,"title":375,"body":376},"note","Bevor ein Server ein echtes Konto erreicht",[377],[378,379,384,385,389,390,394],"Zuerst ",{"tag":380,"to":381,"children":382},"link","\u002Fblog\u002Fmcp-server-security-checklist",[383],"die MCP-Server-Sicherheitscheckliste"," lesen, dann die Tool-Design-Lektionen aus ",{"tag":380,"to":386,"children":387},"\u002Fblog\u002Fmcp-tool-design-lessons-jira-server",[388],"dem Jira-Server-Artikel"," übernehmen, wenn die kopierten Tools wachsen. Das Transport-Topic ist separat: das stateless-Muster aus ",{"tag":380,"to":391,"children":392},"\u002Fblog\u002Fmcp-2026-07-28-stateless-migration-guide",[393],"der Stateless-Migrationsanleitung"," zählt, sobald ein Server das Stdio verlässt.",{"type":127,"level":128,"id":110,"text":111},{"type":120,"content":397},[398],"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":171,"head":400,"rows":408},[401,403,404,406],[402],"Option",[96],[405],"Support",[407],"Wofür geeignet",[409,418,427,435],[410,412,414,416],[411],"Referenzserver",[413],"Sieben Beispiele der Steuerungsgruppe unter src\u002F",[415],"Community und MCP-Steuerungsgruppe, ohne Schwachstellannahme",[417],"Protokoll lernen und eigenen Server schreiben",[419,421,423,425],[420],"servers-archived",[422],"Dreizehn eingestellte Beispiele, darunter GitHub, Slack und PostgreSQL",[424],"Hier nicht gepflegt; Brave und Slack zogen zu ihren Anbietern",[426],"Geschichte lesen, keine neuen Konfigurationen",[428,429,431,433],[44],[430],"Katalog veröffentlichter Server auf registry.modelcontextprotocol.io",[432],"Autoren der einzelnen Server, Registrierung erforderlich",[434],"Einen Server zum Ausführen finden",[436,438,440,442],[437],"FastMCP",[439],"Python-Framework für Server und Clients, 4.0.11 auf PyPI",[441],"Der Paketbetreuer",[443],"Einen Server ausliefern, ohne Protocol-Plumbing anzufassen",{"type":120,"content":445},[446],"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":127,"level":128,"id":113,"text":114},{"type":120,"content":449},[450],"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":146,"ordered":452,"items":453},true,[454,456,458,460,462],[455],"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.",[457],"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.",[459],"Pinne Paketversionen in jeder Konfiguration, die du behältst, statt des -y-Flags aus den README-Beispielen.",[461],"Keinen Referenzserver auf ein geteiltes Konto ausrollen: keine Authentifizierung, keine Rate-Limits, keine Schwachstellannahme.",[463],"Protokoll-Funde an die SDK-Repositorien senden, und wenn es um einen ausführbaren Server geht, die Registry statt dieses Repositoriums verwenden.",{"type":465,"content":466},"quote",[467],"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":127,"level":128,"id":116,"text":117},{"type":146,"ordered":452,"items":470},[471,476,480,484,488,492,496,499,503,507,511,515],[472],{"tag":473,"href":27,"children":474},"a",[475],"MCP-Referenzserver-Repositorium",[477],{"tag":473,"href":30,"children":478},[479],"README und Serverliste des Repositoriums",[481],{"tag":473,"href":33,"children":482},[483],"Sicherheitsrichtlinie",[485],{"tag":473,"href":36,"children":486},[487],"Release-Prozess und Trusted Publishing",[489],{"tag":473,"href":39,"children":490},[491],"README des Filesystem-Servers",[493],{"tag":473,"href":42,"children":494},[495],"Feature-Liste des Everything-Servers",[497],{"tag":473,"href":45,"children":498},[44],[500],{"tag":473,"href":48,"children":501},[502],"Archivierte Referenzserver",[504],{"tag":473,"href":51,"children":505},[506],"Dokumentation des Model Context Protocol",[508],{"tag":473,"href":54,"children":509},[510],"TypeScript-MCP-SDK",[512],{"tag":473,"href":57,"children":513},[514],"Python-MCP-SDK",[516],{"tag":473,"href":60,"children":517},[518],"FastMCP auf PyPI",[520,570,635,689],{"slug":521,"published":522,"minutes":523,"category":7,"tags":524,"keywords":530,"about":538,"sources":545,"cover":562,"og":563,"expertise":63,"locales":564,"lang":66,"title":565,"description":566,"coverAlt":567,"url":568,"pricing":569,"kind":525},"aider","2026-09-23",10,[525,526,527,528,529],"Coding agent","Terminal","Git workflow","BYO key","Open source",[521,531,532,533,534,535,536,537],"aider vs claude code","aider polyglot benchmark","ai pair programming terminal","aider leaderboard","open source coding agent","aider architect mode","aider install",[539,542],{"name":540,"url":541},"Aider","https:\u002F\u002Faider.chat\u002F",{"name":543,"url":544},"Aider on GitHub","https:\u002F\u002Fgithub.com\u002FAider-AI\u002Faider",[546,548,551,554,557,559],{"title":547,"url":541},"Aider website",{"title":549,"url":550},"Aider LLM leaderboards","https:\u002F\u002Faider.chat\u002Fdocs\u002Fleaderboards\u002F",{"title":552,"url":553},"Aider linting and testing","https:\u002F\u002Faider.chat\u002Fdocs\u002Fusage\u002Flint-test.html",{"title":555,"url":556},"Aider token limits","https:\u002F\u002Faider.chat\u002Fdocs\u002Ftroubleshooting\u002Ftoken-limits.html",{"title":558,"url":544},"Aider repository on GitHub",{"title":560,"url":561},"aider-chat on PyPI","https:\u002F\u002Fpypi.org\u002Fproject\u002Faider-chat\u002F","\u002Fimages\u002Fblog\u002Faider\u002Fcover.webp","\u002Fimages\u002Fblog\u002Faider\u002Fog.jpg",[65,66,67],"Aider im Test: Pair Programming im Terminal, git zuerst","Ein Test von Aider 0.86.2, ein Apache-2.0-Terminal-Pair-Programmierer mit ehrlichem Benchmark — und ohne Release seit acht Monaten.","Coverbild für den Aider-Test: eine Terminalsitzung, die aus einer einzigen Anfrage eine Reihe von git Commits macht","https:\u002F\u002Faider.chat","Free · BYO API key",{"slug":571,"published":572,"minutes":523,"category":7,"tags":573,"keywords":577,"about":586,"sources":596,"cover":627,"og":628,"expertise":63,"locales":629,"lang":66,"title":630,"description":631,"coverAlt":632,"url":599,"pricing":633,"kind":634},"openai-agents-sdk","2026-09-11",[574,575,576,9,195],"Agent runtime","Tracing","Guardrails",[578,579,580,581,582,583,584,585],"openai agents sdk","openai agents sdk vs langgraph","python agent framework comparison","openai agents sdk guardrails","agent run tracing tool calls","openai agents sdk human in the loop","openai-agents pypi","agents sdk vs responses api",[587,590,593],{"name":588,"url":589},"Model context protocol","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FModel_context_protocol",{"name":591,"url":592},"Software framework","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FSoftware_framework",{"name":594,"url":595},"Agentic AI","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FAgentic_AI",[597,600,603,606,609,612,615,618,621,624],{"title":598,"url":599},"OpenAI Agents SDK documentation: Intro, and Agents SDK or Responses API","https:\u002F\u002Fopenai.github.io\u002Fopenai-agents-python\u002F",{"title":601,"url":602},"OpenAI Agents SDK documentation: Running agents","https:\u002F\u002Fopenai.github.io\u002Fopenai-agents-python\u002Frunning_agents\u002F",{"title":604,"url":605},"OpenAI Agents SDK documentation: Guardrails","https:\u002F\u002Fopenai.github.io\u002Fopenai-agents-python\u002Fguardrails\u002F",{"title":607,"url":608},"OpenAI Agents SDK documentation: Human-in-the-loop","https:\u002F\u002Fopenai.github.io\u002Fopenai-agents-python\u002Fhuman_in_the_loop\u002F",{"title":610,"url":611},"OpenAI Agents SDK documentation: Tracing","https:\u002F\u002Fopenai.github.io\u002Fopenai-agents-python\u002Ftracing\u002F",{"title":613,"url":614},"OpenAI Agents SDK documentation: Configuration","https:\u002F\u002Fopenai.github.io\u002Fopenai-agents-python\u002Fconfig\u002F",{"title":616,"url":617},"openai-agents 0.23.1 on PyPI, release history and licence","https:\u002F\u002Fpypi.org\u002Fproject\u002Fopenai-agents\u002F",{"title":619,"url":620},"OpenAI: The next evolution of the Agents SDK (15 April 2026)","https:\u002F\u002Fopenai.com\u002Findex\u002Fthe-next-evolution-of-the-agents-sdk\u002F",{"title":622,"url":623},"OpenAI API documentation: Agents, comparison of the three runtimes","https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Fagents",{"title":625,"url":626},"Arize: AI agent frameworks compared (1 October 2026)","https:\u002F\u002Farize.com\u002Fai-agents\u002Fagent-frameworks\u002F","\u002Fimages\u002Fblog\u002Fopenai-agents-sdk\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fopenai-agents-sdk\u002Fog.jpg",[65,66,67],"OpenAI Agents SDK: eine schlanke Agent-Runtime mit scharfen Kanten","Eine Bewertung des OpenAI Agents SDK: Runner-Schleife, Tracing, Guardrails und Approvals, plus was Release-Tempo und die Responses-only-Funktionen kosten.","Diagramm der Runner-Schleife im Agents SDK: Eingabe, Agent, Modellaufruf, Endausgabe, Guardrails und Tool-Aufrufe, die zurück in die Eingabe laufen","MIT · API pay per token","Agent framework",{"slug":636,"published":637,"minutes":6,"category":7,"tags":638,"keywords":643,"about":650,"sources":660,"cover":681,"og":682,"expertise":63,"locales":683,"lang":66,"title":684,"description":685,"coverAlt":686,"url":687,"pricing":688,"kind":525},"openhands","2026-09-09",[525,639,640,641,642],"Sandboxed execution","Automations","Self-hosted","MIT licence",[636,644,645,646,647,648,535,649],"openhands self-host","open hands coding agent","openhands vs claude code","agent canvas","openhands docker sandbox","openhands cloud pricing",[651,654,657],{"name":652,"url":653},"OpenHands","https:\u002F\u002Fwww.openhands.dev",{"name":655,"url":656},"OpenHands on GitHub","https:\u002F\u002Fgithub.com\u002FOpenHands\u002FOpenHands",{"name":658,"url":659},"Intelligent agent","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FIntelligent_agent",[661,663,666,669,672,675,678],{"title":662,"url":656},"OpenHands README",{"title":664,"url":665},"OpenHands licence (MIT)","https:\u002F\u002Fgithub.com\u002FOpenHands\u002FOpenHands\u002Fblob\u002Fmain\u002FLICENSE",{"title":667,"url":668},"Agent Canvas 1.25.0 release notes","https:\u002F\u002Fdocs.openhands.dev\u002Fopenhands\u002Fusage\u002Fagent-canvas\u002Frelease-notes\u002Fv1.25.0.md",{"title":670,"url":671},"OpenHands sandbox overview","https:\u002F\u002Fdocs.openhands.dev\u002Fopenhands\u002Fusage\u002Fsandboxes\u002Foverview.md",{"title":673,"url":674},"OpenHands quick start","https:\u002F\u002Fdocs.openhands.dev\u002Fopenhands\u002Fusage\u002Finstallation",{"title":676,"url":677},"OpenHands pricing","https:\u002F\u002Fwww.openhands.dev\u002Fpricing",{"title":679,"url":680},"Introducing the OpenHands Index","https:\u002F\u002Fwww.openhands.dev\u002Fblog\u002Fintroducing-the-openhands-index","\u002Fimages\u002Fblog\u002Fopenhands\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fopenhands\u002Fog.jpg",[65,66,67],"OpenHands: der Open-Source-Coding-Agent im Eigenbetrieb","OpenHands 1.25.0 ist eine MIT-lizenzierte Coding-Agent-Plattform mit Web-Canvas, CLI, sandboxierter Ausführung und geplanten Automatisierungen. Ein Review der Stärken und der Betriebskosten.","Covermotiv zum OpenHands-Review: eine Schleife von Aufgabe über Agent und Sandbox zurück","https:\u002F\u002Fgithub.com\u002FAll-Hands-AI\u002FOpenHands","Free · self-host",{"slug":690,"published":691,"minutes":523,"category":7,"tags":692,"keywords":697,"about":704,"sources":708,"cover":730,"og":731,"expertise":63,"locales":732,"lang":66,"title":733,"description":734,"coverAlt":735,"url":707,"pricing":736,"kind":693},"cursor","2026-09-02",[693,694,695,696,9],"AI code editor","Coding agents","CLI","Usage-based pricing",[690,698,699,700,701,702,703],"cursor vs github copilot","cursor pricing","cursor cli","ai code editor","cursor usage limits","cursor pro plus",[705],{"name":706,"url":707},"Cursor","https:\u002F\u002Fcursor.com",[709,712,715,718,721,724,727],{"title":710,"url":711},"Cursor pricing","https:\u002F\u002Fcursor.com\u002Fpricing",{"title":713,"url":714},"Cursor models and pricing docs","https:\u002F\u002Fcursor.com\u002Fdocs\u002Fmodels-and-pricing",{"title":716,"url":717},"Cursor CLI documentation","https:\u002F\u002Fcursor.com\u002Fdocs\u002Fcli\u002Foverview",{"title":719,"url":720},"GitHub Copilot plans","https:\u002F\u002Fgithub.com\u002Ffeatures\u002Fcopilot\u002Fplans",{"title":722,"url":723},"Claude pricing","https:\u002F\u002Fclaude.com\u002Fpricing",{"title":725,"url":726},"Claude Code cost documentation","https:\u002F\u002Fdocs.claude.com\u002Fen\u002Fdocs\u002Fclaude-code\u002Fcosts",{"title":728,"url":729},"Cline pricing","https:\u002F\u002Fcline.bot\u002Fpricing","\u002Fimages\u002Fblog\u002Fcursor\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fcursor\u002Fog.jpg",[65,66,67],"Cursor im Test: ein KI-Code-Editor, der über den Listenpreis hinaus abrechnet","Cursor bündelt Editor, Terminal-Agent und Cloud-Läufe hinter einem Abo. Was die zwei Nutzungs-Pools wirklich kosten, und wann Copilot, Claude Code oder Cline die bessere Wahl sind.","Abstrakte Pipeline-Grafik für die Cursor-Bewertung","Free · Pro from $20 per month",1791383550515]