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.
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:
Claude Code llamó a mcp__libremodular__get_state con {"target_app": "hub"}, y la respuesta del Hub le llegó así:
{
"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:
El modelo escribió esta llamada:
tools['libremodular'].get_state({target_app: "hub"})y opencode devolvió la 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.