rianvdm/discogs-mcp
If you are the rightful owner of discogs-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
Discogs MCP Server is a powerful Model Context Protocol server that allows AI assistants to interact with your personal Discogs music collection, leveraging Cloudflare Workers for global edge computing.
🎵 Discogs MCP Server
A powerful Model Context Protocol (MCP) server that enables AI assistants to interact with your personal Discogs music collection. Built on Cloudflare Workers using the official Cloudflare Agents SDK and @modelcontextprotocol/sdk.
✨ Features
- 🔐 Secure OAuth Authentication: Connect your Discogs account safely
- 🧠 Intelligent Mood Mapping: Translate emotions into music ("mellow", "energetic", "Sunday evening vibes")
- 🔍 Advanced Search Intelligence: Multi-strategy search with OR logic and relevance scoring
- 📊 Collection Analytics: Comprehensive statistics and insights about your music
- 🎯 Context-Aware Recommendations: Smart suggestions based on mood, genre, and similarity
- ⚡ Edge Computing: Global low-latency responses via Cloudflare Workers
- 🗂️ Smart Caching: Intelligent KV-based caching for optimal performance
🚀 Quick Start
Claude Desktop
- Open Claude Desktop → Settings → Integrations
- Click Add Integration
- Enter the URL:
https://discogs-mcp-prod.rian-db8.workers.dev/mcp - Click Add - authenticate with Discogs when prompted
Claude Code
claude mcp add --transport http discogs https://discogs-mcp-prod.rian-db8.workers.dev/mcp
Windsurf
Add to your Windsurf MCP config (~/.codeium/windsurf/mcp_config.json):
{
"mcpServers": {
"discogs": {
"serverUrl": "https://discogs-mcp-prod.rian-db8.workers.dev/mcp"
}
}
}
MCP Inspector (Testing)
npx @modelcontextprotocol/inspector https://discogs-mcp-prod.rian-db8.workers.dev/mcp
Other MCP Clients
Continue.dev / Zed / Generic:
{
"mcpServers": {
"discogs": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://discogs-mcp-prod.rian-db8.workers.dev/mcp"]
}
}
}
🔐 Authentication
This server uses Discogs OAuth 1.0a for authentication. When you first use a tool that requires access to your collection:
- The server generates a unique login URL
- Visit the URL and authorize the application on Discogs
- You'll be automatically redirected back
- Your session persists for 7 days with automatic cross-origin support
🛠️ Available Tools
🔓 Public Tools (No Authentication Required)
| Tool | Description |
|---|---|
ping | Test server connectivity |
server_info | Get server information and capabilities |
auth_status | Check authentication status and get login instructions |
🔐 Authenticated Tools (Requires Login)
| Tool | Description |
|---|---|
search_collection | Search your collection with intelligent mood and genre matching |
get_release | Get detailed information about a specific release |
get_collection_stats | View comprehensive collection statistics |
get_recommendations | Get context-aware music recommendations |
get_cache_stats | Monitor cache performance (development) |
📚 MCP Resources
Access Discogs data via standardized MCP resource URIs:
discogs://collection # Complete collection (JSON)
discogs://release/{id} # Specific release details
discogs://search?q={query} # Search results
🏗️ Development
Prerequisites
- Node.js 18+
- Cloudflare account
- Discogs Developer Account (for API keys)
Local Setup
-
Clone and install:
git clone https://github.com/rianvdm/discogs-mcp.git cd discogs-mcp npm install -
Configure environment:
# Set your Discogs API credentials as Wrangler secrets wrangler secret put DISCOGS_CONSUMER_KEY wrangler secret put DISCOGS_CONSUMER_SECRET wrangler secret put JWT_SECRET -
Start development server:
npm run dev -
Test with MCP Inspector:
npx @modelcontextprotocol/inspector http://localhost:8787/mcp
🚀 Deployment
-
Create KV namespaces:
npm run setup:prod -
Set production secrets:
wrangler secret put DISCOGS_CONSUMER_KEY --env production wrangler secret put DISCOGS_CONSUMER_SECRET --env production wrangler secret put JWT_SECRET --env production -
Deploy:
npm run deploy:prod
🧪 Testing
npm test # Run all tests
npm test -- --watch # Run tests in watch mode
🤝 Contributing
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
📄 License
MIT License - see file for details.
🙏 Acknowledgments
- Discogs for the music database API
- Model Context Protocol for the standard
- Cloudflare Workers for the platform