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

@deepsweet/mdn

v0.4.0

Published

Offline-first [MDN Web Docs](https://developer.mozilla.org/) RAG-MCP server ready for semantic search with hybrid vector (1024-d) and full‑text (BM25) retrieval.

Readme

Offline-first MDN Web Docs RAG-MCP server ready for semantic search with hybrid vector (1024-d) and full‑text (BM25) retrieval.

Example

example screenshot

Content

The dataset covers the core MDN documentation sections, including:

  • Web API
  • JavaScript
  • HTML
  • CSS
  • SVG
  • HTTP

See dataset repo on HuggigFace for more details.

Usage

1. Download dataset and embedding model

npx -y @deepsweet/mdn@latest download

Both dataset (~260 MB) and the embedding model GGUF file (~438 MB) will be downloaded directly from HugginFace and stored in its default cache location (typically ~/.cache/huggingface/), just like the hf download command does.

2. Setup RAG-MCP server

{
  "mcpServers": {
    "mdn": {
      "command": "npx",
      "args": [
        "-y",
        "@deepsweet/mdn@latest",
        "server"
      ],
      "env": {}
    }
  }
}

[!TIP] Remove @latest for a full offline experience, but keep in mind that this will cache a fixed version without auto-updating.

The stdio server will spawn llama.cpp under the hood, load the embedding model (~655 MB RAM/VRAM), and query the dataset – all on demand.

Settings

| Env variable | Default value | Description | |----------------------------|-----------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------| | MDN_DATASET_PATH | HuggingFace cache | Custom dataset directory path | | MDN_MODEL_PATH | HuggingFace cache | Custom model file path | | MDN_MODEL_TTL | 1800 | For how long llama.cpp with embedding model should be kept loaded in memory, in seconds; 0 to prevent unloading | | MDN_QUERY_DESCRIPTION | Natural language query for hybrid vector and full-text search | Custom search query description in case your LLM does a poor job asking the MCP tool | | MDN_SEARCH_RESULTS_LIMIT | 3 | Total search results limit | | HF_TOKEN | | Optional HuggingFace access token, helps with occasional "HTTP 429 Too Many Requests" |

To do

  • [x] automatically update and upload the dataset artifacts monthly with GitHub Actions
  • [x] automatically prune old dataset revisions like hf cache prune
  • [ ] figure out a better query description so that LLM doesn't over-generate keywords

License

The RAG-MCP server itself and the processing scripts are available under MIT.