@hidechae/eztab-mcp 0.1.1 → 0.1.2

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.
Files changed (2) hide show
  1. package/dist/server.js +8 -3
  2. package/package.json +1 -1
package/dist/server.js CHANGED
@@ -393,7 +393,12 @@ function enterClientMode() {
393
393
  };
394
394
  connect();
395
395
  }
396
- var server = new McpServer({ name: "eztab", version: "0.2.0" });
396
+ var server = new McpServer(
397
+ { name: "eztab", version: "0.2.0" },
398
+ {
399
+ instructions: "All indices are 0-based: measure 0 is the first measure, beat 0 is the first beat of a measure, string 0 is the top (highest) string, and column 0 is the first column. add_measures `at` is a 0-based insert position too. No need to ask the user about indexing."
400
+ }
401
+ );
397
402
  function text(s) {
398
403
  return { content: [{ type: "text", text: s }] };
399
404
  }
@@ -540,7 +545,7 @@ server.tool(
540
545
  );
541
546
  server.tool(
542
547
  "set_cells",
543
- "Set tab cells. value: a fret number (0-24), 'rest' (stops a sustaining note), 'mute' (a muted/dead 'x' stroke for cutting), or 'clear' (empty = previous note sustains through). Optional `bend` (0.5, 1, or 1.5 semitones) chokes a fret-number note. Optional `tie` (boolean) ties/slurs a fret-number note to the previous note on the same string \u2014 a matching pitch just sustains (no re-pick), a different pitch is a slur. string/column are 0-based; string 0 is the top line.",
548
+ "Set tab cells. value: a fret number (0-24), 'rest' (stops a sustaining note), 'mute' (a muted/dead 'x' stroke for cutting), or 'clear' (empty = previous note sustains through). Optional `bend` (0.5, 1, or 1.5 semitones) chokes a fret-number note. Optional `tie` (boolean) ties/slurs a fret-number note to the previous note on the same string \u2014 a matching pitch just sustains (no re-pick), a different pitch is a slur. measure/string/column are all 0-based (measure 0 = the first measure, string 0 = the top line).",
544
549
  {
545
550
  edits: z.array(
546
551
  z.object({
@@ -585,7 +590,7 @@ server.tool(
585
590
  );
586
591
  server.tool(
587
592
  "set_chords",
588
- "Set chord labels per beat (0-based). An empty label clears that beat's chord.",
593
+ "Set chord labels per beat. `measure` and `beat` are 0-based (measure 0 = the first measure, beat 0 = the first beat). An empty label clears that beat's chord.",
589
594
  {
590
595
  edits: z.array(
591
596
  z.object({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hidechae/eztab-mcp",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "description": "MCP server for EZTab — lets an AI agent edit the tab the EZTab app has open, live.",
5
5
  "type": "module",
6
6
  "bin": {