loading…
Search for a command to run...
loading…
A Message Control Protocol (MCP) server for manipulating Guitar Pro files. It provides tools for opening, modifying, and saving Guitar Pro files through a stand
A Message Control Protocol (MCP) server for manipulating Guitar Pro files. It provides tools for opening, modifying, and saving Guitar Pro files through a standardized interface.
A Message Control Protocol (MCP) server for manipulating Guitar Pro files. This server provides a set of tools for opening, modifying, and saving Guitar Pro files through a standardized interface.
Note: Currently, only Guitar Pro 5 (.gp5) format has been tested. Support for other formats (.gp3, .gp4) may be limited or untested.
pip install uv
# Create virtual environment
uv venv
# Activate virtual environment
# On Unix/macOS:
source .venv/bin/activate
# On Windows(cmd):
call .venv\Scripts\activate.bat
uv pip install .
You can run the server using uv directly:
uv --directory <project_path> run -m src.run_mcp_server
For example, on Windows:
uv --directory C:\path\to\guitar_pro_mcp2 run -m src.run_mcp_server
Or using the Python module directly after installation:
python -m src.run_mcp_server
pip install guitar-pro-mcp
git clone https://github.com/yourusername/guitar-pro-mcp.git
cd guitar-pro-mcp
# Install in development mode with all dependencies
pip install -e ".[dev]"
# Or install without development dependencies
pip install -e .
python src/run_mcp_server.py
load_guitar_pro: Load a Guitar Pro file
file_path (path to the .gp5 file)save_guitar_pro: Save the current song to a Guitar Pro file
file_path (path to save the file)get_song_info: Get basic information about the currently loaded song
get_song_statistics: Get detailed statistics about the current song
get_gp_tracks: Get a list of tracks in the current Guitar Pro song
get_track_notes: Get all notes from a specific track
track_index (index of the track)add_gp_track: Add a new track to the Guitar Pro song
name (name of the track)set_track_properties: Set properties of a track
track_index: Index of the trackname: New track name (optional)instrument: Instrument ID (optional)volume: Volume level (optional)pan: Pan position (optional)add_gp_measure: Add a new measure to the Guitar Pro song
set_gp_time_signature: Set the time signature for a measure
measure_index, numerator, denominatorset_gp_key_signature: Set the key signature for a measure
measure_index, keyset_gp_tempo: Set the tempo for a measure
measure_index, tempoadd_gp_note: Add a note to a specific track and measuretrack_index: Index of the trackmeasure_index: Index of the measurestring: String numberfret: Fret numberduration: Note duration (default: 4)voice_index: Voice index (default: 0)beat_index: Beat index (default: 0)export_to_midi: Export the current song to MIDI format
file_pathexport_to_json: Export the current song to JSON format
file_pathimport_from_json: Import a song from JSON format
file_pathget_track_tab: Generate ASCII tab representation of a tracktrack_indexadd_repeat_group: Add a repeat group to the song
start_measure: Starting measure indexend_measure: Ending measure indexrepeat_type: Type of repeat ("normal", "alternate", "repeat_1st", "repeat_2nd")repeat_count: Number of times to repeat (default: 2)endings: List of ending numbers (optional)get_repeat_groups: Get all repeat groups in the song
add_section: Add a section to the song
start_measure: Starting measure indexend_measure: Ending measure indexname: Section nametext: Optional section textcolor: Optional section color as RGB tupleget_sections: Get all sections in the song
add_coda: Add a coda marker to a measure
measure_indexadd_double_bar: Add a double bar line to a measure
measure_indexget_song_structure: Get the complete song structure
sections: List of all sectionsrepeat_groups: List of all repeat groupsmarkers: List of all markers (codas, double bars, etc.)set_lyrics: Set the lyrics for the current song
lyrics (string containing the lyrics)get_lyrics: Get the lyrics of the current song
set_page_setup: Set the page setup for the current song
page_setup (dictionary containing page setup properties)get_page_setup: Get the page setup of the current song
set_advanced_metadata: Set advanced metadata for the current song
metadata (dictionary containing metadata properties)get_advanced_metadata: Get advanced metadata of the current song
add_chord: Add a chord to a specific beat
track_index: Index of the trackmeasure_index: Index of the measurebeat_index: Index of the beatchord_data: Dictionary containing chord propertiesget_chord: Get the chord from a specific beat
track_index: Index of the trackmeasure_index: Index of the measurebeat_index: Index of the beatClaude configuration (with uv run):
{
"mcpServers": {
"guitar-pro-mcp": {
"type": "stdio",
"command": "uv",
"args": [
"--directory",
"<path to folder>",
"run",
"-m",
"src.run_mcp_server"
]
}
}
}
Claude configuration (direct usage):
{
"mcpServers": {
"guitar-pro-mcp": {
"type": "stdio",
"command": "python",
"args": [
"<path to folder>\\src\\run_mcp_server.py"
]
}
}
}
{
"mcpServers": {
"guitar-pro-mcp": {
"type": "stdio",
"command": "uv",
"args": [
"--directory",
"<path to folder>",
"run",
"-m",
"src.run_mcp_server"
]
}
}
}
The implementation uses the PyGuitarPro library to parse and manipulate Guitar Pro files. The MCP server provides a simple API to access the functionality of the PyGuitarPro library.
This project is licensed under the MIT License.
Run in your terminal:
claude mcp add guitar-pro-mcp -- npx Security
Low riskAutomated heuristic from public metadata — not a security guarantee.