tuxguitar-claude-mcp
Click on "Install 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.
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 installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Generate AI music via the Lacuna Music API from MCP clients like Claude Desktop & Code.
Music studio: ABC notation composition and Strudel live coding with ext-apps UI.
Read, edit, publish, and preview your pepita websites from Claude.
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/feroxiphone-bot/tuxguitar-claude-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server