navidrome-mcp 1.1.0 → 1.1.2

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 CHANGED
@@ -333,9 +333,8 @@ Add the Navidrome MCP server:
333
333
  | `validate_radio_stream` | Test stream URL validity |
334
334
  | `list_radio_stations` | View all stations |
335
335
  | `get_radio_station` | Get detailed information about a specific radio station by ID |
336
- | `create_radio_station` | Add new station (with optional validation*) |
336
+ | `create_radio_station` | Create radio stations using JSON array format (single or multiple stations, with optional validation*) |
337
337
  | `delete_radio_station` | Delete an internet radio station by ID |
338
- | `batch_create_radio_stations` | Batch add multiple stations (with optional validation*) |
339
338
  | `play_radio_station` | Start radio playback |
340
339
  | `get_current_radio_info` | Get information about currently playing radio station and stream metadata |
341
340
  | `discover_radio_stations` | Find internet radio stations globally |
@@ -344,7 +343,7 @@ Add the Navidrome MCP server:
344
343
  | `click_station` | Register play click for popularity metrics |
345
344
  | `vote_station` | Vote for a radio station |
346
345
 
347
- *Note: Both `create_radio_station` and `batch_create_radio_stations` support an optional `validateBeforeAdd` parameter that will test stream URLs before adding them to Navidrome.
346
+ *Note: `create_radio_station` supports an optional `validateBeforeAdd` parameter that will test stream URLs before adding them to Navidrome.
348
347
 
349
348
  ### 🎤 Lyrics & Timestamps
350
349
 
@@ -1 +1 @@
1
- {"version":3,"file":"radio-handlers.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/radio-handlers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAuTlD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,CAoC7F"}
1
+ {"version":3,"file":"radio-handlers.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/radio-handlers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAmSlD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,CAkC7F"}
@@ -1,7 +1,7 @@
1
1
  import { DEFAULT_VALUES } from '../../constants/defaults.js';
2
2
  import { ErrorFormatter } from '../../utils/error-formatter.js';
3
3
  // Import tool functions
4
- import { listRadioStations, createRadioStation, deleteRadioStation, getRadioStation, playRadioStation, getCurrentRadioInfo, batchCreateRadioStations, } from '../radio.js';
4
+ import { listRadioStations, createRadioStation, deleteRadioStation, getRadioStation, playRadioStation, getCurrentRadioInfo, } from '../radio.js';
5
5
  import { validateRadioStream } from '../radio-validation.js';
6
6
  import { discoverRadioStations, getRadioFilters, getStationByUuid, clickStation, voteStation, } from '../radio-discovery.js';
7
7
  // Helper function to get radio tools based on config
@@ -17,28 +17,45 @@ function getRadioTools(config) {
17
17
  },
