Menu

Release: discogs-mcp v3.3.0 — Background sync, instant search

Project
discogs-mcp
Summary
Discogs MCP server.
URL
github.com/rianvdm/discogs-mcp

The first search of the day is now instant. discogs-mcp pre-fetches your collection in the background every hour and keeps it in a snapshot, so search_collection doesn’t have to paginate the Discogs API from cold any more.

The server also tells your LLM client how to navigate it — every tool response ends with a “Next steps” block listing the most likely follow-up calls and the exact arguments to use, so chained queries like “find me a mellow jazz album, then expand the top hit” don’t make the model guess.

And if you’ve been putting off deploying your own copy, there’s now a Deploy to Cloudflare button in the README — one click, three secrets, done.

What’s new

  • Hourly background sync keeps your collection snapshot fresh. Add or remove a record on Discogs and it’s visible to search within an hour, automatically.
  • New refresh_collection tool forces an immediate snapshot refresh — useful when you’ve just bought an album and want it visible to search right now.
  • Server-level instructions and per-tool “Next steps” breadcrumbs make the server self-navigating for any LLM client. The instructions name a recommended path (search_collectionget_release → mutations); each tool response ends with the most likely follow-up calls, with real values templated in (get_release(release_id=28861354), not release_id=<ID>). Inspired by Rui Carmo’s MCP server post.
  • One-click self-hosting via the Deploy to Cloudflare button in the README. Cloudflare provisions the KV namespaces, Durable Object, cron, and prompts for the secrets — no wrangler kv namespace create needed, and pushes to your fork redeploy automatically via Workers Builds.

Fixes

  • First search_collection call after a cold cache no longer times out. Previously this could take 30 seconds to two minutes on a 1,500-item collection, often longer than the MCP request timeout. It’s now sub-second.
  • Mood queries (“mellow Sunday morning”, “road trip music”) respond just as fast as keyword queries — they used to pay the same pagination cost as everything else.

Under the hood

  • New syncCollection module with per-page retry, resumable progress, and atomic snapshot swap so readers never see partial state.
  • Cron runs hourly with a probe path: one API call to compare count + page-1 instance IDs against the snapshot. Full repaginate only when something changed. Steady-state cron tick now costs 1 Discogs request instead of 16.
  • Self-healing across MCP request timeouts: if a sync stalls partway through, the next call resumes from where it left off rather than restarting.
  • Dropped the MCP_LOGS KV binding. Sync outcomes now structured-log to the Workers runtime so Cloudflare Observability ingests them — one fewer namespace for self-hosters to create.