nc://clef

v0.1.0Pinned
ThomSharktools/nodecode-clef: Clef's four music tools: transpose chords, spell piano chords, map guitar tab to notes, find guides. - a rewrite of MelMayssonOwen/hermes-plugins (MIT), credited to MelMayssonOwen835216e· 10 Nov1 commit
test2 fileschords.lisp4.2 KBtools.lisp11.7 KBwire.lisp6.3 KB

nodecode-clef

Clef Music Tools: transpose chord symbols, spell piano chords, map ASCII guitar tab to piano notes and find music guides. A Nodecode rewrite of MelMayssonOwen/hermes-plugins by MelMayssonOwen.

Get it

Tell the agent "add the clef cell", or run nodecode add nc://clef.

Set it up

No account and no key: the four tools ask Clef's public MCP server at https://clefdrills.com/mcp, which is the endpoint the original plugin's mcp.json named. Nothing is required in the clef section; two settings are worth knowing:

Setting Default What it does
endpoint https://clefdrills.com/mcp the MCP server the three server tools and the guide search are asked
timeout_seconds 30 seconds one call may take
offline_transpose true answer transpose_chords in the cell, as the plugin's offline helper did, instead of asking the server

What the tools send to clefdrills.com is the chords, tab or words you give them, and nothing else. With offline_transpose on (the default), transposition makes no request at all.

Use it

Ask for the music and the model picks the tool:

  • "transpose this to D" - transpose_chords, the chords moved by an interval, spelled with sharps or flats.
  • "what notes are in a Cmaj7?" - spell_piano_chord, the pitches with their MIDI values.
  • "turn this tab into piano notes" - tab_to_piano_notes, one line a column, lowest note first, with the server's caution that spacing is not rhythm.
  • "find me a guide on capos" - find_music_guides, Clef's instructional guides with their urls.

From eval, and from /clef:

(clef:transpose "C G Am F" 2)              ; => the chords, in the cell
(clef:spell-chord "Cmaj7" :octave 4)       ; => C4 (midi 60), E4 (midi 64), ...
(clef:tab-notes "e|-0-| ..." :capo 0)      ; => the columns as piano pitches
(clef:guides "guitar")                     ; => the guides, with urls

/clef +2 C G Am F transposes, /clef chord Cmaj7 spells, and /clef guides guitar finds; /clef alone says what the cell gives. (help :clef) is the longer manual.

What is in it

File What it is
wire.lisp Clef's MCP server as JSON-RPC over the image's own HTTP call: tools/call, the structured answer, the refusal a refused call carries.
chords.lisp The plugin's offline transposition helper, ported: chord roots moved, words left alone, no network.
tools.lisp The four tools' contracts and the four verbs they share, plus /clef.
cell.lisp The section, the tools, the command and the manual topic.

License

MIT. The original is Copyright (c) 2026 Opsibyte: see LICENSE and NOTICE.

Add nc://clef

  1. 1

    Install Nodecode

    Once per machine.

    $ curl -fsSL https://nodecode.ai/install.sh | sh
  2. 2

    Add the cell

    Pinned at 835216e.

    $ nodecode add nc://clef

    Or tell the agent add the clef cell.