18
18
  {
19
19
  name: 'create_radio_station',
20
- description: 'Create a new internet radio station in Navidrome',
20
+ description: 'Create one or more radio stations. Always provide stations as a JSON array - use a single-item array for one station. Each station requires name and streamUrl, with optional homePageUrl.',
21
21
  inputSchema: {
22
22
  type: 'object',
23
23
  properties: {
24
- name: {
25
- type: 'string',
26
- description: 'Station name (required)',
27
- },
28
- streamUrl: {
29
- type: 'string',
30
- description: 'Stream URL (required) - must be valid HTTP/HTTPS URL',
31
- },
32
- homePageUrl: {
33
- type: 'string',
34
- description: 'Optional homepage URL for the station',
24
+ stations: {
25
+ type: 'array',
26
+ description: 'Array of radio stations to create. For a single station, use: [{"name": "Station Name", "streamUrl": "http://stream.url"}]. For multiple stations, add more objects to the array.',
27
+ minItems: 1,
28
+ items: {
29
+ type: 'object',
30
+ properties: {
31
+ name: {
32
+ type: 'string',
33
+ description: 'Station name (required)',
34
+ minLength: 1,
35
+ },
36
+ streamUrl: {
37
+ type: 'string',
38
+ description: 'Stream URL (required) - must be valid HTTP/HTTPS URL',
39
+ pattern: '^https?://.+',
40
+ },
41
+ homePageUrl: {
42
+ type: 'string',
43
+ description: 'Optional homepage URL for the station',
44
+ pattern: '^https?://.+',
45
+ },
46
+ },
47
+ required: ['name', 'streamUrl'],
48
+ additionalProperties: false,
49
+ },
35
50
  },
36
51
  validateBeforeAdd: {
37
52
  type: 'boolean',
38
- description: 'Validate stream URL before adding (default: false)',
53
+ description: 'Test stream URLs before adding to ensure they work (default: false). Recommended for unknown streams.',
54
+ default: false,
39
55
  },
40
56
  },
41
- required: ['name', 'streamUrl'],
57
+ required: ['stations'],
58
+ additionalProperties: false,
42
59
  },
43
60
  },
44
61
  {
@@ -91,42 +108,6 @@ function getRadioTools(config) {
91
108
  properties: {},
92
109
  },
93
110
  },
94
- {
95
- name: 'batch_create_radio_stations',
96
- description: 'Batch create multiple internet radio stations in Navidrome',
97
- inputSchema: {
98
- type: 'object',
99
- properties: {
100
- stations: {
101
- type: 'array',
102
- description: 'Array of radio stations to create',
103
- items: {
104
- type: 'object',
105
- properties: {
106
- name: {
107
- type: 'string',
108
- description: 'Station name (required)',
109
- },
110
- streamUrl: {
111
- type: 'string',
112
- description: 'Stream URL (required)',
113
- },
114
- homePageUrl: {
115
- type: 'string',
116
- description: 'Optional homepage URL',
117
- },
118
- },
119
- required: ['name', 'streamUrl'],
120
- },
121
- },
122
- validateBeforeAdd: {
123
- type: 'boolean',
124
- description: 'Validate all stream URLs before adding (default: false)',
125
- },
126
- },
127
- required: ['stations'],
128
- },
129
- },
130
111
  {
131
112
  name: 'validate_radio_stream',
132
113
  description: 'Tests if a radio stream URL is valid, accessible, and streams audio content. Checks HTTP response, content type, streaming headers, and attempts to verify audio data.',
@@ -300,8 +281,6 @@ export function createRadioToolCategory(client, config) {
300
281
  return await playRadioStation(config, args);
301
282
  case 'get_current_radio_info':
302
283
  return await getCurrentRadioInfo(config, args);
303
- case 'batch_create_radio_stations':
304
- return await batchCreateRadioStations(config, args);
305
284
  case 'validate_radio_stream':
306
285
  return await validateRadioStream(client, args);
307
286
  case 'discover_radio_stations':
@@ -1 +1 @@
1
- {"version":3,"file":"radio-handlers.js","sourceRoot":"","sources":["../../../src/tools/handlers/radio-handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"radio-handlers.js","sourceRoot":"","sources":["../../../src/tools/handlers/radio-handlers.ts"],"names":[],"mappings":"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"}
@@ -5,9 +5,12 @@ import type { RadioStationDTO, CreateRadioStationResponse, DeleteRadioStationRes
5
5
  */
6
6
  export declare function listRadioStations(config: Config, args: unknown): Promise<ListRadioStationsResponse>;
7
7
  /**
8
- * Create a new radio station
8
+ * Create radio stations - always processes as batch (single station = batch of 1)
9
9
  */
10
- export declare function createRadioStation(config: Config, args: unknown): Promise<CreateRadioStationResponse>;
10
+ export declare function createRadioStation(config: Config, args: unknown): Promise<{
11
+ results: CreateRadioStationResponse[];
12
+ summary: string;
13
+ }>;
11
14
  /**
12
15
  * Delete a radio station by ID
13
16
  */
@@ -24,13 +27,6 @@ export declare function playRadioStation(config: Config, args: unknown): Promise
24
27
  message: string;
25
28
  station?: RadioStationDTO;
26
29
  }>;
27
- /**
28
- * Batch create multiple radio stations
29
- */
30
- export declare function batchCreateRadioStations(config: Config, args: unknown): Promise<{
31
- results: CreateRadioStationResponse[];
32
- summary: string;
33
- }>;
34
30
  /**
35
31
  * Get current radio playback information
36
32
  */
@@ -1 +1 @@
1
- {"version":3,"file":"radio.d.ts","sourceRoot":"","sources":["../../src/tools/radio.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EACV,eAAe,EAEf,0BAA0B,EAC1B,0BAA0B,EAC1B,yBAAyB,EACzB,iBAAiB,EAClB,MAAM,mBAAmB,CAAC;AAyC3B;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,yBAAyB,CAAC,CAsDpC;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,0BAA0B,CAAC,CAsFrC;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,0BAA0B,CAAC,CAuCrC;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,eAAe,CAAC,CAwB1B;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,eAAe,CAAA;CAAE,CAAC,CA+B3E;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC;IAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CA4DrE;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,iBAAiB,CAAC,CA2B5B"}
1
+ {"version":3,"file":"radio.d.ts","sourceRoot":"","sources":["../../src/tools/radio.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EACV,eAAe,EAEf,0BAA0B,EAC1B,0BAA0B,EAC1B,yBAAyB,EACzB,iBAAiB,EAClB,MAAM,mBAAmB,CAAC;AAyC3B;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,yBAAyB,CAAC,CAsDpC;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC;IAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAiJrE;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,0BAA0B,CAAC,CAuCrC;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,eAAe,CAAC,CAwB1B;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,eAAe,CAAA;CAAE,CAAC,CA+B3E;AAGD;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,iBAAiB,CAAC,CA2B5B"}
@@ -64,79 +64,128 @@ export async function listRadioStations(config, args) {
64
64
  }
65
65
  }
66
66
  /**
67
- * Create a new radio station
67
+ * Create radio stations - always processes as batch (single station = batch of 1)
68
68
  */
69
69
  export async function createRadioStation(config, args) {
70
- try {
71
- const params = args;
72
- if (params.name === null || params.name === undefined || params.name === '' || params.streamUrl === null || params.streamUrl === undefined || params.streamUrl === '') {
73
- throw new Error('Name and streamUrl are required');
74
- }
75
- logger.debug('Creating radio station:', params);
76
- // If validation is requested, validate the stream first
77
- if (params.validateBeforeAdd === true) {
78
- const { validateRadioStream } = await import('./radio-validation.js');
79
- const { NavidromeClient } = await import('../client/navidrome-client.js');
80
- const client = new NavidromeClient(config);
81
- await client.initialize();
82
- const validationResult = await validateRadioStream(client, {
83
- url: params.streamUrl,
84
- timeout: BATCH_VALIDATION_TIMEOUT
85
- });
86
- if (!validationResult.success) {
87
- return {
70
+ const params = args;
71
+ // Validate input
72
+ if (params.stations === null || params.stations === undefined || !Array.isArray(params.stations)) {
73
+ throw new Error('Provide stations array. Example: {"stations": [{"name": "Station Name", "streamUrl": "http://stream.url"}]}');
74
+ }
75
+ if (params.stations.length === 0) {
76
+ throw new Error('At least one station must be provided in the stations array');
77
+ }
78
+ logger.debug(`Creating ${params.stations.length} radio station(s)`);
79
+ const results = [];
80
+ let successCount = 0;
81
+ let failedCount = 0;
82
+ let validationFailedCount = 0;
83
+ // Process each station
84
+ for (const station of params.stations) {
85
+ try {
86
+ // Validate required fields
87
+ if (!station.name || station.name.trim() === '') {
88
+ results.push({
88
89
  success: false,
89
- error: `Stream validation failed: ${validationResult.status}. Station was not added.`,
90
- };
90
+ error: 'Station name is required and cannot be empty'
91
+ });
92
+ failedCount++;
93
+ continue;
91
94
  }
95
+ if (!station.streamUrl || station.streamUrl.trim() === '') {
96
+ results.push({
97
+ success: false,
98
+ error: `Stream URL is required for station "${station.name}"`
99
+ });
100
+ failedCount++;
101
+ continue;
102
+ }
103
+ logger.debug('Creating radio station:', station);
104
+ // Optional stream validation
105
+ if (params.validateBeforeAdd === true) {
106
+ const { validateRadioStream } = await import('./radio-validation.js');
107
+ const { NavidromeClient } = await import('../client/navidrome-client.js');
108
+ const client = new NavidromeClient(config);
109
+ await client.initialize();
110
+ const validationResult = await validateRadioStream(client, {
111
+ url: station.streamUrl,
112
+ timeout: BATCH_VALIDATION_TIMEOUT
113
+ });
114
+ if (!validationResult.success) {
115
+ results.push({
116
+ success: false,
117
+ error: `Stream validation failed for "${station.name}": ${validationResult.errors.join(', ')}`
118
+ });
119
+ failedCount++;
120
+ validationFailedCount++;
121
+ continue;
122
+ }
123
+ }
124
+ // Create the station via Subsonic API
125
+ const authParams = createSubsonicAuth(config);
126
+ authParams.set('streamUrl', station.streamUrl);
127
+ authParams.set('name', station.name);
128
+ if (station.homePageUrl !== null && station.homePageUrl !== undefined && station.homePageUrl.trim() !== '') {
129
+ authParams.set('homePageUrl', station.homePageUrl);
130
+ }
131
+ const httpResponse = await fetch(`${config.navidromeUrl}/rest/createInternetRadioStation?${authParams.toString()}`, {
132
+ method: 'POST',
133
+ });
134
+ if (!httpResponse.ok) {
135
+ throw new Error(ErrorFormatter.subsonicApi(httpResponse));
136
+ }
137
+ const data = await httpResponse.json();
138
+ if (data['subsonic-response'].status !== 'ok') {
139
+ const errorMsg = data['subsonic-response'].error?.message ?? 'Unknown error';
140
+ throw new Error(ErrorFormatter.subsonicResponse(errorMsg));
141
+ }
142
+ // Successfully created
143
+ const createdStation = {
144
+ id: 'created', // Subsonic API doesn't return the created station details
145
+ name: station.name,
146
+ streamUrl: station.streamUrl,
147
+ createdAt: new Date().toISOString(),
148
+ updatedAt: new Date().toISOString(),
149
+ };
150
+ if (station.homePageUrl !== null && station.homePageUrl !== undefined && station.homePageUrl.trim() !== '') {
151
+ createdStation.homePageUrl = station.homePageUrl;
152
+ }
153
+ results.push({
154
+ success: true,
155
+ station: createdStation,
156
+ });
157
+ successCount++;
92
158
  }
93
- const authParams = createSubsonicAuth(config);
94
- authParams.set('streamUrl', params.streamUrl);
95
- authParams.set('name', params.name);
96
- if (params.homePageUrl !== null && params.homePageUrl !== undefined && params.homePageUrl !== '') {
97
- authParams.set('homePageUrl', params.homePageUrl);
98
- }
99
- const httpResponse = await fetch(`${config.navidromeUrl}/rest/createInternetRadioStation?${authParams.toString()}`, {
100
- method: 'POST',
101
- });
102
- if (!httpResponse.ok) {
103
- throw new Error(ErrorFormatter.subsonicApi(httpResponse));
104
- }
105
- const data = await httpResponse.json();
106
- if (data['subsonic-response'].status !== 'ok') {
107
- const errorMsg = data['subsonic-response'].error?.message ?? 'Unknown error';
108
- throw new Error(ErrorFormatter.subsonicResponse(errorMsg));
159
+ catch (error) {
160
+ logger.error(`Error creating radio station "${station.name}":`, error);
161
+ results.push({
162
+ success: false,
163
+ error: `Failed to add "${station.name}": ${error instanceof Error ? error.message : 'Unknown error'}`
164
+ });
165
+ failedCount++;
109
166
  }
110
- const createdStation = {
111
- id: 'created', // Subsonic API doesn't return the created station details
112
- name: params.name,
113
- streamUrl: params.streamUrl,
114
- createdAt: new Date().toISOString(),
115
- updatedAt: new Date().toISOString(),
116
- };
117
- if (params.homePageUrl !== null && params.homePageUrl !== undefined && params.homePageUrl !== '') {
118
- createdStation.homePageUrl = params.homePageUrl;
167
+ }
168
+ // Generate summary
169
+ let summary = `Added ${successCount} of ${params.stations.length} station(s).`;
170
+ if (failedCount > 0) {
171
+ summary += ` ${failedCount} failed`;
172
+ if (validationFailedCount > 0) {
173
+ summary += ` (${validationFailedCount} due to validation)`;
119
174
  }
120
- // Get one-time validation reminder message
175
+ summary += '.';
176
+ }
177
+ // Add validation reminder for first-time users (single station only)
178
+ if (successCount > 0 && params.stations.length === 1) {
121
179
  const messageManager = getMessageManager();
122
180
  const validationReminder = messageManager.getMessage('radio.validation_reminder');
123
- const apiResponse = {
124
- success: true,
125
- station: createdStation,
126
- };
127
- // Add validation reminder if this is the first time creating a station
128
181
  if (validationReminder !== null && validationReminder !== undefined && validationReminder !== '') {
129
- apiResponse.validation_reminder = validationReminder;
182
+ summary += ` ${validationReminder}`;
130
183
  }
131
- return apiResponse;
132
- }
133
- catch (error) {
134
- logger.error('Error creating radio station:', error);
135
- return {
136
- success: false,
137
- error: error instanceof Error ? error.message : 'Unknown error',
138
- };
139
184
  }
185
+ return {
186
+ results,
187
+ summary
188
+ };
140
189
  }
141
190
  /**
142
191
  * Delete a radio station by ID
@@ -229,60 +278,6 @@ export async function playRadioStation(config, args) {
229
278
  };
230
279
  }
231
280
  }
232
- /**
233
- * Batch create multiple radio stations
234
- */
235
- export async function batchCreateRadioStations(config, args) {
236
- const params = args;
237
- if (params.stations === null || params.stations === undefined || !Array.isArray(params.stations)) {
238
- throw new Error('Stations array is required');
239
- }
240
- if (params.stations.length === 0) {
241
- throw new Error('At least one station must be provided');
242
- }
243
- logger.debug(`Batch creating ${params.stations.length} radio stations`);
244
- const results = [];
245
- let successCount = 0;
246
- let failedCount = 0;
247
- let validationFailedCount = 0;
248
- for (const station of params.stations) {
249
- try {
250
- const result = await createRadioStation(config, {
251
- ...station,
252
- validateBeforeAdd: params.validateBeforeAdd
253
- });
254
- results.push(result);
255
- if (result.success) {
256
- successCount++;
257
- }
258
- else {
259
- failedCount++;
260
- if (result.error?.includes('validation failed') === true) {
261
- validationFailedCount++;
262
- }
263
- }
264
- }
265
- catch (error) {
266
- results.push({
267
- success: false,
268
- error: `Failed to add ${station.name}: ${error instanceof Error ? error.message : 'Unknown error'}`
269
- });
270
- failedCount++;
271
- }
272
- }
273
- let summary = `Added ${successCount} of ${params.stations.length} stations.`;
274
- if (failedCount > 0) {
275
- summary += ` ${failedCount} failed`;
276
- if (validationFailedCount > 0) {
277
- summary += ` (${validationFailedCount} due to validation)`;
278
- }
279
- summary += '.';
280
- }
281
- return {
282
- results,
283
- summary
284
- };
285
- }
286
281
  /**
287
282
  * Get current radio playback information
288
283
  */
@@ -1 +1 @@
1
- {"version":3,"file":"radio.js","sourceRoot":"","sources":["../../src/tools/radio.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"radio.js","sourceRoot":"","sources":["../../src/tools/radio.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "navidrome-mcp",
3
- "version": "1.1.0",
3
+ "version": "1.1.2",
4
4
  "description": "MCP server for interacting with Navidrome music server",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",