AI Jam Sessions. Machine learning the old fashioned way.
An MCP server that teaches AI to play piano and guitar — and sing. 120 songs across 12 genres. Six sound engines. Interactive guitar tablature. A browser cockpit with vocal synthesizer. A practice journal that remembers everything. Plus jam-actions-v0, a 115-record public dataset of multi-turn MCP tool-use traces over classical piano.
Install
npm install -g @mcptoolshop/ai-jam-sessions
Play
ai-jam-sessions play fur-elise --engine piano --speed 0.7
Sing
ai-jam-sessions sing imagine --with-piano
What makes it tick
Five senses for a model that has none.
Reading
Real MIDI sheet music with deep musical annotations — parsed, analyzed, and explained. Not hand-written approximations.
Hearing
Six audio engines play through your speakers so the humans in the room become the AI's ears.
Seeing
Piano roll renders as SVG the model can read back. Interactive guitar tablature. Browser cockpit with visual keyboard.
Remembering
Practice journal persists across sessions. Next time, the AI reads its journal and picks up where it left off.
Singing
Vocal tract synthesis with 20 voice presets. Sing-along mode with solfege, contour, and syllable narration.
41 MCP Tools + 3 Prompts
Learn, play, sing, build, score — browse songs, transpose keys, mute hands, preview teaching cues, render piano rolls, write annotations, and journal reflections.
A Training Dataset to Match
jam-actions-v0 — a public corpus of 115 multi-turn MCP tool-use traces over classical piano, with a 7-axis release gate and cold-start reproducibility. CC-BY-SA-3.0-DE.
jam-actions-v0 — a public training dataset
Multi-turn MCP tool-use traces over real classical piano. Grounded tool-use over symbolic music — not just text generation.
115 records · 8 piano pieces
Public subset of the full corpus: 8 classical-piano arrangements from piano-midi.de (Beethoven, Bach, Schubert, Schumann, Mozart, Mendelssohn, Tchaikovsky). 16-record canonical post-repair baseline.
7-axis release gate
Absolute floor, margin compound, tool-use rate, correct-after-tool, misinterpretation count, stratum floor (all blocking); enriched-vs-non reporting (informational). Admits a ceiling-saturated bucket so trivial wins do not dilute harder strata.
Reproducible in under a minute
pnpm install, run the checksum verifier, run the release-gate CLI against the canonical baseline. .gitattributes pins LF for sha256 + dataset tree so it works on Windows native, macOS, Linux, and WSL.
Slice 22 baseline PASSES
The revised gate (axes 2 + 6 with ceiling_saturated_pass) admits the canonical baseline cleanly. The Slice 19 baseline still FAILS — kept as a regression diagnostic so the gate has teeth.
Cited and licensed end-to-end
CITATION.cff, Zenodo deposition metadata (13 fields, ISO 639-3 language code), CC-BY-SA-3.0-DE preserved across the MIDI arrangements (Krueger) and the annotations + traces + evals (mcp-tool-shop-org).
Honest about provenance
Two songs in the source corpus (Satie, Debussy) are NOT in the public subset because their piano-midi.de provenance could not be verified during URL audit. Excluded rather than included on faith.
Use the dataset
Verify the package
git clone https://github.com/mcp-tool-shop-org/ai-jam-sessions.git
cd ai-jam-sessions && pnpm install
# 273 checksum entries; ~2 seconds.
pnpm exec tsx scripts/verify-public-package-checksums.ts Reproduce the canonical PASS
pnpm exec tsx scripts/check-release-gate.ts \
datasets/jam-actions-v0-public/evals/\
slice21-fair-e3-baseline-results.json
# → "Verdict: PASS" Read the dataset card
# Full HF-format dataset card + YAML frontmatter
open datasets/jam-actions-v0-public/README.md
# Zenodo deposition metadata (13 fields)
cat datasets/jam-actions-v0-public/zenodo-metadata.json Cite it
# Citation File Format (CFF)
cat datasets/jam-actions-v0-public/CITATION.cff
# Bernd Krueger (piano-midi.de) for the MIDI arrangements.
# mcp-tool-shop-org for the annotations, traces, and evals.
# Both under CC-BY-SA-3.0-DE. Quick start
Install globally
npm install -g @mcptoolshop/ai-jam-sessions Claude Desktop config
{
"mcpServers": {
"ai_jam_sessions": {
"command": "npx",
"args": [
"-y", "-p",
"ai-jam-sessions",
"ai-jam-sessions-mcp"
]
}
}
} Play a song
# Play Fur Elise at 70% speed
ai-jam-sessions play fur-elise --speed 0.7
# View piano roll as SVG
ai-jam-sessions view autumn-leaves --measures 1-16
# Sing along with piano
ai-jam-sessions sing imagine --with-piano Guitar tablature
# View interactive guitar tab
ai-jam-sessions view-guitar greensleeves
# List tunings and voices
ai-jam-sessions list --genre folk Sound engines
Six engines plus a layered combinator that runs any two simultaneously.
Song library
120 songs across 12 genres. Each genre has a deeply annotated exemplar.
MCP tools
41 tools and 3 prompt templates across six categories: Learn, Play, Sing, Guitar, Build, and Score.