MCP-Server ermöglicht es Claude, zur Laufzeit benutzerdefinierte Tools zu erstellen und auszuführen

✍️ OpenClawRadar📅 Veröffentlicht: 14. April 2026🔗 Source
MCP-Server ermöglicht es Claude, zur Laufzeit benutzerdefinierte Tools zu erstellen und auszuführen
Ad

Ein Entwickler hat einen MCP-Server gebaut, der es Claude ermöglicht, neue Tools zur Laufzeit zu erstellen, zu aktualisieren und auszuführen, ohne dass eine erneute Bereitstellung erforderlich ist. Im Gegensatz zu Standard-MCP-Setups, bei denen die Tools zum Zeitpunkt der Bereitstellung festgelegt sind, ermöglicht dieses System die dynamische Erstellung von Tools.

Kernarchitektur

Der Server implementiert fünf Kern-MCP-Tools:

  • Tools auflisten — gibt verfügbare Tools zurück
  • Tool abrufen — holt die vollständige Tool-Definition einschließlich Code
  • Tool erstellen — speichert ein neues Tool in einer Datenbank-Registry
  • Tool aktualisieren — modifiziert ein bestehendes Tool
  • Tool ausführen — führt ein gespeichertes Tool anhand seines Namens aus

Tool-Ausführungsprozess

Das Run Tool Meta-Tool funktioniert wie folgt:

  1. Suchte das angeforderte Tool in einer MySQL-Tabelle
  2. Holt dessen Code
  3. Übergibt Parameter als Kontext
  4. Führt es in einem Deno-Subprozess mit eingeschränkten Berechtigungen aus
  5. Gibt das Ergebnis zurück
Ad

Sandbox-Implementierung

Der Entwickler bewertete Node VM, isolated-vm und Docker, bevor er sich für Deno als Sandbox entschied. Deno wurde ausgewählt, weil:

  • Sauberes Berechtigungsmodell mit granularer Netzwerk-/Dateisystem-/Subprozesskontrolle
  • Native npm-Unterstützung
  • TypeScript eingebaut
  • ~50 ms Kaltstart vs. 500 ms+ für Docker

Die Sandbox verwendet diese Flags: --allow-net --deny-read --deny-write --deny-run --deny-ffi. Dies ermöglicht es dem Tool-Code, HTTP-Anfragen zu stellen und npm-Pakete zu verwenden, verhindert jedoch Dateisystemzugriff oder das Starten von Prozessen.

Tool-Code-Format

Tool-Code ist JavaScript/TypeScript, das ein Kontextobjekt für Parameter erhält. Beispiel aus der Quelle:

const response = await fetch(`https://api.example.com/${context.city}`);
const data = await response.json();
return { temp: data.temp, conditions: data.weather[0].description };

Selbsterweiterungsfähigkeit

Das System ermöglicht eine Selbsterweiterungsschleife: Claude erkennt, dass es eine Fähigkeit benötigt → erstellt das Tool → verwendet es sofort → aktualisiert es, wenn das Ergebnis nicht stimmt. Dies ermöglicht es dem System, im Laufe der Zeit leistungsfähiger zu werden, ohne dass ein Entwickler eingreifen muss.

Die Implementierung basiert auf n8n als MCP-Server mit MySQL zur Tool-Speicherung und läuft seit einigen Monaten in der Produktion.

📖 Read the full source: r/ClaudeAI

Ad

👀 Siehe auch