Musixmatch · Capability
Musixmatch API
The most powerful and legal way to display lyrics on your website or in your application. Musixmatch lyrics API is a robust service that permits you to search and retrieve lyrics in the simplest possible way.
What You Can Do
GET
Get album tracks get
— GET /album.tracks.get
/album.tracks.get
GET
Get album get
— GET /album.get
/album.get
GET
Get artist related get
— GET /artist.related.get
/artist.related.get
GET
Get artist albums get
— GET /artist.albums.get
/artist.albums.get
GET
Get artist search
— GET /artist.search
/artist.search
GET
Get artist get
— GET /artist.get
/artist.get
GET
Get matcher subtitle get
— GET /matcher.subtitle.get
/matcher.subtitle.get
GET
Get matcher track get
— GET /matcher.track.get
/matcher.track.get
GET
Get matcher lyrics get
— GET /matcher.lyrics.get
/matcher.lyrics.get
GET
Get track snippet get
— GET /track.snippet.get
/track.snippet.get
GET
Get track lyrics get
— GET /track.lyrics.get
/track.lyrics.get
GET
Get track subtitle get
— GET /track.subtitle.get
/track.subtitle.get
GET
Get track get
— GET /track.get
/track.get
GET
Get track search
— GET /track.search
/track.search
GET
Get chart tracks get
— GET /chart.tracks.get
/chart.tracks.get
GET
Get chart artists get
— GET /chart.artists.get
/chart.artists.get
MCP Tools
get-album-tracks-get
GET /album.tracks.get
read-only
idempotent
get-album-get
GET /album.get
read-only
idempotent
get-artist-related-get
GET /artist.related.get
read-only
idempotent
get-artist-albums-get
GET /artist.albums.get
read-only
idempotent
get-artist-search
GET /artist.search
read-only
idempotent
get-artist-get
GET /artist.get
read-only
idempotent
get-matcher-subtitle-get
GET /matcher.subtitle.get
read-only
idempotent
get-matcher-track-get
GET /matcher.track.get
read-only
idempotent
get-matcher-lyrics-get
GET /matcher.lyrics.get
read-only
idempotent
get-track-snippet-get
GET /track.snippet.get
read-only
idempotent
get-track-lyrics-get
GET /track.lyrics.get
read-only
idempotent
get-track-subtitle-get
GET /track.subtitle.get
read-only
idempotent
get-track-get
GET /track.get
read-only
idempotent
get-track-search
GET /track.search
read-only
idempotent
get-chart-tracks-get
GET /chart.tracks.get
read-only
idempotent
get-chart-artists-get
GET /chart.artists.get
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Musixmatch API
description: The most powerful and legal way to display lyrics on your website or in your application. Musixmatch lyrics
API is a robust service that permits you to search and retrieve lyrics in the simplest possible way.
tags:
- Musixmatch
- API
created: '2026-05-06'
modified: '2026-05-06'
capability:
consumes:
- type: http
namespace: musixmatch
baseUri: https://api.musixmatch.com/ws/1.1
description: Musixmatch API HTTP API.
authentication:
type: apikey
in: query
name: apikey
value: '{{MUSIXMATCH_TOKEN}}'
resources:
- name: album-tracks-get
path: /album.tracks.get
operations:
- name: get-album-tracks-get
method: GET
description: GET /album.tracks.get
inputParameters:
- name: format
in: query
type: string
description: 'output format: json, jsonp, xml.'
- name: callback
in: query
type: string
description: jsonp callback
- name: album_id
in: query
type: string
required: true
description: The musiXmatch album id
- name: f_has_lyrics
in: query
type: string
description: When set, filter only contents with lyrics
- name: page
in: query
type: number
description: Define the page number for paginated results
- name: page_size
in: query
type: number
description: Define the page size for paginated results.Range is 1 to 100.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: album-get
path: /album.get
operations:
- name: get-album-get
method: GET
description: GET /album.get
inputParameters:
- name: format
in: query
type: string
description: 'output format: json, jsonp, xml.'
- name: callback
in: query
type: string
description: jsonp callback
- name: album_id
in: query
type: string
required: true
description: The musiXmatch album id
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: artist-related-get
path: /artist.related.get
operations:
- name: get-artist-related-get
method: GET
description: GET /artist.related.get
inputParameters:
- name: format
in: query
type: string
description: 'output format: json, jsonp, xml.'
- name: callback
in: query
type: string
description: jsonp callback
- name: artist_id
in: query
type: string
required: true
description: The musiXmatch artist id
- name: page_size
in: query
type: number
description: Define the page size for paginated results.Range is 1 to 100.
- name: page
in: query
type: number
description: Define the page number for paginated results
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: artist-albums-get
path: /artist.albums.get
operations:
- name: get-artist-albums-get
method: GET
description: GET /artist.albums.get
inputParameters:
- name: format
in: query
type: string
description: 'output format: json, jsonp, xml.'
- name: callback
in: query
type: string
description: jsonp callback
- name: artist_id
in: query
type: string
required: true
description: The musiXmatch artist id
- name: s_release_date
in: query
type: string
description: Sort by release date (asc|desc)
- name: g_album_name
in: query
type: string
description: Group by Album Name
- name: page_size
in: query
type: number
description: Define the page size for paginated results.Range is 1 to 100.
- name: page
in: query
type: number
description: Define the page number for paginated results
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: artist-search
path: /artist.search
operations:
- name: get-artist-search
method: GET
description: GET /artist.search
inputParameters:
- name: format
in: query
type: string
description: 'output format: json, jsonp, xml.'
- name: callback
in: query
type: string
description: jsonp callback
- name: q_artist
in: query
type: string
description: The song artist
- name: f_artist_id
in: query
type: number
description: When set, filter by this artist id
- name: page
in: query
type: number
description: Define the page number for paginated results
- name: page_size
in: query
type: number
description: Define the page size for paginated results.Range is 1 to 100.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: artist-get
path: /artist.get
operations:
- name: get-artist-get
method: GET
description: GET /artist.get
inputParameters:
- name: format
in: query
type: string
description: 'output format: json, jsonp, xml.'
- name: callback
in: query
type: string
description: jsonp callback
- name: artist_id
in: query
type: string
required: true
description: The musiXmatch artist id
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: matcher-subtitle-get
path: /matcher.subtitle.get
operations:
- name: get-matcher-subtitle-get
method: GET
description: GET /matcher.subtitle.get
inputParameters:
- name: format
in: query
type: string
description: 'output format: json, jsonp, xml.'
- name: callback
in: query
type: string
description: jsonp callback
- name: q_track
in: query
type: string
description: The song title
- name: q_artist
in: query
type: string
description: The song artist
- name: f_subtitle_length
in: query
type: number
description: Filter by subtitle length in seconds
- name: f_subtitle_length_max_deviation
in: query
type: number
description: Max deviation for a subtitle length in seconds
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: matcher-track-get
path: /matcher.track.get
operations:
- name: get-matcher-track-get
method: GET
description: GET /matcher.track.get
inputParameters:
- name: format
in: query
type: string
description: 'output format: json, jsonp, xml.'
- name: callback
in: query
type: string
description: jsonp callback
- name: q_artist
in: query
type: string
description: The song artist
- name: q_track
in: query
type: string
description: The song title
- name: f_has_lyrics
in: query
type: number
description: When set, filter only contents with lyrics
- name: f_has_subtitle
in: query
type: number
description: When set, filter only contents with subtitles
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: matcher-lyrics-get
path: /matcher.lyrics.get
operations:
- name: get-matcher-lyrics-get
method: GET
description: GET /matcher.lyrics.get
inputParameters:
- name: format
in: query
type: string
description: 'output format: json, jsonp, xml.'
- name: callback
in: query
type: string
description: jsonp callback
- name: q_track
in: query
type: string
description: The song title
- name: q_artist
in: query
type: string
description: The song artist
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: track-snippet-get
path: /track.snippet.get
operations:
- name: get-track-snippet-get
method: GET
description: GET /track.snippet.get
inputParameters:
- name: format
in: query
type: string
description: 'output format: json, jsonp, xml.'
- name: callback
in: query
type: string
description: jsonp callback
- name: track_id
in: query
type: string
required: true
description: The musiXmatch track id
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: track-lyrics-get
path: /track.lyrics.get
operations:
- name: get-track-lyrics-get
method: GET
description: GET /track.lyrics.get
inputParameters:
- name: format
in: query
type: string
description: 'output format: json, jsonp, xml.'
- name: callback
in: query
type: string
description: jsonp callback
- name: track_id
in: query
type: string
required: true
description: The musiXmatch track id
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: track-subtitle-get
path: /track.subtitle.get
operations:
- name: get-track-subtitle-get
method: GET
description: GET /track.subtitle.get
inputParameters:
- name: format
in: query
type: string
description: 'output format: json, jsonp, xml.'
- name: callback
in: query
type: string
description: jsonp callback
- name: track_id
in: query
type: string
required: true
description: The musiXmatch track id
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: track-get
path: /track.get
operations:
- name: get-track-get
method: GET
description: GET /track.get
inputParameters:
- name: format
in: query
type: string
description: 'output format: json, jsonp, xml.'
- name: callback
in: query
type: string
description: jsonp callback
- name: track_id
in: query
type: string
required: true
description: The musiXmatch track id
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: track-search
path: /track.search
operations:
- name: get-track-search
method: GET
description: GET /track.search
inputParameters:
- name: format
in: query
type: string
description: 'output format: json, jsonp, xml.'
- name: callback
in: query
type: string
description: jsonp callback
- name: q_track
in: query
type: string
description: The song title
- name: q_artist
in: query
type: string
description: The song artist
- name: q_lyrics
in: query
type: string
description: Any word in the lyrics
- name: f_artist_id
in: query
type: number
description: When set, filter by this artist id
- name: f_music_genre_id
in: query
type: number
description: When set, filter by this music category id
- name: f_lyrics_language
in: query
type: number
description: Filter by the lyrics language (en,it,..)
- name: f_has_lyrics
in: query
type: number
description: When set, filter only contents with lyrics
- name: s_artist_rating
in: query
type: string
description: Sort by our popularity index for artists (asc|desc)
- name: s_track_rating
in: query
type: string
description: Sort by our popularity index for tracks (asc|desc)
- name: quorum_factor
in: query
type: number
description: Search only a part of the given query string.Allowed range is (0.1 0.9)
- name: page_size
in: query
type: number
description: Define the page size for paginated results.Range is 1 to 100.
- name: page
in: query
type: number
description: Define the page number for paginated results
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: chart-tracks-get
path: /chart.tracks.get
operations:
- name: get-chart-tracks-get
method: GET
description: GET /chart.tracks.get
inputParameters:
- name: format
in: query
type: string
description: 'output format: json, jsonp, xml.'
- name: callback
in: query
type: string
description: jsonp callback
- name: page
in: query
type: number
description: Define the page number for paginated results
- name: page_size
in: query
type: number
description: Define the page size for paginated results.Range is 1 to 100.
- name: country
in: query
type: string
description: A valid ISO 3166 country code
- name: f_has_lyrics
in: query
type: string
description: When set, filter only contents with lyrics
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: chart-artists-get
path: /chart.artists.get
operations:
- name: get-chart-artists-get
method: GET
description: GET /chart.artists.get
inputParameters:
- name: format
in: query
type: string
description: 'output format: json, jsonp, xml.'
- name: callback
in: query
type: string
description: jsonp callback
- name: page
in: query
type: number
description: Define the page number for paginated results
- name: page_size
in: query
type: number
description: Define the page size for paginated results.Range is 1 to 100.
- name: country
in: query
type: string
description: A valid ISO 3166 country code
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
exposes:
- type: rest
port: 8080
namespace: musixmatch-rest
description: REST adapter for Musixmatch API.
resources:
- path: /album.tracks.get
name: get-album-tracks-get
operations:
- method: GET
name: get-album-tracks-get
description: GET /album.tracks.get
call: musixmatch.get-album-tracks-get
outputParameters:
- type: object
mapping: $.
- path: /album.get
name: get-album-get
operations:
- method: GET
name: get-album-get
description: GET /album.get
call: musixmatch.get-album-get
outputParameters:
- type: object
mapping: $.
- path: /artist.related.get
name: get-artist-related-get
operations:
- method: GET
name: get-artist-related-get
description: GET /artist.related.get
call: musixmatch.get-artist-related-get
outputParameters:
- type: object
mapping: $.
- path: /artist.albums.get
name: get-artist-albums-get
operations:
- method: GET
name: get-artist-albums-get
description: GET /artist.albums.get
call: musixmatch.get-artist-albums-get
outputParameters:
- type: object
mapping: $.
- path: /artist.search
name: get-artist-search
operations:
- method: GET
name: get-artist-search
description: GET /artist.search
call: musixmatch.get-artist-search
outputParameters:
- type: object
mapping: $.
- path: /artist.get
name: get-artist-get
operations:
- method: GET
name: get-artist-get
description: GET /artist.get
call: musixmatch.get-artist-get
outputParameters:
- type: object
mapping: $.
- path: /matcher.subtitle.get
name: get-matcher-subtitle-get
operations:
- method: GET
name: get-matcher-subtitle-get
description: GET /matcher.subtitle.get
call: musixmatch.get-matcher-subtitle-get
outputParameters:
- type: object
mapping: $.
- path: /matcher.track.get
name: get-matcher-track-get
operations:
- method: GET
name: get-matcher-track-get
description: GET /matcher.track.get
call: musixmatch.get-matcher-track-get
outputParameters:
- type: object
mapping: $.
- path: /matcher.lyrics.get
name: get-matcher-lyrics-get
operations:
- method: GET
name: get-matcher-lyrics-get
description: GET /matcher.lyrics.get
call: musixmatch.get-matcher-lyrics-get
outputParameters:
- type: object
mapping: $.
- path: /track.snippet.get
name: get-track-snippet-get
operations:
- method: GET
name: get-track-snippet-get
description: GET /track.snippet.get
call: musixmatch.get-track-snippet-get
outputParameters:
- type: object
mapping: $.
- path: /track.lyrics.get
name: get-track-lyrics-get
operations:
- method: GET
name: get-track-lyrics-get
description: GET /track.lyrics.get
call: musixmatch.get-track-lyrics-get
outputParameters:
- type: object
mapping: $.
- path: /track.subtitle.get
name: get-track-subtitle-get
operations:
- method: GET
name: get-track-subtitle-get
description: GET /track.subtitle.get
call: musixmatch.get-track-subtitle-get
outputParameters:
- type: object
mapping: $.
- path: /track.get
name: get-track-get
operations:
- method: GET
name: get-track-get
description: GET /track.get
call: musixmatch.get-track-get
outputParameters:
- type: object
mapping: $.
- path: /track.search
name: get-track-search
operations:
- method: GET
name: get-track-search
description: GET /track.search
call: musixmatch.get-track-search
outputParameters:
- type: object
mapping: $.
- path: /chart.tracks.get
name: get-chart-tracks-get
operations:
- method: GET
name: get-chart-tracks-get
description: GET /chart.tracks.get
call: musixmatch.get-chart-tracks-get
outputParameters:
- type: object
mapping: $.
- path: /chart.artists.get
name: get-chart-artists-get
operations:
- method: GET
name: get-chart-artists-get
description: GET /chart.artists.get
call: musixmatch.get-chart-artists-get
outputParameters:
- type: object
mapping: $.
- type: mcp
port: 9090
namespace: musixmatch-mcp
transport: http
description: MCP adapter for Musixmatch API for AI agent use.
tools:
- name: get-album-tracks-get
description: GET /album.tracks.get
hints:
readOnly: true
destructive: false
idempotent: true
call: musixmatch.get-album-tracks-get
with:
format: tools.format
callback: tools.callback
album_id: tools.album_id
f_has_lyrics: tools.f_has_lyrics
page: tools.page
page_size: tools.page_size
inputParameters:
- name: format
type: string
description: 'output format: json, jsonp, xml.'
- name: callback
type: string
description: jsonp callback
- name: album_id
type: string
description: The musiXmatch album id
required: true
- name: f_has_lyrics
type: string
description: When set, filter only contents with lyrics
- name: page
type: number
description: Define the page number for paginated results
- name: page_size
type: number
description: Define the page size for paginated results.Range is 1 to 100.
outputParameters:
- type: object
mapping: $.
- name: get-album-get
description: GET /album.get
hints:
readOnly: true
destructive: false
idempotent: true
call: musixmatch.get-album-get
with:
format: tools.format
callback: tools.callback
album_id: tools.album_id
inputParameters:
- name: format
type: string
description: 'output format: json, jsonp, xml.'
- name: callback
type: string
description: jsonp callback
- name: album_id
type: string
description: The musiXmatch album id
required: true
outputParameters:
- type: object
mapping: $.
- name: get-artist-related-get
description: GET /artist.related.get
hints:
readOnly: true
destructive: false
idempotent: true
call: musixmatch.get-artist-related-get
with:
format: tools.format
callback: tools.callback
artist_id: tools.artist_id
page_size: tools.page_size
page: tools.page
inputParameters:
- name: format
type: string
description: 'output format: json, jsonp, xml.'
- name: callback
type: string
description: jsonp callback
- name: artist_id
type: string
description: The musiXmatch artist id
required: true
- name: page_size
type: number
description: Define the page size for paginated results.Range is 1 to 100.
- name: page
type: number
description: Define the page number for paginated results
outputParameters:
- type: object
mapping: $.
- name: get-artist-albums-get
description: GET /artist.albums.get
hints:
readOnly: true
destructive: false
idempotent: true
call: musixmatch.get-artist-albums-get
with:
format: tools.format
callback: tools.callback
artist_id: tools.artist_id
s_release_date: tools.s_release_date
g_album_name: tools.g_album_name
page_size: tools.page_size
page: tools.page
inputParameters:
- name: format
type: string
description: 'output format: json, jsonp, xml.'
- name: callback
type: string
description: jsonp callback
- name: artist_id
type: string
description: The musiXmatch artist id
required: true
- name: s_release_date
type: string
description: Sort by release date (asc|desc)
- name: g_album_name
type: string
description: Group by Album Name
- name: page_size
type: number
description: Define the page size for paginated results.Range is 1 to 100.
- name: page
type: number
description: Define the page number for paginated results
outputParameters:
- type: object
mapping: $.
- name: get-artist-search
description: GET /artist.search
hints:
readOnly: true
destructive: false
idempotent: true
call: musixmatch.get-artist-search
with:
format: tools.format
callback: tools.callback
q_artist: tools.q_artist
f_artist_id: tools.f_artist_id
page: tools.page
page_size: tools.page_size
inputParameters:
- name: format
type: string
description: 'output format: json, jsonp, xml.'
- name: callback
type: string
description: jsonp callback
- name: q_artist
type: string
description: The song artist
- name: f_artist_id
type: number
description: When set, filter by this artist id
- name: page
type: number
description: Define the page number for paginated results
- name: page_size
type: number
description: Define the page size for paginated results.Range is 1 to 100.
outputParameters:
- type: object
mapping: $.
- name: get-artist-get
description: GET /artist.get
hints:
readOnly: true
destructive: false
idempotent: true
call: musixmatch.get-artist-get
with:
format: tools.format
callback: tools.callback
artist_id: tools.artist_id
inputParameters:
- name: format
type: string
description: 'output format: json, jsonp, xml.'
- name: callback
type: string
description: jsonp callback
- name: artist_id
type: string
description: The musiXmatch artist id
required: true
outputParameters:
- type: object
mapping: $.
- name: get-matcher-subtitle-get
description: GET /matcher.subtitle.get
hints:
readOnly: true
destructive: false
idempotent: true
call: musixmatch.get-matcher-subtitle-get
with:
format: tools.format
callback: tools.callback
q_track: tools.q_track
q_artist: tools.q_artist
f_subtitle_length: tools.f_subtitle_length
f_subtitle_length_max_deviation: tools.f_subtitle_length_max_deviation
inputParameters:
- name: format
type: string
description: 'output format: json, jsonp, xml.'
- name: callback
type: string
description: jsonp callback
- name: q_track
type: string
description: The song title
- name: q_artist
type: string
description: The song artist
- name: f_subtitle_length
type: number
description: Filter by subtitle length in seconds
- name: f_subtitle_length_max_deviation
type: number
description: Max deviation for a subtitle length in seconds
outputParameters:
- type: object
mapping: $.
- name: get-matcher-track-get
description: GET /matcher.track.get
hints:
readOnly: true
destructive: false
idempotent: true
call: musixmatch.get-matcher-track-get
with:
format: tools.format
callback: tools.callback
q_artist: tools.q_artist
q_track: tools.q_track
f_has_lyrics: tools.f_has_lyrics
f_has_subtitle: tools.f_has_subtitle
inputParameters:
- name: format
type: string
description: 'output format: json, jsonp, xml.'
- name: callback
type: string
description: jsonp callback
- name: q_artist
type: string
description: The song artist
- name: q_track
type: string
description: The song title
- name: f_has_lyrics
type: number
description: When set, filter only contents with lyrics
- name: f_has_subtitle
type: number
description: When set, filter only contents with subtitles
outputParameters:
- type: object
mapping: $.
- name: get-matcher-lyrics-get
description: GET /matcher.lyrics.get
hints:
readOnly: true
destructive: false
idempotent: true
call: musixmatch.get-matcher-lyrics-get
with:
format: tools.format
callback: tools.callback
q_track: tools.q_track
q_artist: tools.q_artist
inputParameters:
- name: format
type: string
description: 'output format: json, jsonp, xml.'
- name: callback
type: string
description: jsonp callback
- name: q_track
type: string
description: The song title
- name: q_artist
type: string
description: The song artist
outputParameters:
- type: object
mapping: $.
- name: get-track-snippet-get
description: GET /track.snippet.get
hints:
readOnly: true
destructive: false
idempotent: true
call: musixmatch.get-track-snippet-get
with:
format: tools.format
callback: tools.callback
track_id: tools.track_id
inputParameters:
- name: format
type: string
description: 'output format: json, jsonp, xml.'
- name: callback
type: string
description: jsonp callback
- name: track_id
type: string
description: The musiXmatch track id
required: true
outputParameters:
- type: object
mapping: $.
- name: get-track-lyrics-get
description: GET /track.lyrics.get
hints:
readOnly: true
destructive: false
idempotent: true
call: musixmatch.get-track-lyrics-get
with:
format: tools.format
callback: tools.callback
track_id: tools.track_id
inputParameters:
- name: format
type: string
description: 'output format: json, jsonp, xml.'
- name: callback
type: string
description: jsonp callback
- name: track_id
type: string
description: The musiXmatch track id
required: true
outputParameters:
- type: object
mapping: $.
- name: get-track-subtitle-get
description: GET /track.subtitle.get
hints:
readOnly: true
destructive: false
idempotent: true
call: musixmatch.get-track-subtitle-get
with:
format: tools.format
callback: tools.callback
track_id: tools.track_id
inputParameters:
- name: format
type: string
description: 'output format: json, jsonp, xml.'
- name: callback
type: string
description: jsonp callback
- name: track_id
type: string
description: The musiXmatch track id
required: true
outputParameters:
- type: object
mapping: $.
- name: get-track-get
description: GET /track.get
hints:
readOnly: true
destructive: false
idempotent: true
call: musixmatch.get-track-get
with:
format: tools.format
callback: tools.callback
track_id: tools.track_id
inputParameters:
- name: format
type: string
description: 'output format: json, jsonp, xml.'
- name: callback
type: string
description: jsonp callback
- name: track_id
type: string
description: The musiXmatch track id
required: true
outputParame
# --- truncated at 32 KB (36 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/musixmatch/refs/heads/main/capabilities/musixmatch-capability.yaml