From 30b17d510ee14244d56a13baf3b5a215852ccbbc Mon Sep 17 00:00:00 2001 From: Markus Graf Date: Fri, 24 Apr 2026 22:48:35 +0200 Subject: [PATCH] Draft: Blog post about nanoclaw-mcp-ext and Carson --- .../blog/pi-carson-mcp-extension/index.de.md | 70 +++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 content/blog/pi-carson-mcp-extension/index.de.md diff --git a/content/blog/pi-carson-mcp-extension/index.de.md b/content/blog/pi-carson-mcp-extension/index.de.md new file mode 100644 index 0000000..2c45360 --- /dev/null +++ b/content/blog/pi-carson-mcp-extension/index.de.md @@ -0,0 +1,70 @@ +--- +title: "Wenn KI mit KI spricht: Wie Pi dank einer neuen MCP-Extension mit Carson plaudert" +date: 2026-04-24 +description: "Ich habe eine kleine Extension namens nanoclaw-mcp-ext entwickelt. Damit kann mein Coding-Assistent Pi direkt mit meinem digitalen Butler Carson kommunizieren. Ein spannender Use Case für das Model Context Protocol." +translationKey: "pi-carson-mcp-post" +--- + +Vor ein paar Wochen habe ich von [Carson](/blog/ki-bewerbungsagent/) erzählt. Damals lag der Fokus noch auf seiner Rolle als KI-Bewerbungsagent. Inzwischen ist Carson aber weit mehr als das: Er ist ein vollwertiger digitaler Butler geworden. Er koordiniert meine privaten und familiären Kalender, checkt autonom meine E-Mails, führt meine Bring!-Einkaufsliste, trackt offene Todos, speichert mein Wissen in einem Langzeit-Gedächtnis und weiss dank Standort-Tracking sogar, wo ich mich gerade befinde. Kurzum: Er nimmt mir massiv den administrativen Alltag ab. + +Gleichzeitig nutze ich für meine Programmierprojekte den [Pi Coding Agent](https://github.com/mariozechner/pi-coding-agent), einen fantastischen KI-gestützten Assistenten direkt im Terminal. Oftmals arbeite ich tief fokussiert an Code und mir fällt plötzlich ein privates Todo ein, oder ich möchte Carson eine Anweisung geben (z.B. "Setz noch Kaffee auf die Einkaufsliste"), ohne mein Terminal und den Pi-Kontext zu verlassen. + +Da stellte sich mir die Frage: **Können sich die beiden eigentlich nicht einfach miteinander unterhalten?** + +Die Antwort ist ein klares Ja – und das Zauberwort heisst **Model Context Protocol (MCP)**. + +## Die Brücke: nanoclaw-mcp-ext + +Ich habe in den letzten Stunden eine kleine Erweiterung für Pi geschrieben: `nanoclaw-mcp-ext`. +Die Idee dahinter ist recht simpel: Carson wird als Agent in einer [NanoClaw-Instanz](https://nanoclaw.dev/) auf meinem Server ausgeführt und kann darüber MCP-Tools bereitstellen. Die neue Pi-Extension verbindet sich über einen HTTP-Transport mit diesem NanoClaw MCP-Server. + +Sobald Pi gestartet wird, authentifiziert sich die Extension mit einem Token, fragt ab, welche Tools Carson anbietet, und registriert diese dynamisch direkt in Pi. + +### Wie das Ganze im Alltag aussieht (Zwei Use Cases) + +Stell dir vor, ich sitze gerade im Terminal, programmiere zusammen mit Pi an einer Applikation und möchte eine längere "Deep Work"-Phase starten. Ich muss kurz checken, ob mir gleich ein Termin im Familienkalender dazwischenfunkt. + +Bisher hätte ich das Terminal verlassen und Carson (oder meinen Kalender) separat öffnen müssen. Heute sieht das so aus: + +**Ich (zu Pi):** *"Frag Carson mal, ob ich in den nächsten zwei Stunden noch Termine habe. Wenn nicht, fangen wir mit dem grossen Datenbank-Refactoring an."* + +**Pi:** Führt autonom das neu geladene Tool aus, verbindet sich mit der NanoClaw-Instanz, übergibt die Nachricht an Carson, wartet auf dessen Kalender-Check und gibt mir die Antwort direkt im Terminal aus. + +Beispiel-Output von Pi im Terminal: +> *Carson meldet, dass du bis 17:30 Uhr keine Termine hast. Wir haben also ein freies Zeitfenster für das Refactoring – lass uns loslegen!* + +Ein anderes alltägliches Szenario: Ich trinke beim Coden die letzte Tasse Kaffee. Ich sage Pi einfach: *"Sag Carson, er soll Kaffeebohnen auf meine Bring!-Einkaufsliste setzen."* Pi leitet das an Carson weiter, Carson nutzt seine Bring!-Integration, und das Problem ist delegiert, ohne dass ich meinen Arbeitsfluss auch nur für eine Sekunde unterbrechen musste. + +Es ist also nicht mehr nur ein Mensch, der mit einer KI chattet, sondern Pi entscheidet selbstständig, *wann* er Carson konsultieren muss, um meine Fragen zu beantworten oder Aufgaben zu delegieren. + +## Ein Blick unter die Haube + +Für alle, die es technisch interessiert: Die Extension ist in TypeScript geschrieben. Beim Start einer Pi-Session (via `session_start` Event) baut Pi eine `StreamableHTTPClientTransport`-Verbindung auf. + +```typescript +// Ein kleiner Auszug, wie Pi die Carson-Tools lädt: +const client = new Client( + { name: "pi-mcp-client", version: "1.0.0" }, + { capabilities: { tools: {} } } +); + +await client.connect(transport); +const { tools } = await client.listTools(); + +// Alle Tools, die Carson anbietet, werden für Pi verfügbar gemacht +for (const tool of tools) { + pi.registerTool({ + name: tool.name, + description: tool.description, + // ... + }); +} +``` + +Aus Sicherheitsgründen wird die Verbindung in der Regel über einen **SSH-Tunnel** abgesichert, da Carson auf einem entfernten Rechner läuft und ich das MCP-Protokoll nicht direkt dem Internet aussetzen möchte. + +## Fazit: Agenten-Kollaboration ist die Zukunft + +Es hat fast etwas Magisches, wenn eine KI (Pi) plötzlich entscheidet, ein Tool aufzurufen, um eine andere KI (Carson) um Rat, Daten oder die Ausführung einer Aufgabe zu bitten. Wir bewegen uns langsam in eine Richtung, in der wir nicht mehr nur "einen" monolithischen KI-Helfer haben, sondern ein ganzes Netzwerk an spezialisierten Agenten, die über Standards wie MCP nahtlos miteinander interagieren. + +Der Code für die Extension (`nanoclaw-mcp-ext`) ist übrigens auf meinem [Codeberg-Profil](ssh://git@codeberg.org/gurix/nanoclaw-mcp-ext.git) zu finden. Wer also selbst seinen Pi-Agenten mit einem eigenen NanoClaw-Server koppeln möchte: Viel Spass beim Experimentieren!