tuxguitar-claude-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@tuxguitar-claude-mcpCreate a guitar tab for the main riff of Smoke on the Water"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
tuxguitar-claude-mcp
An MCP server that lets Claude write guitar/bass tabs — tracks, tuning,
measures, notes, and tab effects like palm mute, tremolo picking, bends, and harmonics — directly
as .gp5 files that TuxGuitar can open.
This is Phase 1: file-based only. There is no live control of a running TuxGuitar instance (that would be a future Phase 2, not yet designed).
How it works
The MCP server (TypeScript, @modelcontextprotocol/sdk) holds an in-memory song state that Claude
builds up tool call by tool call — create tracks, add measures, set tuning, insert beats and notes.
save_song hands that state to a small Java helper (song-writer/, built on the TuxGuitar
libraries themselves) which serializes it to a real .gp5 file.
Related MCP server: musescore-mcp
Requirements
Windows, with TuxGuitar installed. The server shells out to the JRE bundled with that install (
jre\bin\java.exe) and to TuxGuitar's own libraries to write valid.gp5files — TuxGuitar itself does not need to be running. Defaults toC:\Program Files\tuxguitar; override with theTUXGUITAR_HOMEenvironment variable if yours is installed elsewhere.Node.js (18+) for the MCP server.
Java 21 to build the Java helper once (e.g. Eclipse Temurin JDK 21). It is not needed at runtime — TuxGuitar's bundled JRE handles that.
Claude Code (or another MCP-compatible client) to register and use the server.
Setup
1. Build the Java song-writer
powershell -ExecutionPolicy Bypass -File song-writer\build.ps1Optional, run its tests:
powershell -ExecutionPolicy Bypass -File song-writer\test.ps12. Build the MCP server
npm install
npm run build
npm run test3. Register it with Claude Code
Add it to mcpServers in your Claude Code config (globally in ~/.claude.json, or in a project's
.mcp.json):
"tuxguitar": {
"type": "stdio",
"command": "node",
"args": ["<path-to-repo>\\dist\\index.js"],
"env": {}
}If TuxGuitar isn't installed at C:\Program Files\tuxguitar, set TUXGUITAR_HOME in env:
"env": { "TUXGUITAR_HOME": "D:\\Apps\\tuxguitar" }Restart Claude Code so it picks up the new server.
Tools
Tool | What it does |
| Checks that Java and the song-writer helper are reachable. |
| Starts a new, empty song (discards current state). |
| Sets title and/or artist of the current song. |
| Returns the current song state as JSON. |
| Writes the current song state out as a |
| Creates a new track (guitar/bass) with a tuning. |
| Lists all tracks of the current song. |
| Changes the tuning of an existing track. |
| Adds a new measure at the end of the song (applies to all tracks). |
| Sets the tempo (BPM) of an existing measure. |
| Sets the time signature of an existing measure. |
| Inserts an ordered list of beats (rhythmic slots with notes) into one track's measure. |
| Removes all beats of one track in a given measure. |
Manual integration test
Call
tuxguitar_ping— expect"ok".Call
new_song,create_track,add_measure,add_beats,save_songin sequence.Open the resulting
.gp5file in the real TuxGuitar app and check it visually/aurally.
Known limitations
Phase 1 only: no live control of a running TuxGuitar instance.
add_beatsdoesn't validate that beats fit within a measure's total length — silent overfill is accepted.Measures with no beats stay inconsistent: measure 0 is genuinely empty, later measures keep TuxGuitar's own auto-filled rest beat.
Windows-only.
Troubleshooting
"Unknown track_id" / "Unknown measure_index": check the order of calls — tracks and measures must exist before
add_beatsreferences them.tuxguitar_pingfails: check thatsong-writer\dist\tuxguitar-song-writer.jarexists (rerunbuild.ps1) and thatTUXGUITAR_HOME(or the defaultC:\Program Files\tuxguitar) points at a real TuxGuitar install.
License
This server cannot be deployed
Maintenance
Related MCP Connectors
Generate AI music via the Lacuna Music API from MCP clients like Claude Desktop & Code.
Turn Claude into a creative studio: DNA-locked characters, images, video, voiceover — 55 tools.
ABC sheet music + Strudel live coding studio with ext-apps widgets, harmony tools, and share links.
Claude Code / MCP skills for the dev pipeline: discover, spec, design, build, ship, operate.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables Claude AI to generate professional, production-ready MIDI files (chord progressions, drum patterns, bass lines, melodies, and full arrangements) compatible with any DAW including Logic Pro, Ableton Live, FL Studio, and more.8MIT
- FlicenseAqualityDmaintenanceEnables Claude AI to convert, edit, and analyze MuseScore files (.mscz, .musicxml, MIDI) through natural language commands, supporting format conversion, transposition, harmony analysis, and more.201-
- AlicenseBqualityDmaintenanceEnables Claude to observe and compose in Ableton Live 12 via AbletonOSC, allowing pair-programming-style collaboration for musicians.13MIT
- AlicenseNot gradedqualityBmaintenanceTwo-mode creative music studio for AI: scored composition (ABC notation with sheet music) and live performance (Strudel live coding with TidalCycles), with interactive UI rendering inline in Claude Desktop and other MCP clients.65 npm70MIT