Conectar su modelo

En esta página

Un modelo llega al Hub a través de un cliente MCP. Esta página da la entrada de configuración de Claude Code y de opencode, cada una probada en el propio cliente, y la respuesta que cada cliente recibió de get_state sobre hub. Es para ingenieros que ya tienen el Hub instalado.

Un punto de luz rodeado de rayos, cada uno una línea de configuración en JSON, en cobre y en verde.Un punto de luz rodeado de rayos, cada uno una línea de configuración en JSON, en cobre y en verde.
Una chispa cuyos rayos son líneas de las entradas de configuración que da esta página.

Antes de la entrada

El Hub está instalado, libremodular-mcp init se ha ejecutado e Inkscape está activado, como en el inicio rápido. Un cliente ejecuta el Hub como un comando con el argumento serve, y el Hub necesita la variable XDG_RUNTIME_DIR, que establece una sesión de escritorio.

Las entradas de abajo nombran /usr/bin/libremodular-mcp, la ruta del paquete. Las pruebas ejecutaron el Hub construido desde el código fuente, así que su command era la ruta absoluta de target/release/libremodular-mcp en el clon; el resto de cada entrada es el que se escribe aquí.

Con Claude Code

Claude Code lee los servidores de un proyecto en .mcp.json, en la raíz del proyecto. Ponga ahí esta entrada:

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

El comando claude mcp add --scope project libremodular -- /usr/bin/libremodular-mcp serve escribe la misma entrada, con "type": "stdio" y "env": {} añadidos. Claude Code lista las dos herramientas del Hub como mcp__libremodular__get_state y mcp__libremodular__execute_script.

El modelo fue Claude Haiku 5.5, iniciado con claude -p sobre esta entrada y esta petición:

Texto dado al modelo
Call the get_state tool of the libremodular MCP server with target_app set to “hub”, then copy its JSON answer as it is.

Claude Code llamó a mcp__libremodular__get_state con {"target_app": "hub"}, y la respuesta del Hub le llegó así:

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

La respuesta lista Inkscape, la única aplicación activada, como conectada en modo cli.

Con opencode

opencode lee opencode.json en el directorio del proyecto. El comando opencode mcp add libremodular -- /usr/bin/libremodular-mcp serve, ejecutado en ese directorio, escribe este archivo:

{
  "mcp": {
    "servers": {
      "libremodular": {
        "type": "local",
        "command": [
          "/usr/bin/libremodular-mcp",
          "serve"
        ]
      }
    }
  }
}

opencode no da a su modelo una herramienta por cada herramienta MCP: el modelo escribe JavaScript para su herramienta execute, y las herramientas del Hub se alcanzan como tools['libremodular']. El modelo fue Llama 3.1 8B, servido en local por Ollama e iniciado con opencode run --standalone --auto --model ollama/llama3.1:8b-instruct-q5_K_M con esta petición:

Texto dado al modelo
Use your execute tool to call the get_state tool of the libremodular MCP server with target_app set to “hub”, then copy its JSON answer as it is.

El modelo escribió esta llamada:

javascript · Script escrito
tools['libremodular'].get_state({target_app: "hub"})

y opencode devolvió la respuesta del Hub:

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

Dar su guía al modelo

La guía para el modelo tiene seis pasos. El primero es la llamada hecha arriba: get_state sobre hub, que lista las aplicaciones que el modelo puede usar e indica cuáles están conectadas. Un cliente que permite adjuntar un archivo toma la guía como adjunto.

Otros clientes

SiguienteAplicaciones →