LibreModular-MCP
Servidor MCP universal escrito en Rust, con un Hub que solo expone dos herramientas
Si un modelo maneja una aplicación de escritorio con una herramienta por gesto, cada gesto cuesta una ida y vuelta. El Hub expone dos herramientas: un script hace el trabajo en una llamada. GIMP, Krita, Blender, Inkscape y LibreOffice funcionan hoy, cada una mediante un módulo y un puente; el Hub busca conectar cuantas sea posible en un solo servidor.

Un script enviado, la respuesta del Hub
Este script dibuja un gráfico de tres barras en un documento de Inkscape. Un cliente lo envió en una sola llamada a execute_script, y el bloque de debajo es la respuesta del Hub. La demostración ofrece un cliente de 25 líneas y todos los pasos para repetir una ejecución como esta.
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 lo ejecutó en el modo cli, sin ventana: el Hub inició un proceso de Python para el script y devolvió como result el valor que el script imprimió tras LMM_RESULT: .
Dos herramientas, un módulo por aplicación
Esto es LibreModular-MCP. El Hub es un único binario de Rust que da al modelo exactamente dos herramientas. execute_script ejecuta un script de Python completo en una aplicación y devuelve lo que el script imprimió, su result, o la traza de error propia de la aplicación. get_state devuelve lo que hay abierto en la aplicación. Un módulo del lado del Hub y un puente del lado de la aplicación llegan a GIMP, Krita, Blender, Inkscape y LibreOffice; el Hub en sí no conoce ninguna de sus interfaces.
Estas cinco aplicaciones son las probadas, no el alcance del Hub: una aplicación más se añade mediante un módulo, un puente y su guía, como describe CONTRIBUTING.md, y el código tiene licencia MIT.
El inicio rápido crea la configuración del Hub, Conectar su modelo lo declara en Claude Code o en opencode, y la instalación da el paquete para cada familia de Linux.
Adónde ir después
- Demostración
Un cliente de 25 líneas inicia el Hub, envía un script a Inkscape e imprime cada respuesta, sin cliente MCP y sin ventana.
- Instalación
Un comando por familia de Linux para instalar el Hub desde su paquete, el instalador de Windows, el nivel que alcanzó cada uno, su suma de comprobación y la construcción desde el código fuente.
- Arquitectura
El Hub, sus dos herramientas, un módulo y un puente por aplicación, los tres modos y un script medido frente a llamadas separadas.
- Seguridad
Lo que el Hub limita, los riesgos que quedan, lo que sale de la máquina y las mediciones repetidas para esta página.
- Compatibilidad
Para cada aplicación, la versión probada, el comando que la inició y lo que no se probó.
- Aplicaciones
Una receta real por aplicación: el texto dado a un modelo, su script, las respuestas del Hub y el archivo producido.