+11
CLI/Commands/albums.md
+11
CLI/Commands/albums.md
+11
CLI/Commands/artists.md
+11
CLI/Commands/artists.md
+11
CLI/Commands/create apikey.md
+11
CLI/Commands/create apikey.md
+1
CLI/Commands/help.md
+1
CLI/Commands/help.md
···
1
+
display help for command
+11
CLI/Commands/login.md
+11
CLI/Commands/login.md
+6
CLI/Commands/mcp.md
+6
CLI/Commands/mcp.md
+11
CLI/Commands/nowplaying.md
+11
CLI/Commands/nowplaying.md
+11
CLI/Commands/scrobble.md
+11
CLI/Commands/scrobble.md
+11
CLI/Commands/scrobbles.md
+11
CLI/Commands/scrobbles.md
+11
CLI/Commands/search.md
+11
CLI/Commands/search.md
+11
CLI/Commands/stats.md
+11
CLI/Commands/stats.md
+11
CLI/Commands/tracks.md
+11
CLI/Commands/tracks.md
+5
CLI/Commands/whoami.md
+5
CLI/Commands/whoami.md
+12
CLI/Overview.md
+12
CLI/Overview.md
···
1
+
The Rocksky CLI is a command line interface that allows you scrobble tracks, view stats, and manage your listening history
2
+
3
+
## Installation
4
+
5
+
```bash
6
+
npm install -g @rocksky/cli
7
+
```
8
+
You can also use the CLI without installing it globally by running `npx`:
9
+
10
+
```bash
11
+
npx @rocksky/cli --help
12
+
```
+46
FAQ.md
+46
FAQ.md
···
1
+
Answers to common frequently asked questions.
2
+
3
+
## What is Rocksky?
4
+
Rocksky is a decentralized, open-source (soon) music tracking and discovery platform built on the [AT Protocol](https://atproto.com). It works like [Last.fm](https://www.last.fm) but publishes your listening history directly to your Bluesky account.
5
+
6
+
## What are the supported players?
7
+
Currently, Rocksky supports:
8
+
9
+
- โ
Spotify (via API)
10
+
11
+
- โ
any player with last.fm extension
12
+
13
+
## How do I sign up?
14
+
You don't need to create a new account for Rocksky. All you need is a [Bluesky](https://bsky.app/) account. We use your Bluesky handle to associate and publish your listening activity using the AT Protocol.
15
+
16
+
## What is the AT Protocol?
17
+
The AT Protocol (Authenticated Transfer Protocol) is an open, decentralized social networking protocol designed by the creators of Bluesky. It enables portable identities, composable data, and federation.
18
+
19
+
Rocksky uses ATProto to publish your listening history to your own feed, making it discoverable and shareable across the decentralized social web.
20
+
21
+
Learn more: https://atproto.com/
22
+
23
+
## Is Rocksky open source?
24
+
Not yet โ but it will be open source soon! You'll be able to self-host, build integrations, and contribute to the project via GitHub.
25
+
26
+
Stay tuned for the launch announcement!
27
+
28
+
## How does Cloud Drive integration work?
29
+
Rocksky lets you connect your Google Drive or Dropbox account to access and index your personal music collection stored in the cloud. Once connected, Rocksky scans your files and tracks your listening activity โ all tied to your Bluesky handle.
30
+
31
+
## Which cloud drives are supported?
32
+
Currently, Rocksky supports:
33
+
โ
Google Drive
34
+
โ
Dropbox
35
+
36
+
## Is my data private?
37
+
Yes. Your cloud drive data is never shared. Rocksky only scans audio files you give permission for and publishes listening activity (like "now playing" and scrobbles). Your actual music files stay private.
38
+
39
+
## Can I stream music directly from my cloud drive?
40
+
Yes! Once your files are indexed, you can stream them directly from Google Drive or Dropbox through the Rocksky interface.
41
+
42
+
## Do I need to re-upload my music?
43
+
No. As long as your music is already stored in Google Drive or Dropbox, Rocksky can access and play it โ no re-upload needed.
44
+
45
+
## Are you affiliated with Bluesky?
46
+
No. Rocksky is an independent project built on top of the AT Protocol, the same protocol that powers Bluesky. We are not affiliated with or endorsed by Bluesky.
+47
How-Tos/How to Use Rocksky with Jellyfin.md
+47
How-Tos/How to Use Rocksky with Jellyfin.md
···
1
+
Rocksky now provides a **ListenBrainz-compatible scrobbling API**, allowing you to use the existing ListenBrainz plugin for Jellyfin with zero code changes, just a config update!
2
+
3
+
## Requirements
4
+
5
+
- A running Jellyfin server
6
+
- A Rocksky account
7
+
- A Rocksky API Key from the [API Applications](https://rocksky.app/apikeys) page
8
+
9
+
## 1. Install the ListenBrainz Plugin for Jellyfin
10
+
11
+
Use the community-maintained plugin:
12
+
13
+
### Plugin Repository:
14
+
https://github.com/lyarenei/jellyfin-plugin-listenbrainz
15
+
16
+
Once installed, go to:
17
+
**Dashboard > Plugins > ListenBrainz > Settings**
18
+
19
+
## 2. Configure the Plugin to Use Rocksky
20
+
21
+
Update the default ListenBrainz API URL and token:
22
+
23
+
### API URL:
24
+
25
+
From:
26
+
```
27
+
https://api.listenbrainz.org
28
+
```
29
+
30
+
To:
31
+
```
32
+
https://audioscrobbler.rocksky.app
33
+
```
34
+
35
+
### API Token:
36
+
1. Go to Rocksky [API Applications](https://rocksky.app/apikeys)
37
+
2. Create or copy your API Key
38
+
3. Paste it into the Token field in the plugin settings
39
+
40
+
โ
Save and restart the server if needed.
41
+
42
+
43
+

44
+
45
+
## 3. Verify Itโs Working
46
+
Start playing a track on Jellyfin
47
+
Head to https://rocksky.app โ your recent scrobbles should appear in real time
+44
How-Tos/How to Use Rocksky with Kodi.md
+44
How-Tos/How to Use Rocksky with Kodi.md
···
1
+
Rocksky now supports the **ListenBrainz API**, so you can use [Kodi](https://kodi.tv/)'s built-in ListenBrainz scrobbler to track your listening directly to Rocksky โ no plugin modifications needed.
2
+
3
+
## Requirements
4
+
- Kodi media center installed
5
+
- A Rocksky account
6
+
- A Rocksky API Key from the [API Applications](https://rocksky.app/apikeys) page
7
+
8
+
## 1. Install the ListenBrainz Add-on in Kodi
9
+
1. Open Kodi
10
+
2. Go to **Add-ons > Install from repository**
11
+
3. Select **Kodi Add-on repository**
12
+
4. Navigate to **Service Add-ons**
13
+
5. Search for **ListenBrainz Scrobbler**
14
+
6. **Click Install**
15
+
16
+
Once installed, you'll see the plugin under **My Add-ons > Service Add-ons**
17
+
18
+
19
+
## 2. Configure the Plugin for Rocksky
20
+
1. Open the ListenBrainz plugin settings
21
+
2. Update the following:
22
+
23
+
**API URL**
24
+
Replace:
25
+
```
26
+
https://api.listenbrainz.org
27
+
```
28
+
With:
29
+
```
30
+
https://audioscrobbler.rocksky.app
31
+
```
32
+
**API Token**
33
+
1. Go to Rocksky [API Applications](https://rocksky.app/apikeys) page
34
+
2. Copy your API Key
35
+
3. Paste it into the Token field
36
+
37
+
โ
Save the settings and restart Kodi if needed.
38
+
39
+
40
+

41
+
42
+
## 3. Confirm Itโs Working
43
+
- Play any song in Kodi
44
+
- Visit https://rocksky.app to see your recent scrobble
+65
How-Tos/Migrating from Listenbrainz to Rocksky.md
+65
How-Tos/Migrating from Listenbrainz to Rocksky.md
···
1
+
Rocksky now supports a **ListenBrainz-compatible API** for scrobbling! This means you can switch your existing [ListenBrainz](https://listenbrainz.org) integration to Rocksky in just a few simple steps.
2
+
3
+
## What You Need
4
+
- A Rocksky account
5
+
- A Rocksky API Key (you can generate one in the [API Applications](https://rocksky.app/apikeys) page)
6
+
- A scrobbling app or script that supports the ListenBrainz API
7
+
8
+
## Step-by-Step Migration
9
+
### 1. Update the API URL
10
+
Change the ListenBrainz API endpoint:
11
+
12
+
From:
13
+
14
+
```
15
+
https://api.listenbrainz.org
16
+
```
17
+
To:
18
+
19
+
```
20
+
https://audioscrobbler.rocksky.app
21
+
```
22
+
23
+
### 2. Replace the Authorization Token
24
+
In ListenBrainz, you typically send a `Authorization: Token <token>` header.
25
+
To switch to Rocksky:
26
+
- Go to Rocksky [API Applications](https://rocksky.app/apikeys)
27
+
- Copy your API Key
28
+
- Use it as the token in the Authorization header:
29
+
30
+
```
31
+
Authorization: Token <rocksky_api_key>
32
+
```
33
+
34
+
### 3. Test the Integration
35
+
Try sending a test scrobble to:
36
+
37
+
```
38
+
POST https://audioscrobbler.rocksky.app/1/submit-listens
39
+
Content-Type: application/json
40
+
Authorization: Token <rocksky_api_key>
41
+
```
42
+
43
+
Example body:
44
+
```json
45
+
{
46
+
"listen_type": "playing_now",
47
+
"payload": [
48
+
{
49
+
"track_metadata": {
50
+
"artist_name": "Daft Punk",
51
+
"track_name": "Harder, Better, Faster, Stronger",
52
+
"release_name": "Discovery"
53
+
},
54
+
"listened_at": 1716541200
55
+
}
56
+
]
57
+
}
58
+
```
59
+
60
+
## Notes
61
+
- **Compatibility:** Rocksky mirrors the ListenBrainz API behavior for scrobbling (`/submit-listens, /validate-token`).
62
+
63
+
64
+
- **Normalization**: Rocksky will attempt to normalize song metadata. If a match cannot be found, the scrobble may be skipped.
65
+
+79
How-Tos/Migrating to Rocksky Scrobble API.md
+79
How-Tos/Migrating to Rocksky Scrobble API.md
···
1
+
Rocksky offers a fully compatible implementation of the [Last.fm Audioscrobbler API](https://www.last.fm/api/show/track.scrobble) โ so you can seamlessly migrate your scrobbling apps or integrations to Rocksky by simply changing the API endpoint and credentials.
2
+
3
+
## Base URL
4
+
5
+
Replace the Last.fm endpoint:
6
+
7
+
```
8
+
https://ws.audioscrobbler.com/2.0
9
+
```
10
+
11
+
With the Rocksky scrobble endpoint:
12
+
13
+
```
14
+
https://audioscrobbler.rocksky.app/2.0
15
+
```
16
+
17
+
## Authentication
18
+
19
+
- `api_key`: Your Rocksky API key (obtainable from your [Rocksky developer dashboard](https://rocksky.app/apikeys)).
20
+
- `sk`: Your Rocksky session key (obtained after user authentication `rocksky login`)
21
+
22
+
## Legacy Last.fm API Compatibility
23
+
Rocksky also supports older Last.fm clients using the legacy Audioscrobbler protocol (pre-2.0). You can use these legacy configurations in clients such as Deadbeef or older music players:
24
+
25
+
### Legacy API Config:
26
+
27
+
| **Field** | **Value** |
28
+
|---------------|-----------|
29
+
| Username | Your Rocksky API key (obtainable from your [Rocksky developer dashboard](https://rocksky.app/apikeys)) |
30
+
| Password | Your Rocksky shared secret (obtainable from your [Rocksky developer dashboard](https://rocksky.app/apikeys)) |
31
+
| Scrobble URL | https://audioscrobbler.rocksky.app |
32
+
33
+
โน๏ธ **Note**: Rocksky will also try to normalize songs metadata. If it cannot find a matching track, it will skip the scrobble.
34
+
35
+
## Example Scrobble Request
36
+
37
+
**Method**: `POST`
38
+
**URL**: `https://audioscrobbler.rocksky.app/2.0`
39
+
**Headers**: `Content-Type: application/x-www-form-urlencoded`
40
+
**Body** (as `x-www-form-urlencoded`):
41
+
42
+
43
+
| **Parameter** | **Example Value** |
44
+
|---------------|------------------------------------|
45
+
| method | `track.scrobble` |
46
+
| api_key | `YOUR_API_KEY` |
47
+
| sk | `YOUR_SESSION_KEY` |
48
+
| artist[0] | `Radiohead` |
49
+
| track[0] | `Karma Police` |
50
+
| timestamp[0] | `1744579159` |
51
+
| api_sig | `532b7492411fdfcd79639b548b5ee8a8` |
52
+
| format | `json` |
53
+
54
+
## Generating `api_sig`
55
+
To compute the signature:
56
+
1. Sort all parameters (excluding api_sig and format) by key.
57
+
2. Concatenate key-value pairs (key1value1key2value2...).
58
+
3. Append your shared secret to the concatenated string.
59
+
4. MD5 hash the result.
60
+
61
+
Example in pseudo-code:
62
+
63
+
```js
64
+
const base = "api_keyAPI_KEYartist[0]Radioheadmethodtrack.scrobbleskSESSION_KEYtimestamp[0]1744579159track[0]Karma Police";
65
+
const sig = md5(base + shared_secret);
66
+
```
67
+
68
+
## Migrating Your App
69
+
To switch from Last.fm to Rocksky:
70
+
1. Change the API base URL.
71
+
2. Update your API key and session key (from `rocksky login`).
72
+
3. Use the same payload format and signature method.
73
+
4. Done!
74
+
75
+
## Why Switch to Rocksky?
76
+
๐ Open Scrobble Infrastructure
77
+
๐ Modern analytics and detailed stats
78
+
๐ Built on top of [AT Protocol](https://atproto.com/) for portability
79
+
๐ง Compatible with existing Last.fm tools
+112
How-Tos/Use Rocksky with Claude Desktop.md
+112
How-Tos/Use Rocksky with Claude Desktop.md
···
1
+
2
+
This guide will walk you through setting up Rocksky [MCP (Model Control Protocol)](https://modelcontextprotocol.io/introduction) and using it with [Claude Desktop](https://claude.ai/download) to interact with the Rocksky API.
3
+
4
+

5
+
6
+
## Prerequisites
7
+
8
+
- [Node.js](https://nodejs.org/en) and [npm](https://www.npmjs.com) installed on your system
9
+
- Claude Desktop application installed
10
+
- A Rocksky account (if you don't have one, sign up at [rocksky.app](https://rocksky.app))
11
+
12
+
## Setting Up Rocksky MCP
13
+
14
+
### Step 1: Install Rocksky CLI
15
+
First, install the Rocksky CLI globally using npm:
16
+
```bash
17
+
npm install -g @rocksky/cli
18
+
```
19
+
20
+
### Step 2: Configure Claude Desktop for Rocksky MCP
21
+
22
+
1. Open Claude Desktop
23
+
2. Go to Settings (gear icon) > Advanced > Model Control Protocol
24
+
3. Enable MCP by toggling the switch to "On"
25
+
4. Click "Edit Configuration" to open the MCP config file
26
+
5. Add the following configuration to the file:
27
+
28
+
```json
29
+
{
30
+
"mcpServers": {
31
+
"rocksky": {
32
+
"command": "rocksky",
33
+
"args": [
34
+
"mcp"
35
+
]
36
+
}
37
+
}
38
+
}
39
+
```
40
+
41
+
6. Save the configuration file
42
+
7. Restart Claude Desktop for the changes to take effect
43
+
44
+
## Using Rocksky with Claude
45
+
Once you've set up Rocksky MCP, you can start interacting with the Rocksky API through Claude. Here are some examples of what you can do:
46
+
47
+
## Get Recently Played Tracks
48
+
Simply ask Claude:
49
+
```
50
+
What are my recently played tracks?
51
+
```
52
+
53
+
Claude will use the Rocksky MCP to fetch your scrobble history and display it.
54
+
55
+
## View Your Top Artists
56
+
Ask Claude:
57
+
```
58
+
Show me my top artists on Rocksky
59
+
```
60
+
61
+
## Search for Music
62
+
You can search for tracks, artists, or albums:
63
+
```
64
+
Search for tracks by Radiohead
65
+
```
66
+
67
+
## View User Stats
68
+
Get your listening statistics:
69
+
```
70
+
What are my Rocksky stats?
71
+
```
72
+
73
+
## View Now Playing
74
+
See what's currently playing:
75
+
```
76
+
What am I listening to right now?
77
+
```
78
+
79
+
## Advanced Usage
80
+
### Viewing Other Users' Data
81
+
82
+
You can also view other users' listening data by specifying their username or DID:
83
+
```
84
+
Show me the recently played tracks for username.bsky.social
85
+
```
86
+
87
+
### Limiting Results
88
+
You can specify how many results you want to see:
89
+
```
90
+
Show me my top 10 tracks
91
+
```
92
+
93
+
### API Keys (For Developers)
94
+
95
+
If you're developing with Rocksky, you can create API keys:
96
+
```
97
+
Create a new Rocksky API key called "My Application"
98
+
```
99
+
### Troubleshooting
100
+
101
+
If you encounter any issues:
102
+
103
+
1. Ensure the Rocksky CLI is properly installed
104
+
2. Verify your MCP configuration is correct
105
+
3. Check if you're logged into your Rocksky account
106
+
4. Restart Claude Desktop
107
+
108
+
## Further Resources
109
+
110
+
- [AT Protocol Documentation](https://atproto.com)
111
+
- [Claude MCP Documentation](https://docs.anthropic.com/en/docs/agents-and-tools/mcp)
112
+
+3
Introduction.md
+3
Introduction.md
···
1
+
## What is Rocksky?
2
+
3
+
Rocksky is a decentralized music tracking service. It connects with your favorite music players and streaming platforms (like Spotify, support for additional sources like Apple Music, Deezer, Tidal, etc is coming soon!) and publishes your listening history (aka "scrobbles") to your Bluesky account using the [AT Protocol](https://atproto.com).
+5
Overview.md
+5
Overview.md
···
1
+
2
+
3
+
Rocksky is a music tracking and discovery platform built on top of the [AT Protocol](https://atproto.com/). Think of it as [Last.fm](https://www.last.fm/), reimagined for the decentralized social web. Rocksky lets you scrobble your listening activity, explore your stats, discover music trends, and share your music taste โ all without being tied to a single platform.
4
+
5
+
๐ ๏ธ **Note**: Rocksky will be open-sourced soon. Youโll be able to run your own instance, build extensions, or contribute to the core!
+24
README.md
+24
README.md
···
1
+
# ๐ Rocksky Docs
2
+
3
+
This repository contains the source Markdown files for the [Rocksky Documentation](https://docs.rocksky.app).
4
+
5
+
The docs are written in Markdown and hosted on [apidogs.com](https://apidogs.com), where they are rendered and published for easy access.
6
+
7
+
## ๐ Syncing with apidogs.com
8
+
9
+
The content of this repository is kept **in sync** with the live documentation on apidogs.com.
10
+
> **Note:** Changes made here are **not automatically reflected** on the live docs website at the moment. Manual sync is required.
11
+
12
+
## ๐ ๏ธ Editing the Docs
13
+
14
+
To propose changes:
15
+
16
+
1. Fork this repository
17
+
2. Edit the relevant Markdown file(s)
18
+
3. Submit a pull request
19
+
20
+
We welcome contributions, corrections, and improvements!
21
+
22
+
## ๐ Note
23
+
24
+
This repository is **not** a standalone documentation site. It serves as the source of truth for documentation content deployed on [apidogs.com](https://docs.rocksky.app).