Inicio rápido

En esta página

Cinco pasos llevan un Hub instalado hasta su primer script respondido: crear la configuración y el token, activar Inkscape, declarar el Hub en su cliente MCP, comprobar lo que ve el Hub y enviar un script. Es para ingenieros que ya tienen el paquete; Inkscape no necesita puente. Si no es el caso, empiece por la instalación.

Crear la configuración y el token

Ejecute esto una sola vez, con su propio usuario:

libremodular-mcp init

Imprime una línea por cada directorio y por cada archivo que crea; esta página escribe $HOME para el comienzo de cada ruta:

directory ready: $HOME/.config/libremodular-mcp
directory ready: $HOME/.local/state/libremodular-mcp
configuration created: $HOME/.config/libremodular-mcp/config.toml
token created: $HOME/.config/libremodular-mcp/token

Ambos archivos tienen el modo 600. Si se ejecuta una segunda vez, init los deja como están y dice configuration exists, unchanged y token exists, unchanged.

Activar Inkscape

Tras init, todas las aplicaciones están desactivadas. Este comando activa Inkscape:

sed -i '/^\[apps.inkscape\]/,/^$/ s/enabled = false/enabled = true/' ~/.config/libremodular-mcp/config.toml

La entrada de config.toml queda entonces así:

[apps.inkscape]
enabled = true
mode = "cli"

Inkscape 1.4 es la versión con la que se ejecutó esta página. En el modo cli, el Hub inicia un proceso de Python por script, así que no hay ningún puente que iniciar. A GIMP, Krita, Blender y LibreOffice se llega por un puente que usted inicia a mano; cada guía da los comandos: GIMP, Krita, Blender y LibreOffice.

Declarar el Hub en su cliente MCP

El cliente ejecuta el Hub como un comando con el argumento serve. Con el paquete, el comando es /usr/bin/libremodular-mcp; si se construyó desde el código fuente, es la ruta absoluta de target/release/libremodular-mcp en su clon.

{
  "mcpServers": {
    "libremodular": {
      "command": "/usr/bin/libremodular-mcp",
      "args": ["serve"]
    }
  }
}

El Hub necesita la variable XDG_RUNTIME_DIR, que establece una sesión de escritorio. Sin ella, libremodular-mcp serve se detiene al instante con error: XDG_RUNTIME_DIR is not set; refusing to write volatile files elsewhere.

Conectar su modelo da esta entrada para Claude Code y para opencode, cada una probada en el cliente, con la respuesta a get_state que recibió el cliente.

Hacer la primera llamada

La guía para el modelo hace de get_state sobre hub la primera llamada: enumera las aplicaciones a las que el Hub puede llegar. Pídale a su modelo que la haga, o ejecute el cliente de la demostración, cuya primera respuesta es esta:

Respuesta del Hub
{
  "app": "hub",
  "app_version": "0.1.0",
  "bridge_version": null,
  "captured_at": "2026-10-21T07:57:39.858Z",
  "connected": true,
  "content_origin": "hub",
  "screenshot": null,
  "state": {
    "modules": [
      {
        "app_version": "1.4",
        "bridge_version": null,
        "connected": true,
        "mode": "cli",
        "name": "inkscape"
      }
    ]
  },
  "warnings": []
}

inkscape está conectado, en el modo cli, y su app_version es 1.4. El Hub expone dos herramientas y ninguna más: un cliente que pide la lista de herramientas recibe ["execute_script", "get_state"].

Enviar el primer script

Un modelo envía un script como este mediante execute_script. Para enviarlo usted mismo, guárdelo como first.py, guarde el cliente de la demostración como client.py y ejecute python3 client.py first.py.

python · Script escrito
import json

print("the script ran inside Inkscape's Python")
print("LMM_RESULT: " + json.dumps({"answer": 6 * 7}))

La tercera respuesta del cliente es la respuesta del Hub al script:

Respuesta del Hub
{
  "app": "inkscape",
  "duration_ms": 30,
  "error": null,
  "result": {
    "answer": 42
  },
  "status": "ok",
  "stderr": "",
  "stdout": "the script ran inside Inkscape's Python\n",
  "truncated": false
}

stdout es lo que el script imprimió, result es el valor tras LMM_RESULT: y status es ok. La guía para el modelo enumera los demás estados (error, refused, timeout, busy y unavailable) y qué hacer con cada uno: guía para el modelo. Un script que dibuja, y la imagen que produjo, están en la página de la demostración.

SiguienteArquitectura →