navidrome-mcp 1.0.1 → 1.0.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 +56 -3
- package/dist/tools/test.d.ts +1 -0
- package/dist/tools/test.d.ts.map +1 -1
- package/dist/tools/test.js +2 -0
- package/dist/tools/test.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -107,13 +107,29 @@ This isn't just another music tool – it's your personal music curator powered
|
|
|
107
107
|
### Prerequisites
|
|
108
108
|
|
|
109
109
|
* **Node.js 20+** ([Download here](https://nodejs.org/))
|
|
110
|
-
* **pnpm** package manager ([Install instructions](https://pnpm.io/installation))
|
|
111
110
|
* **Running Navidrome server** with your music library
|
|
112
111
|
* **Claude Desktop** or **ChatGPT Desktop** (or any MCP-compatible client)
|
|
113
112
|
|
|
113
|
+
**Additional for manual build:**
|
|
114
|
+
* **pnpm** package manager ([Install instructions](https://pnpm.io/installation))
|
|
115
|
+
|
|
114
116
|
### Quick Setup
|
|
115
117
|
|
|
116
|
-
#### 1
|
|
118
|
+
#### Method 1: NPM Package (Recommended)
|
|
119
|
+
|
|
120
|
+
The easiest way to get started is using the published npm package, which auto-updates on launch:
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
npm install -g navidrome-mcp
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
📦 **Package**: [navidrome-mcp on npm](https://www.npmjs.com/package/navidrome-mcp)
|
|
127
|
+
|
|
128
|
+
This installs the MCP server globally and keeps it up-to-date automatically.
|
|
129
|
+
|
|
130
|
+
#### Method 2: Manual Build (Development)
|
|
131
|
+
|
|
132
|
+
For development or custom builds:
|
|
117
133
|
|
|
118
134
|
```bash
|
|
119
135
|
git clone https://github.com/Blakeem/Navidrome-MCP.git
|
|
@@ -131,6 +147,30 @@ Find your configuration file:
|
|
|
131
147
|
|
|
132
148
|
Add the Navidrome MCP server:
|
|
133
149
|
|
|
150
|
+
#### Using NPM Package (Recommended)
|
|
151
|
+
|
|
152
|
+
```json
|
|
153
|
+
{
|
|
154
|
+
"mcpServers": {
|
|
155
|
+
"navidrome": {
|
|
156
|
+
"command": "npx",
|
|
157
|
+
"args": ["navidrome-mcp"],
|
|
158
|
+
"env": {
|
|
159
|
+
"NAVIDROME_URL": "http://your-server:4533",
|
|
160
|
+
"NAVIDROME_USERNAME": "your_username",
|
|
161
|
+
"NAVIDROME_PASSWORD": "your_password",
|
|
162
|
+
"LASTFM_API_KEY": "your_api_key", // Get your own at https://www.last.fm/api/account/create
|
|
163
|
+
"RADIO_BROWSER_USER_AGENT": "Navidrome-MCP/1.0 (+https://github.com/Blakeem/Navidrome-MCP)",
|
|
164
|
+
"LYRICS_PROVIDER": "lrclib",
|
|
165
|
+
"LRCLIB_USER_AGENT": "Navidrome-MCP/1.0 (+https://github.com/Blakeem/Navidrome-MCP)"
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
#### Using Manual Build (Alternative)
|
|
173
|
+
|
|
134
174
|
```json
|
|
135
175
|
{
|
|
136
176
|
"mcpServers": {
|
|
@@ -152,7 +192,8 @@ Add the Navidrome MCP server:
|
|
|
152
192
|
```
|
|
153
193
|
|
|
154
194
|
**Important**:
|
|
155
|
-
-
|
|
195
|
+
- **NPM method**: Uses `npx navidrome-mcp` which auto-updates on each launch
|
|
196
|
+
- **Manual method**: Requires absolute paths (full path from root) and manual updates
|
|
156
197
|
- Get a free Last.fm API key at [Last.fm](https://www.last.fm/api) (optional - enables music discovery)
|
|
157
198
|
- Radio Browser integration requires a User-Agent string (enables station discovery)
|
|
158
199
|
- Lyrics integration works without API keys (LRCLIB is free)
|
|
@@ -161,6 +202,18 @@ Add the Navidrome MCP server:
|
|
|
161
202
|
|
|
162
203
|
### Configure ChatGPT Desktop
|
|
163
204
|
|
|
205
|
+
#### Using NPM Package (Recommended)
|
|
206
|
+
|
|
207
|
+
1. Open **ChatGPT Desktop**
|
|
208
|
+
2. Go to **Settings → Connectors**
|
|
209
|
+
3. Click **Create** and add:
|
|
210
|
+
- **Command**: `npx`
|
|
211
|
+
- **Args**: `navidrome-mcp`
|
|
212
|
+
- **Environment variables**: Same as above
|
|
213
|
+
4. Save and restart
|
|
214
|
+
|
|
215
|
+
#### Using Manual Build (Alternative)
|
|
216
|
+
|
|
164
217
|
1. Open **ChatGPT Desktop**
|
|
165
218
|
2. Go to **Settings → Connectors**
|
|
166
219
|
3. Click **Create** and add:
|
package/dist/tools/test.d.ts
CHANGED
package/dist/tools/test.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../src/tools/test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../src/tools/test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAO3D,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE;QACX,GAAG,EAAE,MAAM,CAAC;QACZ,aAAa,EAAE,OAAO,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE;YACT,MAAM,EAAE;gBACN,OAAO,EAAE,OAAO,CAAC;gBACjB,WAAW,EAAE,MAAM,CAAC;gBACpB,KAAK,EAAE,MAAM,EAAE,CAAC;aACjB,CAAC;YACF,YAAY,EAAE;gBACZ,OAAO,EAAE,OAAO,CAAC;gBACjB,WAAW,EAAE,MAAM,CAAC;gBACpB,KAAK,EAAE,MAAM,EAAE,CAAC;aACjB,CAAC;YACF,MAAM,EAAE;gBACN,OAAO,EAAE,OAAO,CAAC;gBACjB,WAAW,EAAE,MAAM,CAAC;gBACpB,KAAK,EAAE,MAAM,EAAE,CAAC;aACjB,CAAC;SACH,CAAC;KACH,CAAC;CACH;AAED,wBAAsB,cAAc,CAClC,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,oBAAoB,CAAC,CAmE/B;AAqBD,eAAO,MAAM,gBAAgB,EAAE,YAM9B,CAAC;AAGF,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,CAU5F"}
|
package/dist/tools/test.js
CHANGED
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
17
17
|
*/
|
|
18
18
|
import { z } from 'zod';
|
|
19
|
+
import { getPackageVersion } from '../utils/version.js';
|
|
19
20
|
const TestConnectionSchema = z.object({
|
|
20
21
|
includeServerInfo: z.boolean().optional().default(false),
|
|
21
22
|
});
|
|
@@ -41,6 +42,7 @@ export async function testConnection(client, config, args) {
|
|
|
41
42
|
url: 'Connected to Navidrome',
|
|
42
43
|
authenticated: true,
|
|
43
44
|
timestamp: new Date().toISOString(),
|
|
45
|
+
version: getPackageVersion(),
|
|
44
46
|
features: {
|
|
45
47
|
lastfm: {
|
|
46
48
|
enabled: hasLastFm,
|
package/dist/tools/test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/tools/test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/tools/test.ts"],"names":[],"mappings":"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"}
|