stagebook-mcp 0.1.2 → 0.1.3

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 CHANGED
@@ -21,7 +21,7 @@ Windsurf, Gemini CLI, OpenAI Codex CLI…).
21
21
  | Songs | `list_songs` (filters: text, tag, key), `get_song`, `create_song`, `update_song`, `delete_song`, `transpose_song`, `set_capo` |
22
22
  | Import | `import_song` (pasted lyrics/chords in any common format, or a song page address) |
23
23
  | Backing tracks | `set_backing_track` (OGG, MP3 or WAV from this computer), `remove_backing_track` |
24
- | Setlists | `list_setlists`, `get_setlist`, `create_setlist`, `update_setlist`, `delete_setlist` |
24
+ | Setlists | `list_setlists` (filter: name), `setlist_order` (newest or A to Z, the same as the app's tab), `get_setlist`, `create_setlist`, `update_setlist`, `delete_setlist` |
25
25
  | Receiving | `receive_by_code` (the 3 words), `receive_create`, `band_inbox`, `band_sync`, `open_band_item` |
26
26
  | Backup | `restore_backup` (inspect a `.stagebook` file, add what's missing or replace the library) |
27
27
 
package/README.pt-BR.md CHANGED
@@ -21,7 +21,7 @@ Copilot, Windsurf, Gemini CLI, OpenAI Codex CLI…).
21
21
  | Músicas | `list_songs` (filtros: texto, tag, tom), `get_song`, `create_song`, `update_song`, `delete_song`, `transpose_song`, `set_capo` |
22
22
  | Importar | `import_song` (letra e cifra coladas em qualquer formato comum, ou o endereço de uma página) |
23
23
  | Backing tracks | `set_backing_track` (OGG, MP3 ou WAV do computador), `remove_backing_track` |
24
- | Setlists | `list_setlists`, `get_setlist`, `create_setlist`, `update_setlist`, `delete_setlist` |
24
+ | Setlists | `list_setlists` (filtro: nome), `setlist_order` (recentes ou A a Z, o mesmo da aba do app), `get_setlist`, `create_setlist`, `update_setlist`, `delete_setlist` |
25
25
  | Receber | `receive_by_code` (as 3 palavras), `receive_create`, `band_inbox`, `band_sync`, `open_band_item` |
26
26
  | Backup | `restore_backup` (ver o que um arquivo `.stagebook` tem, juntar o que falta ou substituir a biblioteca) |
27
27
 
@@ -85,7 +85,7 @@ O app do ChatGPT só se conecta a servidores remotos (pela internet), então nã
85
85
  2. Peça ao assistente para conectar no Stagebook. Ele procura na rede (ou você passa o endereço) e o tablet mostra um
86
86
  pedido com um código. Se mais de um tablet com o Stagebook responder (uma banda no mesmo Wi-Fi), ele pergunta qual
87
87
  endereço é o seu; se o endereço do seu tablet mudou, ele procura de novo.
88
- 3. Se o código bater, toque em **Permitir** no tablet. A chave fica guardada neste computador
88
+ 3. Se o código bater, toque em **Autorizar** no tablet. A chave fica guardada neste computador
89
89
  (`~/.config/stagebook-mcp/config.json`, que só você lê); da próxima vez ele conecta sem perguntar.
90
90
 
91
91
  O editor desliga sozinho no tablet quando fica sem uso: ligue de novo quando quiser usar o assistente. A chave dura 90
@@ -108,7 +108,7 @@ dias sem uso; **Ajustes → Editar no computador → Computadores autorizados**
108
108
  Abra **Ajustes do Sistema → Privacidade e Segurança → Rede Local** e ligue o app que roda o assistente (Claude,
109
109
  Terminal, iTerm, Cursor, VS Code…). Depois reabra esse app.
110
110
  - **"No longer accepts this computer's key"**: a chave foi removida no tablet ou passou 90 dias sem uso. Conecte de novo.
111
- - **"Already showing a request, or one was just denied"**: responda o pedido no tablet; depois de um Negar, ele espera
111
+ - **"Already showing a request, or one was just denied"**: responda o pedido no tablet; depois de um Recusar, ele espera
112
112
  5 minutos para aceitar outro.
113
113
  - **"Not found on the tablet, or that part is turned off"**: receber por código precisa da internet ligada, e as
114
114
  ferramentas de banda precisam da banda ligada, nos Ajustes do tablet.
package/dist/server.js CHANGED
@@ -250,10 +250,21 @@ export function buildServer(client) {
250
250
  // ---------- setlists ----------
251
251
  server.registerTool("list_setlists", {
252
252
  title: "List setlists",
253
- description: "The setlists (id, name, number of songs).",
254
- inputSchema: {},
253
+ description: "The setlists (id, name, number of songs), in the order the app's Setlists tab shows them. Optional filter.",
254
+ inputSchema: { query: z.string().optional().describe("Part of the name (accents and case ignored).") },
255
255
  annotations: { readOnlyHint: true },
256
- }, safe(async () => text(await client.get("/api/sets"))));
256
+ }, safe(async ({ query }) => {
257
+ const sets = (await client.get("/api/sets"));
258
+ return text(query ? sets.filter((s) => norm(s.name).includes(norm(query))) : sets);
259
+ }));
260
+ server.registerTool("setlist_order", {
261
+ title: "Setlists order",
262
+ description: "Reads the order of the app's Setlists tab or, with order, changes it there: newest first or A to Z.",
263
+ inputSchema: { order: z.enum(["newest", "abc"]).optional().describe("Leave it out to only read the current order.") },
264
+ }, safe(async ({ order }) => {
265
+ const now = order ? await client.send("PUT", "/api/sets-order", { abc: order === "abc" }) : await client.get("/api/sets-order");
266
+ return text({ order: now.abc ? "abc" : "newest" });
267
+ }));
257
268
  server.registerTool("get_setlist", {
258
269
  title: "Get a setlist",
259
270
  description: "A setlist with its songs in order (a song deleted from the library shows with an empty title).",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "stagebook-mcp",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "description": "MCP server for Stagebook: lets AI assistants (Claude Code, Claude Desktop, Cursor, VS Code, Gemini CLI, Codex…) read and edit the songs and setlists on your Stagebook tablet over the local network.",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "Juliano Affonso",