nobu
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| NOBU_SF2 | No | Override for the SoundFont file path. | |
| NOBU_MIDI_DIR | No | Override for the MIDI directory. | |
| FLUID_SYNTH_SF2 | No | Alternative override for the SoundFont file path. | |
| NOBU_OUTPUT_DIR | No | Override for the output audio 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
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| start_projectA | ALWAYS call this tool first, before any other, when composing a game track. Creates an empty project where layers (independent channels: melody, harmony, bass, drums) are added one by one via add_layer. Each layer may have a completely different length and rhythm from the others (e.g. a 4-note bass loop while the melody plays a 32-note phrase), matching how independent channels work on real NES/SNES hardware. |
| suggest_scale_for_moodA | Use this tool BEFORE composing any melody, harmony, or bass line. It maps the scene's EMOTION/MOOD to the technically correct musical scale (VGM theory: major = joy/safe town, dorian = heroic/adventure, phrygian = hostile/exotic, natural_minor = melancholy/dungeon, mixolydian = folk/open road, lydian = magical/dreamlike, minor_pentatonic = tension/combat). Accepted moods: safe_exploration, heroic_exploration, nostalgic_town, melancholic_dungeon, hostile_exotic_biome, magical_dreamlike, combat, victory, classic_retro. Returns the chosen scale AND a list of MIDI pitches ready for add_layer — no need to invent note numbers from memory. |
| generate_scaleA | Generate the correct MIDI notes for a musical scale, to use as a palette of valid pitches when composing. Use this tool (or suggest_scale_for_mood) ALWAYS before inventing note numbers manually — that avoids out-of-key / random-sounding melodies. scale_type accepts: major, natural_minor, major_pentatonic, minor_pentatonic, dorian, mixolydian, phrygian, lydian. |
| add_layerA | Add ONE independent layer/channel to the project. Call this tool multiple times to stack as many layers as you want (melody, harmony, bass, drums) — each layer has its own length and rhythm, without needing to match the others in note count. layer_type accepts: 'melody', 'harmony', 'bass', 'drums'. Format of 'notes': each item is [pitch_or_piece, start_time_in_beats, duration_in_beats, optional_velocity_0_to_127]. If layer_type='drums', pitch may be a string ('kick', 'snare', 'closed_hihat', 'open_hihat', 'crash', 'ride', 'clap', 'rimshot', 'low_tom', 'mid_tom', 'high_tom') or a GM percussion MIDI number. Portuguese drum names are also accepted. swing_offset: add a fixed offset (in beats, e.g. 0.02 to 0.08) to every ODD-index note, simulating light swing/humanization. Use 0.0 for straight quantized rhythm (classic chiptune aesthetic). For deliberate off-beats (e.g. hi-hat on 0.5, 1.5, 2.5), place start_time directly in the notes list — no swing_offset needed. chiptune_program (ignored if layer_type='drums'): 'pulse_lead' (melody, NES pulse timbre, GM 80), 'pulse_harmony' (countermelody, GM 81), 'triangle_bass' (bass, NES triangle approx, GM 38). |
| set_tempo_changeA | Schedule a tempo (BPM) change at a specific absolute beat. Use for horizontal resequencing inside a single file — e.g. speed up when entering boss phase 2, or slow down for tension before a climax. |
| list_layersA | List all layers already added to the project, with note counts and duration for each. Use before export_midi to verify that every planned layer (melody, bass, drums, harmony) was actually added, or to decide whether to add more. |
| export_midiA | Render all project layers into a single multi-track .mid file. Call last, after all add_layer calls. Returns loop metadata (beats and bars) for configuring loop points in the engine (Godot/Unity/ FMOD/Wwise), since MIDI does not store that natively. Default destination_dir is assets/midi/ (or NOBU_MIDI_DIR). |
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/francescojr/nobu'
If you have feedback or need assistance with the MCP directory API, please join our Discord server