@darrenjaws/spotify-mcp 0.4.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +30 -95
- package/build/index.js +4 -0
- package/build/index.js.map +1 -1
- package/build/spotify/errors.d.ts +11 -0
- package/build/spotify/errors.d.ts.map +1 -0
- package/build/spotify/errors.js +61 -0
- package/build/spotify/errors.js.map +1 -0
- package/build/tools/playback.d.ts +1 -0
- package/build/tools/playback.d.ts.map +1 -1
- package/build/tools/playback.js +255 -124
- package/build/tools/playback.js.map +1 -1
- package/build/tools/playlists.d.ts.map +1 -1
- package/build/tools/playlists.js +84 -63
- package/build/tools/playlists.js.map +1 -1
- package/build/tools/search.d.ts.map +1 -1
- package/build/tools/search.js +53 -47
- package/build/tools/search.js.map +1 -1
- package/build/tools/user.d.ts.map +1 -1
- package/build/tools/user.js +84 -68
- package/build/tools/user.js.map +1 -1
- package/package.json +3 -2
- package/build/handlers/call-tool.d.ts +0 -6
- package/build/handlers/call-tool.d.ts.map +0 -1
- package/build/handlers/call-tool.js +0 -46
- package/build/handlers/call-tool.js.map +0 -1
- package/build/handlers/tools.d.ts +0 -296
- package/build/handlers/tools.d.ts.map +0 -1
- package/build/handlers/tools.js +0 -246
- package/build/handlers/tools.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
# Spotify MCP Server
|
|
2
2
|
|
|
3
|
+
[](https://github.com/darrenjaworski/spotify-mcp/actions/workflows/ci.yml)
|
|
3
4
|
[](https://www.npmjs.com/package/@darrenjaws/spotify-mcp)
|
|
4
5
|
[](https://www.npmjs.com/package/@darrenjaws/spotify-mcp)
|
|
5
6
|
[](https://github.com/darrenjaworski/spotify-mcp/blob/main/LICENSE)
|
|
@@ -17,7 +18,6 @@ A Model Context Protocol (MCP) server that provides seamless integration with Sp
|
|
|
17
18
|
- [Configuration](#configuration)
|
|
18
19
|
- [Automated Setup](#automated-setup-recommended)
|
|
19
20
|
- [Manual Setup](#manual-setup)
|
|
20
|
-
- [Spotify App Setup](#spotify-app-setup)
|
|
21
21
|
- [Environment Variables](#environment-variables)
|
|
22
22
|
- [MCP Configuration](#mcp-configuration)
|
|
23
23
|
- [Usage](#usage)
|
|
@@ -162,12 +162,13 @@ SPOTIFY_REDIRECT_URI=http://127.0.0.1:3000/callback
|
|
|
162
162
|
|
|
163
163
|
### MCP Configuration
|
|
164
164
|
|
|
165
|
+
#### Claude Desktop
|
|
166
|
+
|
|
165
167
|
Add to your Claude Desktop config file:
|
|
166
168
|
|
|
167
|
-
**
|
|
168
|
-
**Windows**: `%APPDATA%/Claude/claude_desktop_config.json`
|
|
169
|
+
- **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
170
|
+
- **Windows**: `%APPDATA%/Claude/claude_desktop_config.json`
|
|
169
171
|
|
|
170
|
-
**Using npx (recommended):**
|
|
171
172
|
```json
|
|
172
173
|
{
|
|
173
174
|
"mcpServers": {
|
|
@@ -184,61 +185,22 @@ Add to your Claude Desktop config file:
|
|
|
184
185
|
}
|
|
185
186
|
```
|
|
186
187
|
|
|
187
|
-
|
|
188
|
-
```json
|
|
189
|
-
{
|
|
190
|
-
"mcpServers": {
|
|
191
|
-
"spotify": {
|
|
192
|
-
"command": "spotify-mcp",
|
|
193
|
-
"env": {
|
|
194
|
-
"SPOTIFY_CLIENT_ID": "your_client_id_here",
|
|
195
|
-
"SPOTIFY_CLIENT_SECRET": "your_client_secret_here",
|
|
196
|
-
"SPOTIFY_REDIRECT_URI": "http://127.0.0.1:3000/callback"
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
```
|
|
202
|
-
|
|
203
|
-
**From source (development):**
|
|
204
|
-
```json
|
|
205
|
-
{
|
|
206
|
-
"mcpServers": {
|
|
207
|
-
"spotify": {
|
|
208
|
-
"command": "node",
|
|
209
|
-
"args": ["/absolute/path/to/spotify-mcp/build/bin.js"],
|
|
210
|
-
"env": {
|
|
211
|
-
"SPOTIFY_CLIENT_ID": "your_client_id_here",
|
|
212
|
-
"SPOTIFY_CLIENT_SECRET": "your_client_secret_here",
|
|
213
|
-
"SPOTIFY_REDIRECT_URI": "http://127.0.0.1:3000/callback"
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
```
|
|
219
|
-
|
|
220
|
-
**Note**: When using npx or global install, environment variables must be specified in the MCP config (not in a `.env` file).
|
|
221
|
-
|
|
222
|
-
### Claude Code (Terminal) Configuration
|
|
188
|
+
Restart Claude Desktop after saving.
|
|
223
189
|
|
|
224
|
-
|
|
190
|
+
#### Claude Code (CLI)
|
|
225
191
|
|
|
226
|
-
|
|
192
|
+
The easiest way is the `claude mcp add` command:
|
|
227
193
|
|
|
228
194
|
```bash
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
# - Command: npx
|
|
235
|
-
# - Args: -y @darrenjaws/spotify-mcp
|
|
236
|
-
# - Add environment variables when prompted
|
|
195
|
+
claude mcp add spotify \
|
|
196
|
+
-e SPOTIFY_CLIENT_ID=your_client_id_here \
|
|
197
|
+
-e SPOTIFY_CLIENT_SECRET=your_client_secret_here \
|
|
198
|
+
-e SPOTIFY_REDIRECT_URI=http://127.0.0.1:3000/callback \
|
|
199
|
+
-- npx -y @darrenjaws/spotify-mcp
|
|
237
200
|
```
|
|
238
201
|
|
|
239
|
-
|
|
202
|
+
Or add it manually to `~/.claude.json` (global) or `.claude/settings.json` (project):
|
|
240
203
|
|
|
241
|
-
**Global config** (`~/.claude/config.json`):
|
|
242
204
|
```json
|
|
243
205
|
{
|
|
244
206
|
"mcpServers": {
|
|
@@ -255,13 +217,16 @@ claude mcp add
|
|
|
255
217
|
}
|
|
256
218
|
```
|
|
257
219
|
|
|
258
|
-
|
|
220
|
+
Verify with `claude mcp list` — you should see `spotify` in the list.
|
|
221
|
+
|
|
222
|
+
#### From Source (Development)
|
|
223
|
+
|
|
259
224
|
```json
|
|
260
225
|
{
|
|
261
226
|
"mcpServers": {
|
|
262
227
|
"spotify": {
|
|
263
|
-
"command": "
|
|
264
|
-
"args": ["
|
|
228
|
+
"command": "node",
|
|
229
|
+
"args": ["/absolute/path/to/spotify-mcp/build/bin.js"],
|
|
265
230
|
"env": {
|
|
266
231
|
"SPOTIFY_CLIENT_ID": "your_client_id_here",
|
|
267
232
|
"SPOTIFY_CLIENT_SECRET": "your_client_secret_here",
|
|
@@ -272,38 +237,7 @@ claude mcp add
|
|
|
272
237
|
}
|
|
273
238
|
```
|
|
274
239
|
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
If you already have this configured in Claude Desktop, you can copy your configuration:
|
|
278
|
-
|
|
279
|
-
**1. View your Claude Desktop config:**
|
|
280
|
-
```bash
|
|
281
|
-
# macOS
|
|
282
|
-
cat ~/Library/Application\ Support/Claude/claude_desktop_config.json
|
|
283
|
-
|
|
284
|
-
# Windows (PowerShell)
|
|
285
|
-
Get-Content $env:APPDATA\Claude\claude_desktop_config.json
|
|
286
|
-
```
|
|
287
|
-
|
|
288
|
-
**2. Copy the `spotify` server config to Claude Code:**
|
|
289
|
-
```bash
|
|
290
|
-
# Create Claude Code config directory if it doesn't exist
|
|
291
|
-
mkdir -p ~/.claude
|
|
292
|
-
|
|
293
|
-
# Edit your Claude Code config
|
|
294
|
-
nano ~/.claude/config.json
|
|
295
|
-
# or
|
|
296
|
-
code ~/.claude/config.json
|
|
297
|
-
```
|
|
298
|
-
|
|
299
|
-
**3. Paste the same `mcpServers` configuration** - the format is identical!
|
|
300
|
-
|
|
301
|
-
**4. Verify it works:**
|
|
302
|
-
```bash
|
|
303
|
-
claude mcp list
|
|
304
|
-
```
|
|
305
|
-
|
|
306
|
-
You should see `spotify` in the list of available MCP servers.
|
|
240
|
+
**Note**: When using npx or global install, environment variables must be specified in the MCP config (not in a `.env` file).
|
|
307
241
|
|
|
308
242
|
## Usage
|
|
309
243
|
|
|
@@ -514,21 +448,22 @@ Run the test suite to verify tool registration and functionality:
|
|
|
514
448
|
```bash
|
|
515
449
|
npm test # Run all tests
|
|
516
450
|
npm run test:watch # Run tests in watch mode
|
|
517
|
-
npm run test:coverage # Generate coverage report
|
|
518
451
|
```
|
|
519
452
|
|
|
520
453
|
**Test Coverage:**
|
|
521
|
-
- ✅
|
|
522
|
-
- ✅
|
|
523
|
-
- ✅
|
|
524
|
-
- ✅
|
|
525
|
-
- ✅
|
|
454
|
+
- ✅ 160 tests across 10 test files
|
|
455
|
+
- ✅ Tool-level unit tests for playback, search, playlists, user, and system
|
|
456
|
+
- ✅ Auth tests (credentials, token management, file permissions, refresh)
|
|
457
|
+
- ✅ Logger tests (sensitive data redaction, log levels)
|
|
458
|
+
- ✅ Error handling tests (all HTTP status codes, security)
|
|
459
|
+
- ✅ Server registration and integration tests
|
|
526
460
|
|
|
527
461
|
### Linting and Code Quality
|
|
528
462
|
|
|
529
463
|
```bash
|
|
530
|
-
npm run lint
|
|
531
|
-
npm run lint:fix
|
|
464
|
+
npm run lint # Check code style
|
|
465
|
+
npm run lint:fix # Auto-fix linting issues
|
|
466
|
+
npm run static-checks # Run lint, build, and test together
|
|
532
467
|
```
|
|
533
468
|
|
|
534
469
|
### Troubleshooting
|
package/build/index.js
CHANGED
|
@@ -64,6 +64,10 @@ server.registerTool("spotify_get_playback_state", {
|
|
|
64
64
|
description: "Get current playback state including track, artist, album, and playback status",
|
|
65
65
|
inputSchema: {},
|
|
66
66
|
}, async () => playbackTools.getPlaybackState());
|
|
67
|
+
server.registerTool("spotify_get_devices", {
|
|
68
|
+
description: "List available Spotify Connect devices",
|
|
69
|
+
inputSchema: {},
|
|
70
|
+
}, async () => playbackTools.getDevices());
|
|
67
71
|
// Register search tool
|
|
68
72
|
server.registerTool("spotify_search", {
|
|
69
73
|
description: "Search for tracks, albums, artists, or playlists",
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Centralized error handling for tool implementations.
|
|
3
|
+
* Transforms raw Spotify API errors into safe, user-friendly responses.
|
|
4
|
+
*/
|
|
5
|
+
import type { ToolResponse } from "../types.js";
|
|
6
|
+
/**
|
|
7
|
+
* Handle errors from tool functions.
|
|
8
|
+
* Logs the real error (with auto-redaction) and returns a safe ToolResponse.
|
|
9
|
+
*/
|
|
10
|
+
export declare function handleToolError(error: unknown, toolName: string): ToolResponse;
|
|
11
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/spotify/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAyChD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,CAe9E"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Centralized error handling for tool implementations.
|
|
3
|
+
* Transforms raw Spotify API errors into safe, user-friendly responses.
|
|
4
|
+
*/
|
|
5
|
+
import { logger } from "../utils/logger.js";
|
|
6
|
+
/**
|
|
7
|
+
* Extract HTTP status code from various error shapes.
|
|
8
|
+
* spotify-web-api-node can throw errors with .statusCode or .body.error.status
|
|
9
|
+
*/
|
|
10
|
+
function getStatusCode(error) {
|
|
11
|
+
if (typeof error?.statusCode === "number") {
|
|
12
|
+
return error.statusCode;
|
|
13
|
+
}
|
|
14
|
+
if (typeof error?.body?.error?.status === "number") {
|
|
15
|
+
return error.body.error.status;
|
|
16
|
+
}
|
|
17
|
+
return 0;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Map HTTP status codes to safe, user-friendly messages.
|
|
21
|
+
*/
|
|
22
|
+
function getUserMessage(statusCode, toolName) {
|
|
23
|
+
if (statusCode === 400) {
|
|
24
|
+
return "Bad request. Please check your input and try again.";
|
|
25
|
+
}
|
|
26
|
+
if (statusCode === 401) {
|
|
27
|
+
return "Authentication expired. Please restart the server to re-authenticate.";
|
|
28
|
+
}
|
|
29
|
+
if (statusCode === 403) {
|
|
30
|
+
return "Insufficient permissions. Your Spotify account may not have access to this feature.";
|
|
31
|
+
}
|
|
32
|
+
if (statusCode === 404) {
|
|
33
|
+
return "Resource not found. Please check the ID or URI and try again.";
|
|
34
|
+
}
|
|
35
|
+
if (statusCode === 429) {
|
|
36
|
+
return "Rate limited by Spotify. Please wait a moment and try again.";
|
|
37
|
+
}
|
|
38
|
+
if (statusCode >= 500 && statusCode < 600) {
|
|
39
|
+
return "Spotify is experiencing issues. Please try again in a moment.";
|
|
40
|
+
}
|
|
41
|
+
return `An unexpected error occurred while executing ${toolName}.`;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Handle errors from tool functions.
|
|
45
|
+
* Logs the real error (with auto-redaction) and returns a safe ToolResponse.
|
|
46
|
+
*/
|
|
47
|
+
export function handleToolError(error, toolName) {
|
|
48
|
+
logger.error(`${toolName} failed:`, error);
|
|
49
|
+
const statusCode = getStatusCode(error);
|
|
50
|
+
const message = getUserMessage(statusCode, toolName);
|
|
51
|
+
return {
|
|
52
|
+
content: [
|
|
53
|
+
{
|
|
54
|
+
type: "text",
|
|
55
|
+
text: message,
|
|
56
|
+
},
|
|
57
|
+
],
|
|
58
|
+
isError: true,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/spotify/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAG5C;;;GAGG;AACH,SAAS,aAAa,CAAC,KAAU;IAC/B,IAAI,OAAO,KAAK,EAAE,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC1C,OAAO,KAAK,CAAC,UAAU,CAAC;IAC1B,CAAC;IACD,IAAI,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,KAAK,QAAQ,EAAE,CAAC;QACnD,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IACjC,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,UAAkB,EAAE,QAAgB;IAC1D,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;QACvB,OAAO,qDAAqD,CAAC;IAC/D,CAAC;IACD,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;QACvB,OAAO,uEAAuE,CAAC;IACjF,CAAC;IACD,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;QACvB,OAAO,qFAAqF,CAAC;IAC/F,CAAC;IACD,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;QACvB,OAAO,+DAA+D,CAAC;IACzE,CAAC;IACD,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;QACvB,OAAO,8DAA8D,CAAC;IACxE,CAAC;IACD,IAAI,UAAU,IAAI,GAAG,IAAI,UAAU,GAAG,GAAG,EAAE,CAAC;QAC1C,OAAO,+DAA+D,CAAC;IACzE,CAAC;IACD,OAAO,gDAAgD,QAAQ,GAAG,CAAC;AACrE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,KAAc,EAAE,QAAgB;IAC9D,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,UAAU,EAAE,KAAK,CAAC,CAAC;IAE3C,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,cAAc,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAErD,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,OAAO;aACd;SACF;QACD,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC"}
|
|
@@ -14,4 +14,5 @@ export declare function previous(args: {
|
|
|
14
14
|
}): Promise<ToolResponse>;
|
|
15
15
|
export declare function setVolume(args: VolumeArgs): Promise<ToolResponse>;
|
|
16
16
|
export declare function getPlaybackState(): Promise<ToolResponse>;
|
|
17
|
+
export declare function getDevices(): Promise<ToolResponse>;
|
|
17
18
|
//# sourceMappingURL=playback.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"playback.d.ts","sourceRoot":"","sources":["../../src/tools/playback.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"playback.d.ts","sourceRoot":"","sources":["../../src/tools/playback.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAiC1E,wBAAsB,IAAI,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CA0DpE;AAED,wBAAsB,KAAK,CAAC,IAAI,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAyB/E;AAED,wBAAsB,IAAI,CAAC,IAAI,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAyB9E;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAyBlF;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAyBvE;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,YAAY,CAAC,CA6D9D;AAED,wBAAsB,UAAU,IAAI,OAAO,CAAC,YAAY,CAAC,CAsCxD"}
|