Skip to main content
Glama
boraswim
by boraswim

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
BOSCA_CEOIL_PATHNoPath to the Bosca Ceoil Blue executable or the folder containing it. Equivalent to the --app-path argument. If omitted, the server searches common locations such as Downloads, Desktop, Applications, Games, Program Files, and itch.io's folder.
BOSCA_CEOIL_HEADLESSNoSet to 1 to run Bosca Ceoil Blue without a window or sound. Equivalent to the --headless argument. Useful for automation, but WAV exports take about twice as long, and unsaved work is lost 30 seconds after the AI tool disconnects.0

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

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
app_statusA

Reports whether Bosca Ceoil Blue is running, plus its version, the current song's summary, and playback and export state. Doesn't start the app.

launch_appA

Starts Bosca Ceoil Blue. Other tools do this on demand, so it's only needed to choose the mode or to open the window before working.

quit_appC

Closes Bosca Ceoil Blue.

screenshot_appA

Captures the app's window as an image, to check what the user is seeing. Not available without a window.

focusC

Shows something in the app's window: selects a pattern for the note grid, selects an instrument, or switches views.

create_songA

Replaces the open song with a new one, optionally built in one go from settings, instruments, patterns and an arrangement. This is the quickest way to write a song. Without instruments and patterns, you get the app's default: one Grand Piano, and one empty pattern on bar 0.

open_songC

Opens a .ceol song file.

import_midiA

Replaces the open song with one imported from a MIDI file. Bosca is a step sequencer, so complex timing may not survive.

save_songA

Saves the song as a .ceol file. Songs aren't saved automatically.

export_songA

Exports the song as audio or music data: wav (rendered audio), mid (MIDI), mml (SiON MML) or xm (FastTracker). A WAV renders at about playback speed or slower, so a long one returns state "rendering"; follow it up with export_status. A finished WAV reports its duration, peak and RMS, to help catch silent or clipped results.

export_statusA

Reports how the current or most recent WAV export is going. The song can't be edited while it renders.

get_songA

Returns the whole song: settings, instruments, patterns with their notes, and the arrangement. Notes are in the same form the editing tools take.

update_songB

Changes song settings. Takes effect immediately, even during playback.

list_voicesA

Lists the app's voices (over 300), to pick from when adding an instrument. Filter them, since the full list is long.

get_drumkitA

Lists the items of a drumkit voice. In a drumkit pattern, each 'note' is one of these items instead of a pitch.

add_instrumentB

Adds an instrument to the song. A song can have 16.

update_instrumentA

Changes an instrument's voice or settings. Every pattern using it changes too. Switching a pattern's instrument to a drumkit drops notes that have no matching item.

remove_instrumentB

Removes an instrument. Later instruments move down one index, and patterns using it switch to instrument 0.

add_patternA

Adds a pattern and returns its index. It won't play until the arrangement uses it. Notes are absolute pitches, so the key and scale don't move them; they must fit that key and scale.

update_patternA

Edits a pattern's notes, key, scale, instrument or filter automation, as one undo step. Changing the key transposes its notes, like the app does. Changing the scale removes notes that don't fit it.

clone_patternB

Copies a pattern to a new index, as a starting point for a variation.

remove_patternB

Removes a pattern and clears it from the arrangement. Later patterns move down one index.

edit_arrangementB

Places patterns on the timeline. Each bar plays up to 8 patterns at once, on separate channels. Writes whole bars starting at at_bar, leaving other bars alone. Unless a loop is given, the loop then covers the whole song.

playA

Plays the song through the user's speakers, looping until stopped. The AI tool can't hear it, so use this when the user wants to listen.

pauseA

Pauses playback, keeping the position.

stopA

Stops playback and goes back to the start of the loop.

undoA

Undoes the last edit, made by the user or by a tool. The app keeps 40 steps. Opening or creating a song clears them.

redoA

Redoes the last undone edit.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.5/5.0

Scored across 28 tools

Disambiguation4/5

Each tool targets a clearly distinct resource or operation, and the descriptions actively disambiguate the risky pairs (create_song vs open_song vs import_midi all replace the song; add_pattern vs clone_pattern both create patterns). Minor soft spots remain: export_song vs export_status and launch_app vs app_status are adjacent, and 'focus' is broad enough to be mistaken for a view/selection helper, but the descriptions resolve these.

Naming Consistency4/5

The dominant pattern is verb_noun (create_song, update_pattern, remove_instrument, list_voices, export_status), applied consistently across the song/instrument/pattern families. Deviations are small and idiomatic: bare intransitive verbs (play, pause, stop, undo, redo) and noun-style status tools (app_status, export_status) break the strict pattern but remain predictable and readable.

Tool Count3/5

28 tools is at the heavy end and pushes past the comfortable 3-15 band, though the domain (song, instruments, patterns, arrangement, playback, export, app lifecycle) is broad enough that most tools map to a real operation. A few could be consolidated without loss, e.g. play/pause/stop, export_song/export_status, and launch_app/quit_app/app_status, which is why this lands borderline rather than well-scoped.

Completeness4/5

Coverage is strong across the full lifecycle: app start/stop, song create/open/import/save/export, instrument and pattern CRUD with cloning, arrangement editing, playback, and undo/redo. Gaps are minor and workaroundable: there is no per-pattern or per-instrument getter (get_song dumps everything) and no way to delete a song file or close a song without replacing it.

Maintenance

ActivityMaintained
ResponsivenessNo issues