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

rfc-mcp

v0.3.0

Published

MCP server over a knowledge base written by rfc-extract

Readme

rfc-mcp

A stdio MCP server over a knowledge base written by rfc-extract. It reads the markdown on disk and holds no index, so it cannot go stale.

Installing this gets you rfc-extract too, since the extract_rfc tool runs the real pipeline.

Install

Needs Node 22 or newer.

Claude Code:

claude mcp add rfc -- npx -y rfc-mcp

Or by hand, in an MCP client config:

{
  "mcpServers": {
    "rfc": {
      "command": "rfc-mcp"
    }
  }
}

--kb-root defaults to $RFC_KB_ROOT, else $XDG_DATA_HOME/rfc-kb, else ~/.local/share/rfc-kb, which is the same place rfc-extract writes to. Your client picks the working directory this process starts in, so a relative path here resolves somewhere you probably didn't intend. Prefer the default, or pass an absolute path. A leading ~/ is expanded, since args never goes through a shell.

Tools

| Tool | Returns | | --- | --- | | list_rfcs | every RFC in the KB with tier and extraction date | | get_section(rfc, section) | one section's markdown, by number (2.1) or file stem | | search_kb(query, rfc?) | literal case-insensitive matches in extracted prose, with file, line, and snippet | | search_catalog(query, {status?, stream?, wg?, since?, until?, current?, limit?}) | matching RFCs from the published index, ranked | | get_requirements(rfc, {section?, keyword?}) | BCP 14 requirement records | | get_abnf(rfc) | merged grammar plus each source block | | get_examples(rfc, {section?, kind?}) | example blocks, filterable by section or kind | | extract_rfc(url) | runs the pipeline and returns the run summary |

search_kb is literal substring matching over extracted prose, not semantic. If a keyword search comes up empty, the answer is usually to read the section. extract_rfc is the only tool with side effects: it fetches over the network and writes under --kb-root. It never touches notes/.

search_catalog is the one tool that works with an empty KB. It searches the RFC Editor's index of every published RFC, so it answers "which RFC is this?" and gives you a number to hand to extract_rfc. Its abstracts are truncated to 300 characters; extract the RFC for the full text.

rfc arguments have to look like a KB directory name (rfc9421). Anything else is refused before a path is built, because every read here is a path built from a caller's string.

Format

The KB layout this server reads is documented in docs/kb-format.md. Unstable until 1.0. This package and rfc-extract are versioned in lockstep and released together, so mixing versions takes deliberate effort.

Changelog

CHANGELOG.md, at the repo root, covers both packages.

License

MIT, for this code. The KBs it serves are derived from copyrighted RFCs; see the licensing note in rfc-extract and the copyright block in each KB's meta.json.

rfc-mcp is an independent tool. It is not affiliated with, endorsed by, or sponsored by the IETF, the IETF Trust, or the RFC Editor.