npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

crocdb-mcp

v0.1.0

Published

MCP server exposing Crocdb ROM search tools

Readme

Crocdb MCP Server

An MCP (Model Context Protocol) server that exposes the Crocdb ROM catalog to Claude Desktop. Use it with a Claude Pro subscription to search for ROMs, fetch metadata, and gather download links directly within the Claude UI.

Features

  • search_entries tool mirrors the Crocdb /search endpoint and filters links by source (Myrient, Internet Archive, or all).
  • get_entry retrieves a specific ROM slug with link details, filenames, and sizes.
  • list_metadata provides supporting data for platforms, regions, and database stats.

Quick Start

  1. Install dependencies

    cd crocdb-mcp
    npm install
  2. Configure environment variables (optional)

    cp env.example .env
    # adjust CROCDB_API_BASE or CROCDB_MAX_RESULTS if needed
  3. Run the MCP server

    npm start

    The server listens on stdin/stdout (as required by MCP) and prints startup logs to stderr.

Connecting to Claude Desktop

Add a new MCP entry in your Claude Desktop ~/.config/claude/mcp.json (create the file if it does not exist):

{
  "servers": {
    "crocdb": {
      "command": "node",
      "args": ["/absolute/path/to/ROMDL/crocdb-mcp/src/index.js"],
      "env": {
        "CROCDB_API_BASE": "https://api.crocdb.net"
      }
    }
  }
}

Restart Claude Desktop. You should now see crocdb tools available from the command palette or within conversations. Try prompting:

  • "Search Crocdb for Kirby Planet Robobot on 3DS, USA region, Myrient links only."
  • "Get entry slug kirby-planet-robobot-3ds-us and list all download links."
  • "List platforms and regions from Crocdb."

Notes

  • Claude Desktop handles authentication, so no API key is required for Crocdb (the API is public).
  • Result links are filtered to Myrient and Internet Archive by default. Set source_preference: "any" to see all hosts from Crocdb.
  • CROCDB_MAX_RESULTS controls default page size; tools still accept explicit max_results for larger or smaller batches (up to 100).

Development

  • The server is a plain Node.js script using the official MCP SDK.
  • To add more tools (e.g., random entry, bulk fetch) extend src/index.js and restart the CLI.
  • MCP servers run as long-lived processes; use Ctrl+C to stop when running manually.

Publishing to npm (optional)

If you want Claude Desktop to install the server automatically via npx, publish it to npm:

  1. Create an npm account (if you don’t already have one) and run npm login locally.

  2. Update the package name in package.json if you prefer a scoped name (e.g. "@yourname/crocdb-mcp").

  3. Publish

    cd crocdb-mcp
    npm publish --access public

    The bin entry points to src/index.js, so npx crocdb-mcp will start the MCP server after publishing.

Using the published package in Claude Desktop

Update claude_desktop_config.json to reference the package instead of a local path:

"crocdb": {
  "command": "npx",
  "args": ["crocdb-mcp@latest"],
  "env": {
    "CROCDB_API_BASE": "https://api.crocdb.net"
  }
}

Claude will download the package on demand, so you won’t need to keep a local clone up to date. Remember to run npm version patch (or minor) and npm publish whenever you ship changes.