Use Music24 in Claude and ChatGPT.
Connect the Music24 MCP server to your AI assistant. Sign in with your Music24 account, then ask about charts, playlists and the artists you follow. Included with the Label plan.
What you can ask
The assistant picks the right Music24 tool for your question. Every tool reads data. A connected assistant cannot follow, unfollow or change anything.
music24_top_artistsmusic24_top_tracksmusic24_artist_detailsmusic24_daily_reportmusic24_weekly_reportmusic24_playlist_changesSet up your AI client
- In Claude, open the connectors settings and add a custom connector.
- Name it Music24 and paste the server URL.
- Connect. Sign in to Music24 and approve the access.
- Ask a question. Claude uses the Music24 tools when they help.
https://api.music24.com/mcpSign-in and access
An AI client never gets a personal access token. It signs in with OAuth. The access token lasts one hour, and the refresh token 30 days; it rotates on use.
An OAuth token (m24at_) can only read. Sent to a write, such as a follow, it gets 403 FORBIDDEN.
To disconnect a client, remove it in Settings → API → Connected apps in the Music24 app. Its tokens stop working at once.
| Tool | What it does |
|---|---|
music24_top_artists | Top artists on Music24’s chart, overall or gaining. |
music24_top_tracks | Top tracks on Music24’s chart, overall or gaining. |
music24_artist_details | An artist’s profile plus playlist-addition and visibility stats. |
music24_track_details | A track’s profile plus playlist-addition and visibility stats. |
music24_my_follows | The caller’s followed artists, tracks, and playlists. |
music24_daily_report | Daily digest for the caller’s follows, today vs. yesterday. |
music24_weekly_report | Weekly digest for the caller’s follows, this week vs. last. |
music24_playlist_changes | Recent track add/remove events for one playlist, by id. |
Get a token
Create a token in Settings → API in the Music24 app. It needs the Label plan. The token is shown once; Music24 stores only its hash. You can hold five active tokens.
Send it in the Authorization header. Token and Bearer work the same. A personal token can read and write. Revocation is instant: the next request gets 401 UNAUTHORIZED.
A token works in the workspace that was active when you created it. While that workspace is not on the Label plan, its tokens get 403 FORBIDDEN.
Authorization: Token m24_xxxxxxxxxxxxxxxxxxxxxxxx
First request
Your token calls the endpoints under https://api.music24.com/trpc. Each endpoint is a tRPC procedure over plain HTTP, so you need no client library. JSON in, JSON out.
A read is a GET with its arguments as URL-encoded JSON in the input parameter, wrapped in { "json": … }. A write is a POST with the same JSON as the body. Every answer is wrapped in { "result": { "data": { "json": … } } }.
List endpoints page with limit and offset. Dates are ISO YYYY-MM-DD in UTC. Ids are opaque strings: store them as given.
https://api.music24.com/v1, described in https://api.music24.com/v1/openapi.json. They answer only to partner keys. A personal token gets 401 UNAUTHORIZED there, so use the endpoints on this page.curl 'https://api.music24.com/trpc/artists.topGaining?input=%7B%22json%22%3A%7B%22limit%22%3A5%7D%7D' \ -H 'Authorization: Token m24_xxxxxxxxxxxxxxxxxxxxxxxx'
{
"result": {
"data": {
"json": {
"artists": [
{
"artistMaid": "2ab91f6e-...",
"mainArtistName": "LaziiBee",
"imageUrl": "https://.../laziibee.jpg",
"addedToPlaylists": { "current": 0.42, "previous": 0.31 },
"removedFromPlaylists": { "current": 0.02, "previous": 0.05 }
}
],
"pagination": { "limit": 5, "offset": 0 }
}
}
}
}Endpoints
A GET reads. A POST writes: it follows or unfollows. Add the name to https://api.music24.com/trpc/, for example https://api.music24.com/trpc/artists.topGaining.
An OAuth token can call every GET. A POST needs a personal token.
artists.topGainingArtists with the biggest playlist-add gains today.artists.topOverallArtists ranked by total playlist visibility.tracks.topGainingTracks with the biggest playlist-add gains today.tracks.topOverallTracks ranked by total playlist visibility.playlists.topByFollowersThe largest playlists Music24 tracks, by follower count.playlists.trendingPlaylists with the biggest follower-count gains today.artists.detailsAn artist’s profile (name, image).artists.positionChangeAn artist’s chart-position history.artists.playlistAdditionsPlaylists that added this artist recently.artists.playlistAppearancesPlaylists this artist currently appears on.artists.playlistScoreChartAn artist’s visibility score over time.tracks.detailsA track’s profile, including audio features.tracks.positionChangeA track’s chart-position history.tracks.playlistAdditionsPlaylists that added this track recently.tracks.playlistAppearancesPlaylists this track currently appears on.tracks.playlistScoreChartA track’s visibility score over time.tracks.recentPlaylistChangesRecent add/remove events across this track’s playlists.playlists.detailsA playlist’s profile (name, curator, followers).playlists.songsThe tracks currently on a playlist.playlists.changesA single playlist’s track add/remove history.playlists.followersTimeSeriesA playlist’s follower count over time.artists.followedArtistsFollowed artists, paginated, with images.artists.listFollowedFollowed artist ids only — fast, no stats.artists.followFollow an artist.artists.unfollowUnfollow an artist.tracks.followedTracksFollowed tracks, paginated, with images.tracks.listFollowedFollowed track ids only — fast, no stats.tracks.followFollow a track.tracks.unfollowUnfollow a track.playlists.listFollowedFollowed playlist ids.playlists.followFollow a playlist.playlists.unfollowUnfollow a playlist.reports.getMyDailyReportThe caller’s daily digest: top movers today vs. yesterday, plus the AI trends summary.reports.getMyWeeklyReportThe caller’s weekly digest: top movers this week vs. last week.insights.trendingUpArtists or tracks accelerating fastest right now.insights.anomaliesArtists or tracks with a statistically unusual jump.Limits and errors
The rate limit is 30 requests per minute per user, for each endpoint. More tokens do not add headroom. Details for an artist, track or playlist you do not follow spend one daily browse credit; anything you follow is free.
Your plan sets how far back date can go and how deep offset can reach. A request past the limit gets 403 FORBIDDEN, and the message names the limit.
A failed call returns a non-2xx status. Branch on the stable code string in error.data.code, not on the message.
| Limit | Value |
|---|---|
| Plan | Label. Tokens and MCP connections on any other plan are rejected. |
| Rate | 30 requests per minute, per user, for each endpoint and each MCP tool. |
| History | How far back date may reach. Plan-dependent. |
| Pagination | How deep offset may reach. Plan-dependent. |
| Browse credits | Daily. Spent on anything you do not already follow. |
| Code | When you see it |
|---|---|
400 BAD_REQUEST | The input failed validation: a missing argument, a wrong type or malformed JSON. |
401 UNAUTHORIZED | No token, a token we cannot read, or a revoked one. |
403 FORBIDDEN | Wrong plan, past your history window, no browse credits left, or a read-only OAuth token (m24at_) that calls a write. |
404 NOT_FOUND | No artist, track or playlist with that id. |
429 TOO_MANY_REQUESTS | Over 30 requests in the last minute. The message names the seconds to wait. |
500 INTERNAL_SERVER_ERROR | Our fault. Retry a read. A follow or an unfollow is safe to retry too. |