mandioca-tabs-mcp 0.2.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/index.mjs +25 -7
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
Deja que tu asistente de IA lea y escriba la obra que tienes abierta en
|
|
4
4
|
[Mandioca Tabs](https://tabs.mandioca-records.com).
|
|
5
5
|
|
|
6
|
-
La guía de instalación para cada IA está dentro de Tabs: botón **
|
|
6
|
+
La guía de instalación para cada IA está dentro de Tabs: botón **Conectar IA**, en la barra
|
|
7
7
|
de abajo. En cualquier programa que acepte servidores MCP locales, el comando es:
|
|
8
8
|
|
|
9
9
|
```
|
|
10
10
|
npx -y mandioca-tabs-mcp
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
-
Después abre tu obra en Tabs y aprieta **Conectar
|
|
13
|
+
Después abre tu obra en Tabs y aprieta **Conectar IA**. La conexión es parte del plan Cowork.
|
package/index.mjs
CHANGED
|
@@ -96396,6 +96396,15 @@ var init_sync = __esm({
|
|
|
96396
96396
|
}
|
|
96397
96397
|
});
|
|
96398
96398
|
|
|
96399
|
+
// apps/mcp/src/version.ts
|
|
96400
|
+
var VERSION_DEL_CONECTOR;
|
|
96401
|
+
var init_version = __esm({
|
|
96402
|
+
"apps/mcp/src/version.ts"() {
|
|
96403
|
+
"use strict";
|
|
96404
|
+
VERSION_DEL_CONECTOR = true ? "0.2.1" : null;
|
|
96405
|
+
}
|
|
96406
|
+
});
|
|
96407
|
+
|
|
96399
96408
|
// apps/mcp/src/puente.ts
|
|
96400
96409
|
var puente_exports = {};
|
|
96401
96410
|
__export(puente_exports, {
|
|
@@ -96488,7 +96497,7 @@ function exigirPesta\u00F1a() {
|
|
|
96488
96497
|
const p = puenteAbierto();
|
|
96489
96498
|
if (p.pesta\u00F1as() === 0) {
|
|
96490
96499
|
throw new ProblemaConLaObra(
|
|
96491
|
-
`El puente est\xE1 abierto en el puerto ${p.puerto} pero no hay ninguna pesta\xF1a de Mandioca Tabs conectada. Abre el programa en el navegador y aprieta \xABConectar
|
|
96500
|
+
`El puente est\xE1 abierto en el puerto ${p.puerto} pero no hay ninguna pesta\xF1a de Mandioca Tabs conectada. Abre el programa en el navegador y aprieta \xABConectar IA\xBB, el bot\xF3n de la barra de estado (abajo del todo, dice \xABConectar IA\xBB). Esto no se puede hacer sin la aplicaci\xF3n abierta: sonar, ver, seleccionar y sacar una captura s\xF3lo existen en el navegador.`
|
|
96492
96501
|
);
|
|
96493
96502
|
}
|
|
96494
96503
|
return p;
|
|
@@ -96577,6 +96586,11 @@ function atenderElMostrador(pedido, respuesta) {
|
|
|
96577
96586
|
respuesta.writeHead(204).end();
|
|
96578
96587
|
return;
|
|
96579
96588
|
}
|
|
96589
|
+
if (ruta === "/version") {
|
|
96590
|
+
respuesta.writeHead(200, { "Content-Type": "application/json" });
|
|
96591
|
+
respuesta.end(JSON.stringify({ version: VERSION_DEL_CONECTOR }));
|
|
96592
|
+
return;
|
|
96593
|
+
}
|
|
96580
96594
|
if (ruta.startsWith("/subir/")) {
|
|
96581
96595
|
recibirEnElCasillero(ruta.slice("/subir/".length), pedido, respuesta);
|
|
96582
96596
|
return;
|
|
@@ -96824,7 +96838,7 @@ async function canalDePedidos(p, herramienta) {
|
|
|
96824
96838
|
id2 = conectadas[0].id;
|
|
96825
96839
|
} else {
|
|
96826
96840
|
throw new ProblemaConLaObra(
|
|
96827
|
-
`\xAB${herramienta}\xBB s\xF3lo puede hacerlo la aplicaci\xF3n, y no se sabe cu\xE1l. ` + (conectadas.length === 0 ? "No hay ninguna pesta\xF1a conectada: p\xEDdele al m\xFAsico que abra Mandioca Tabs y apriete \xABConectar
|
|
96841
|
+
`\xAB${herramienta}\xBB s\xF3lo puede hacerlo la aplicaci\xF3n, y no se sabe cu\xE1l. ` + (conectadas.length === 0 ? "No hay ninguna pesta\xF1a conectada: p\xEDdele al m\xFAsico que abra Mandioca Tabs y apriete \xABConectar IA\xBB, el bot\xF3n de la barra de estado." : `Hay ${conectadas.length} obras conectadas: ${lista2}. Elige una con \`elegir_obra\`, por su letra, y rep\xEDtelo \u2014 adivinar entre varias har\xEDa que suene, o se cargue, la canci\xF3n equivocada.`)
|
|
96828
96842
|
);
|
|
96829
96843
|
}
|
|
96830
96844
|
}
|
|
@@ -96917,6 +96931,7 @@ var init_puente = __esm({
|
|
|
96917
96931
|
init_src2();
|
|
96918
96932
|
init_src3();
|
|
96919
96933
|
init_obra();
|
|
96934
|
+
init_version();
|
|
96920
96935
|
envoltoriosPorDoc = /* @__PURE__ */ new WeakMap();
|
|
96921
96936
|
SINCRONIZAR = 0;
|
|
96922
96937
|
PRESENCIA = 1;
|
|
@@ -96966,7 +96981,7 @@ function laPesta\u00F1aSigueViva() {
|
|
|
96966
96981
|
function obraAbierta() {
|
|
96967
96982
|
if (abierta && !laPesta\u00F1aSigueViva()) {
|
|
96968
96983
|
throw new ProblemaConLaObra(
|
|
96969
|
-
"La pesta\xF1a de Mandioca Tabs se desconect\xF3. Lo \xFAltimo que se sincroniz\xF3 sigue en memoria, pero **ya no es lo que el m\xFAsico tiene en pantalla** y escribir ah\xED no lo ver\xEDa nadie. P\xEDdele que vuelva a abrir el programa y apriete \xABConectar
|
|
96984
|
+
"La pesta\xF1a de Mandioca Tabs se desconect\xF3. Lo \xFAltimo que se sincroniz\xF3 sigue en memoria, pero **ya no es lo que el m\xFAsico tiene en pantalla** y escribir ah\xED no lo ver\xEDa nadie. P\xEDdele que vuelva a abrir el programa y apriete \xABConectar IA\xBB, el bot\xF3n de la barra de estado."
|
|
96970
96985
|
);
|
|
96971
96986
|
}
|
|
96972
96987
|
if (!abierta) {
|
|
@@ -122340,6 +122355,9 @@ function registrarHerramientasDelDocumento(servidor2) {
|
|
|
122340
122355
|
);
|
|
122341
122356
|
}
|
|
122342
122357
|
|
|
122358
|
+
// apps/mcp/src/servidor.ts
|
|
122359
|
+
init_version();
|
|
122360
|
+
|
|
122343
122361
|
// apps/mcp/src/herramientas/puente.ts
|
|
122344
122362
|
init_src2();
|
|
122345
122363
|
init_src3();
|
|
@@ -122371,7 +122389,7 @@ function registrarHerramientasDelPuente(servidor2) {
|
|
|
122371
122389
|
"conectar_con_la_app",
|
|
122372
122390
|
{
|
|
122373
122391
|
title: "Conectar con la aplicaci\xF3n abierta",
|
|
122374
|
-
description: "Se engancha a la obra que el m\xFAsico tiene abierta en el navegador, en vez de a un archivo del disco. A partir de ac\xE1, lo que se escriba aparece en su pantalla y lo que \xE9l escriba se ve desde ac\xE1. Requiere que \xE9l apriete \xABConectar
|
|
122392
|
+
description: "Se engancha a la obra que el m\xFAsico tiene abierta en el navegador, en vez de a un archivo del disco. A partir de ac\xE1, lo que se escriba aparece en su pantalla y lo que \xE9l escriba se ve desde ac\xE1. Requiere que \xE9l apriete \xABConectar IA\xBB, el bot\xF3n de la barra de estado (abajo del todo, dice \xABConectar IA\xBB).",
|
|
122375
122393
|
inputSchema: {
|
|
122376
122394
|
puerto: external_exports.number().int().min(1024).max(65535).optional().describe(`El puerto del puente. Por omisi\xF3n ${PUERTO_POR_OMISION}.`)
|
|
122377
122395
|
}
|
|
@@ -122390,7 +122408,7 @@ function registrarHerramientasDelPuente(servidor2) {
|
|
|
122390
122408
|
pesta\u00F1asConectadas: p.pesta\u00F1as(),
|
|
122391
122409
|
// ⚠️ Se dice lo que falta, sin adornarlo. Si no hay pestaña, el asistente tiene que
|
|
122392
122410
|
// saberlo ANTES de prometerle algo al músico — no descubrirlo al primer fallo.
|
|
122393
|
-
siguiente: conectadas.length > 1 ? `Hay ${conectadas.length} obras abiertas. Mira \`obras_conectadas\` y elige una con \`elegir_obra\`, por su letra, antes de escribir nada.` : p.pesta\u00F1as() > 0 ? "Ya hay una pesta\xF1a conectada: la obra que se lee y se escribe es la suya." : "Todav\xEDa no hay ninguna pesta\xF1a. P\xEDdele que abra Mandioca Tabs y active P\xEDdele que apriete \xABConectar
|
|
122411
|
+
siguiente: conectadas.length > 1 ? `Hay ${conectadas.length} obras abiertas. Mira \`obras_conectadas\` y elige una con \`elegir_obra\`, por su letra, antes de escribir nada.` : p.pesta\u00F1as() > 0 ? "Ya hay una pesta\xF1a conectada: la obra que se lee y se escribe es la suya." : "Todav\xEDa no hay ninguna pesta\xF1a. P\xEDdele que abra Mandioca Tabs y active P\xEDdele que apriete \xABConectar IA\xBB, el bot\xF3n de la barra de estado (abajo del todo, dice \xABConectar IA\xBB)."
|
|
122394
122412
|
});
|
|
122395
122413
|
}
|
|
122396
122414
|
);
|
|
@@ -122414,7 +122432,7 @@ function registrarHerramientasDelPuente(servidor2) {
|
|
|
122414
122432
|
...o.id === idDeLaActiva ? { activa: true } : {}
|
|
122415
122433
|
})),
|
|
122416
122434
|
activa: activa ? comoSeLlama(activa) : null,
|
|
122417
|
-
siguiente: conectadas.length === 0 ? "No hay ninguna. P\xEDdele que abra Mandioca Tabs y apriete \xABConectar
|
|
122435
|
+
siguiente: conectadas.length === 0 ? "No hay ninguna. P\xEDdele que abra Mandioca Tabs y apriete \xABConectar IA\xBB." : activa === null ? "Hay varias y ninguna elegida: `elegir_obra` con su letra antes de escribir." : conectadas.length > 1 ? `Se escribe en la ${activa.etiqueta} (\xAB${activa.titulo}\xBB). Para otra, \`elegir_obra\` con su letra.` : "Hay una sola y est\xE1 viva: es la activa."
|
|
122418
122436
|
});
|
|
122419
122437
|
}
|
|
122420
122438
|
);
|
|
@@ -125482,7 +125500,7 @@ function registrarHerramientasDeArchivo(servidor2) {
|
|
|
125482
125500
|
|
|
125483
125501
|
// apps/mcp/src/servidor.ts
|
|
125484
125502
|
var NOMBRE = "mandioca-tabs";
|
|
125485
|
-
var VERSION = "0.0.0";
|
|
125503
|
+
var VERSION = VERSION_DEL_CONECTOR ?? "0.0.0";
|
|
125486
125504
|
var INSTRUCCIONES = `
|
|
125487
125505
|
Mandioca Tabs es un editor de partitura y tablatura. Estas herramientas leen y escriben la
|
|
125488
125506
|
obra del m\xFAsico.
|
package/package.json
CHANGED