evox-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| EVOX_BIN | No | Path to the evox CLI executable. | evox |
| EVOX_READ_ONLY | No | When true, rejects mutating tools (init_songbook, update_cover, create_song, update_song, delete_song, generate_songbook). | false |
| EVOX_TIMEOUT_MS | No | Subprocess timeout for Evox CLI commands in milliseconds. | 30000 |
| EVOX_PROJECT_DIR | No | Path to default songbook project directory. | Current working directory |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| init_songbookB | Initializes a new Evox songbook project directory structure (book/, cover/, songs/) using 'evox init'. |
| get_songbookA | Returns comprehensive status of the songbook: directory initialization, cover settings, logo presence, song summaries in alphabetical print order, stray file warnings, and PDF build freshness. |
| get_coverB | Reads cover/config.yml configuration (header, logo dimensions, footer) and logo image file status. |
| update_coverA | Updates cover/config.yml settings (header titles/padding, logo size/image name, footer title/size) and optionally copies a new local image into cover/. |
| generate_songbookA | Compiles the songbook into book/book.pdf using 'evox generate'. Automatically cleans stray OS files from songs/, validates all song syntax, and returns the generated PDF details with the alphabetical Table of Contents. |
| list_songsA | Lists all songs in the songbook in alphabetical print order (matching the order in the compiled PDF and Table of Contents). |
| get_songA | Retrieves the full structured AST for a song by slug (including title, artist, font, column width, gutter, and all column/stanza lines with chord-lyric pairs). |
| create_songB | Creates a new song from a validated structured AST. Automatically formats and serializes to .evox markup. |
| update_songB | Updates an existing song. Supports partial metadata changes, replacing columns, and/or renaming the song slug. |
| delete_songC | Deletes a song (.evox file) from the songs/ folder. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| import_chord_sheet | Transforms an external chord sheet, tab, or lyric sheet into an Evox-compatible Song AST with aligned chords and lyrics. |
| build_songbook | Guides the end-to-end creation of a themed songbook: initializing directory, customizing cover page, importing/authoring songs, and generating the final PDF. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| songbook-status | Live status of the configured songbook project, cover settings, logo status, and PDF compilation state. |
| songs-list | List of all songs in the songbook in alphabetical print order. |
TDQS
Scored across 10 tools
Each tool maps to a distinct resource+action pair: songbook-level (init/get/generate), cover (get/update), and song CRUD (list/get/create/update/delete). There is mild overlap in that get_songbook returns song summaries and cover status, which partially duplicates list_songs and get_cover, but the descriptions make the intended granularity clear.
All ten tools follow a strict verb_noun snake_case pattern (init_songbook, get_cover, update_song, delete_song, generate_songbook). The only variation is domain-specific verb choice (init vs create, generate), which is still readable and predictable.
At 10 tools the surface is well-scoped: one init, one status, one build, two cover operations, and five song operations. No tool appears redundant or out of place for a songbook CLI wrapper.
Full lifecycle is covered for songs (list/get/create/update/delete) plus project init, status, cover config, and PDF generation. Minor gaps exist: no way to remove the logo image or delete/reset the songbook project, but these are workaroundable and non-blocking for core workflows.