midi-composer-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MIDI_COMPOSER_OUTPUT_DIR | No | Override the default output directory for MIDI files (default is ./midi_output) | ./midi_output |
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": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_scalesA | List every scale type in the database with intervals, degree labels and aliases. Use a scale type's name (or any alias) with get_scale, match_scales, diatonic_chords and degrees_to_chords. |
| list_chordsA | List every chord type in the database with intervals, degree labels, symbol suffixes and aliases. Use a chord type's name or symbol suffix with get_chord, and root+suffix symbols (e.g. 'Am', 'G7', 'F#m7b5') anywhere a chord symbol is accepted. |
| get_scaleA | Describe a scale type; with a root note, generate its notes. Without |
| get_chordA | Describe a chord type; with a root note, generate its notes. Without |
| match_scalesA | Find scales that contain all of the given notes (octaves are ignored).
|
| match_chordsA | Find chords that match the given notes (octaves are ignored). 'exact' matches use exactly the input pitch classes; when the first input
note is not the chord root the inversion is reported with slash notation
(e.g. 'E G C' -> C/E, first inversion). 'partial' matches are chords that
contain all input notes plus the listed |
| diatonic_chordsA | List the chord built on each degree of a scale (triads, or sevenths). E.g. diatonic_chords('C', 'major') -> I=C, ii=Dm, iii=Em, IV=F, V=G, vi=Am, vii°=Bdim. Seven-note scales also get roman numerals, degree names and harmonic functions (tonic/subdominant/dominant) — the raw material for designing a progression yourself; then resolve it with degrees_to_chords. A root with an octave (e.g. 'C4') yields concrete pitches with MIDI numbers. |
| degrees_to_chordsA | Resolve a chord-degree sequence you chose into concrete chords of a scale.
|
| random_notesA | Pick The pool is any notes array — typically from get_scale or get_chord, e.g.
random notes from A minor pentatonic. Octaves in the pool are kept.
Reproducible via |
| random_rhythmA | Roll a random rhythm pattern of Returns a pattern string like 'O...Oo..' where O = strong beat, o = weak
beat, . = pause. |
| notes_to_midiA | Write a note sequence (scale, arpeggio or melody) to a MIDI file. Plays the notes in order, one per |
| chords_to_midiA | Write a chord sequence to a MIDI file (block chords, or arpeggiated).
|
| song_to_midiA | Write a melody plus chord accompaniment into one two-track MIDI file. Track 1 plays |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/voho/midi-composer-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server