forked from
rocksky.app/rocksky
A decentralized music tracking and discovery platform built on AT Protocol 馃幍
1# Rocksky MCP Tools
2
3This document provides a comprehensive list of all tools available in the Rocksky MCP server.
4
5## whoami
6
7Get the current user's information.
8
9## nowplaying
10
11Get the currently playing track.
12
13**Parameters:**
14
15- `did` (optional): The DID or handle of the user to get the now playing track for. If not provided, it defaults to the current user.
16
17**Example:**
18```json
19{
20 "name": "nowplaying",
21 "args": {
22 "did": "did:plc:7vdlgi2bflelz7mmuxoqjfcr"
23 }
24}
25```
26
27**Returns:**
28The currently playing track for the specified user.
29
30## scrobbles
31
32Display recently played tracks (recent scrobbles).
33
34**Parameters:**
35- `did` (optional): The DID or handle of the user to get scrobbles for. If not provided, it returns all recent scrobbles from Rocksky.
36
37**Example:**
38```json
39{
40 "name": "scrobbles",
41 "args": {
42 "did": "did:plc:7vdlgi2bflelz7mmuxoqjfcr"
43 }
44}
45```
46
47**Returns:**
48A list of recently played tracks for the specified user.
49
50## my-scrobbles
51
52Display recently played tracks (recent scrobbles) for the current user.
53
54**Example:**
55```json
56{
57 "name": "my-scrobbles"
58}
59```
60
61**Returns:**
62A list of recently played tracks for the current user.
63
64## search
65Search for tracks, albums, artists, or Rocksky users.
66
67**Parameters:**
68- `query`: The search query string.
69- `limit` (optional): The maximum number of results to return. Defaults to 10.
70- `albums` (optional): If true, search for albums. Defaults to false.
71- `artists` (optional): If true, search for artists. Defaults to false.
72- `tracks` (optional): If true, search for tracks. Defaults to false.
73- `users` (optional): If true, search for Rocksky users. Defaults to false.
74
75**Example:**
76```json
77{
78 "name": "search",
79 "args": {
80 "query": "Radiohead",
81 "limit": 5,
82 "albums": false,
83 "artists": false,
84 "tracks": false,
85 "users": false
86 }
87}
88```
89
90**Returns:**
91A list of search results based on the specified query and filters.
92
93## artists
94List the user's top artists or current user's top artists if no `did` is provided.
95
96**Parameters:**
97- `did` (optional): The DID or handle of the user to get top artists for. If not provided, it defaults to the current user.
98- `limit` (optional): The maximum number of artists to return. Defaults to 20.
99
100**Example:**
101```json
102{
103 "name": "artists",
104 "args": {
105 "did": "did:plc:7vdlgi2bflelz7mmuxoqjfcr",
106 "limit": 20
107 }
108}
109```
110
111**Returns:**
112A list of the user's top artists, including their names and play counts.
113
114## albums
115List the user's top albums or current user's top albums if no `did` is provided.
116
117**Parameters:**
118- `did` (optional): The DID or handle of the user to get top albums for. If not provided, it defaults to the current user.
119- `limit` (optional): The maximum number of albums to return. Defaults to 20.
120
121**Example:**
122```json
123{
124 "name": "albums",
125 "args": {
126 "did": "did:plc:7vdlgi2bflelz7mmuxoqjfcr",
127 "limit": 20
128 }
129}
130```
131
132**Returns:**
133A list of the user's top albums, including their names and play counts.
134
135## tracks
136List the user's top tracks or current user's top tracks if no `did` is provided.
137
138**Parameters:**
139- `did` (optional): The DID or handle of the user to get top tracks for. If not provided, it defaults to the current user.
140- `limit` (optional): The maximum number of tracks to return. Defaults to 20.
141
142**Example:**
143```json
144{
145 "name": "tracks",
146 "args": {
147 "did": "did:plc:7vdlgi2bflelz7mmuxoqjfcr",
148 "limit": 20
149 }
150}
151```
152
153**Returns:**
154A list of the user's top tracks, including their names and play counts.
155
156## stats
157Display the user's Rocksky account statistics or current user's statistics if no `did` is provided.
158
159**Parameters:**
160- `did` (optional): The DID or handle of the user to get statistics for. If not provided, it defaults to the current user.
161
162**Example:**
163```json
164{
165 "name": "stats",
166 "args": {
167 "did": "did:plc:7vdlgi2bflelz7mmuxoqjfcr"
168 }
169}
170```
171
172## create-apikey
173Create a new API key for the current user.
174
175**Parameters:**
176- `name`: The name of the API key.
177- `description` (optional): A description of the API key.
178
179**Example:**
180```json
181{
182 "name": "create-apikey",
183 "args": {
184 "name": "My API Key",
185 "description": "This is my API key."
186 }
187}
188```
189
190**Returns:**
191A confirmation message indicating that the API key was created successfully.
192
193
194