Skip to main content
Glama
MACOS_TROUBLESHOOTING.md6.23 kB
# macOS Troubleshooting Guide for Navidrome MCP Server ## Common Issues and Solutions ### Claude Desktop Crashes on Startup If Claude Desktop crashes immediately after adding the Navidrome MCP configuration, this is typically due to one of these issues: #### Issue 1: Node.js Path Not Found **Symptoms:** - Claude crashes on startup after adding `claude_desktop_config.json` - Error in logs: `spawn node ENOENT` **Solution:** Claude Desktop on macOS looks for executables in specific paths. If you installed Node.js via Homebrew, you may need to create symlinks: ```bash # For standard Homebrew Node.js installation ln -s $(which node) /usr/local/bin/node # For Apple Silicon Macs with Homebrew in /opt/homebrew ln -s $(which node) /opt/homebrew/bin/node # If you installed a specific Node version (e.g., node@22) ln -s /opt/homebrew/opt/node@22/bin/node /opt/homebrew/bin/node ``` #### Issue 2: Working Directory Access Error **Symptoms:** - Running the server manually shows: `Error: ENOENT: no such file or directory, uv_cwd` - Claude crashes when trying to start the MCP server **Solution:** This has been fixed in the latest version. Please update to the latest code: ```bash cd /path/to/navidrome-mcp git pull pnpm install pnpm build ``` #### Issue 3: Invalid JSON Configuration **Symptoms:** - Claude crashes immediately after editing `claude_desktop_config.json` **Solution:** Validate your JSON configuration. Common mistakes: - Trailing commas after the last item in objects or arrays - Missing quotes around string values - Using single quotes instead of double quotes Valid example: ```json { "mcpServers": { "navidrome": { "command": "node", "args": ["/Users/your-username/navidrome-mcp/dist/index.js"], "env": { "NAVIDROME_URL": "https://your-server.com", "NAVIDROME_USERNAME": "your-username", "NAVIDROME_PASSWORD": "your-password", "LASTFM_API_KEY": "your-api-key", "RADIO_BROWSER_USER_AGENT": "Navidrome-MCP/1.0 (+https://github.com/Blakeem/Navidrome-MCP)", "LYRICS_PROVIDER": "lrclib", "LRCLIB_USER_AGENT": "Navidrome-MCP/1.0 (+https://github.com/Blakeem/Navidrome-MCP)" } } } } ``` ### Testing Your Setup #### Step 1: Verify Node.js Installation ```bash # Check if Node.js is installed and accessible which node node --version # Should output something like: # /opt/homebrew/bin/node # v20.19.4 ``` #### Step 2: Test the Server Manually ```bash # Navigate to your Navidrome MCP directory cd /path/to/navidrome-mcp # Test with your credentials NAVIDROME_URL="https://your-server.com" \ NAVIDROME_USERNAME="your-username" \ NAVIDROME_PASSWORD="your-password" \ node dist/index.js # You should see: # [INFO] Navidrome client initialized # [INFO] Navidrome MCP Server started successfully ``` Press `Ctrl+C` to stop the test server. #### Step 3: Enable Debug Mode For troubleshooting, add debug mode to your configuration: ```json { "mcpServers": { "navidrome": { "command": "node", "args": ["/Users/your-username/navidrome-mcp/dist/index.js"], "env": { "NAVIDROME_URL": "https://your-server.com", "NAVIDROME_USERNAME": "your-username", "NAVIDROME_PASSWORD": "your-password", "LASTFM_API_KEY": "your-api-key", "RADIO_BROWSER_USER_AGENT": "Navidrome-MCP/1.0 (+https://github.com/Blakeem/Navidrome-MCP)", "LYRICS_PROVIDER": "lrclib", "LRCLIB_USER_AGENT": "Navidrome-MCP/1.0 (+https://github.com/Blakeem/Navidrome-MCP)", "DEBUG": "true" } } } } ``` This will output additional diagnostic information when the server starts. ### Checking Claude Desktop Logs View Claude Desktop logs for error details: ```bash # View MCP-related logs tail -f ~/Library/Logs/Claude/mcp*.log # View main Claude logs tail -f ~/Library/Logs/Claude/claude.log ``` ### Complete Reset Procedure If Claude continues to crash even after removing the configuration: ```bash # 1. Remove Claude completely (if installed via Homebrew) brew uninstall --zap claude # 2. Clean up configuration and cache rm -rf ~/Library/Application\ Support/Claude rm -rf ~/Library/Caches/Claude rm -rf ~/Library/Logs/Claude # 3. Reinstall Claude brew install --cask claude # 4. Start Claude first WITHOUT any MCP configuration # 5. Once confirmed working, carefully add your MCP configuration ``` ### Permissions Issues On macOS Catalina and later, terminal applications may need additional permissions: 1. Open **System Settings** > **Privacy & Security** 2. Select **Full Disk Access** or **Files and Folders** 3. Add Claude Desktop to the allowed applications 4. Restart Claude Desktop ### Still Having Issues? If you're still experiencing problems: 1. **Collect Diagnostic Information:** ```bash # System info sw_vers node --version which node # Test the server with debug mode DEBUG=true node /path/to/navidrome-mcp/dist/index.js ``` 2. **Check Recent Changes:** ```bash cd /path/to/navidrome-mcp git status git log --oneline -5 ``` 3. **Report the Issue:** Open an issue at https://github.com/Blakeem/Navidrome-MCP/issues with: - Your macOS version - Node.js version and installation method - The exact error message from Claude logs - Your `claude_desktop_config.json` (with passwords redacted) - Output from the diagnostic commands above ## Prevention Tips 1. **Always Use Absolute Paths:** Never use relative paths like `./dist/index.js` in your configuration 2. **Test Manually First:** Always test the server manually before adding to Claude Desktop 3. **Keep Claude Updated:** Ensure you're running the latest version of Claude Desktop 4. **Backup Your Config:** Keep a backup of working configurations before making changes ## Recent Fixes ### Version Updates (Latest) - **Fixed `uv_cwd` Error:** The server no longer crashes when `process.cwd()` is unavailable - **Improved Error Handling:** Better diagnostic output for troubleshooting startup issues - **Conditional .env Loading:** Only attempts to load `.env` file when environment variables are missing To get these fixes: ```bash cd /path/to/navidrome-mcp git pull pnpm install pnpm build ```

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Blakeem/Navidrome-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server