crocdb-mcp
v0.1.0
Published
MCP server exposing Crocdb ROM search tools
Maintainers
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_entriestool mirrors the Crocdb/searchendpoint and filters links by source (Myrient, Internet Archive, or all).get_entryretrieves a specific ROM slug with link details, filenames, and sizes.list_metadataprovides supporting data for platforms, regions, and database stats.
Quick Start
Install dependencies
cd crocdb-mcp npm installConfigure environment variables (optional)
cp env.example .env # adjust CROCDB_API_BASE or CROCDB_MAX_RESULTS if neededRun the MCP server
npm startThe 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-usand 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_RESULTScontrols default page size; tools still accept explicitmax_resultsfor 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.jsand restart the CLI. - MCP servers run as long-lived processes; use
Ctrl+Cto stop when running manually.
Publishing to npm (optional)
If you want Claude Desktop to install the server automatically via npx, publish it to npm:
Create an npm account (if you don’t already have one) and run
npm loginlocally.Update the package name in
package.jsonif you prefer a scoped name (e.g."@yourname/crocdb-mcp").Publish
cd crocdb-mcp npm publish --access publicThe
binentry points tosrc/index.js, sonpx crocdb-mcpwill 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.
