LibreModular-MCP
Universeller, in Rust geschriebener MCP-Server mit einem Hub, der nur zwei Werkzeuge bereitstellt
Steuert ein Modell eine Desktop-Anwendung mit einem Werkzeug pro Arbeitsschritt, kostet jeder Schritt einen Hin- und Rückweg. Der Hub stellt zwei Werkzeuge bereit: Ein Skript erledigt die ganze Arbeit in einem Aufruf. GIMP, Krita, Blender, Inkscape und LibreOffice funktionieren heute, jede über ein Modul und eine Brücke; der Hub ist darauf ausgelegt, möglichst viele Anwendungen in einem Server zu verbinden.

Ein Skript gesendet, die Antwort des Hubs
Dieses Skript zeichnet in einem Inkscape-Dokument ein Diagramm mit drei Balken. Ein Client hat es mit einem einzigen Aufruf von execute_script gesendet, und der Block darunter ist die Antwort des Hubs. Die Demonstration enthält einen Client mit 25 Zeilen und jeden Schritt, um einen solchen Lauf nachzuspielen.
import json
import os
import inkex
document = inkex.load_svg(os.environ["LMM_DOCUMENT"])
layer = document.getroot().add(inkex.Layer.new("Chart"))
for index, value in enumerate([3, 7, 5]):
layer.add(inkex.Rectangle.new(20 + index * 30, 100 - value * 10, 20, value * 10))
document.write(os.environ["LMM_DOCUMENT"])
print("LMM_RESULT: " + json.dumps({"bars": len(layer)})){
"app": "inkscape",
"duration_ms": 151,
"error": null,
"result": {
"bars": 3
},
"status": "ok",
"stderr": "",
"stdout": "",
"truncated": false
}Inkscape 1.4 hat es im Modus cli ausgeführt, ohne Fenster: Der Hub hat für das Skript einen Python-Prozess gestartet und den Wert, den das Skript nach LMM_RESULT: ausgegeben hat, als result zurückgegeben.
Zwei Werkzeuge, ein Modul pro Anwendung
Das ist LibreModular-MCP. Der Hub ist eine einzige Rust-Binärdatei, die dem Modell genau zwei Werkzeuge bietet. execute_script führt in einer Anwendung ein vollständiges Python-Skript aus und liefert zurück, was das Skript ausgegeben hat (sein result), oder die anwendungseigene Fehlerspur. get_state liefert, was in der Anwendung geöffnet ist. Ein Modul auf der Seite des Hubs und eine Brücke auf der Seite der Anwendung erreichen GIMP, Krita, Blender, Inkscape und LibreOffice; der Hub selbst kennt keine ihrer Schnittstellen.
Diese fünf Anwendungen sind die erprobten, nicht der Umfang des Hubs: Eine weitere Anwendung kommt über ein Modul, eine Brücke und ihren Leitfaden hinzu, wie CONTRIBUTING.md es beschreibt, und der Code steht unter der MIT-Lizenz.
Der Schnellstart legt die Konfiguration des Hubs an, Ihr Modell anbinden trägt ihn in Claude Code oder in opencode ein, und die Installation nennt das Paket für jede Linux-Familie.
Wie es weitergeht
- Demonstration
Ein Client mit 25 Zeilen startet den Hub, sendet ein Skript an Inkscape und gibt jede Antwort aus, ohne MCP-Client und ohne Fenster.
- Installation
Ein Befehl pro Linux-Familie, um den Hub aus seinem Paket zu installieren, das Windows-Installationsprogramm, die erreichte Stufe jedes Pakets, seine Prüfsumme und der Bau aus den Quellen.
- Architektur
Der Hub, seine zwei Werkzeuge, ein Modul und eine Brücke pro Anwendung, die drei Modi und ein Skript im Vergleich mit getrennten Aufrufen.
- Sicherheit
Was der Hub begrenzt, welche Risiken bleiben, was den Rechner verlässt, und die für diese Seite wiederholten Messungen.
- Kompatibilität
Pro Anwendung die erprobte Version, der Befehl, der sie gestartet hat, und was nicht ausprobiert wurde.
- Anwendungen
Ein echtes Rezept pro Anwendung: der dem Modell gegebene Text, sein Skript, die Antworten des Hubs und die erzeugte Datei.