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

reading-feed-mcp

v0.1.0

Published

Vendor-neutral MCP server: search your reading queue across Burn/Readwise/Karakeep/RSS/markdown from Claude Code or any MCP client.

Readme

reading-feed-mcp

Your reading queue, searchable from Claude Code. Stop re-googling what you already saved.

npm version License: MIT X: @hawking520

One MCP server. Five reading sources. Zero vendor lock-in.


The problem

Every Claude Code session starts amnesiac. You saved 300 articles this year. You remember reading something about the exact pattern you're implementing right now. But it's in Readwise. Or Pocket. Or Karakeep. Or Burn. Or that folder of markdown notes.

So you re-google. Again.

claude-code#27298 has 22 comments about this. Readwise built their own MCP — but it only works if you use Readwise. Everyone else is stuck.

The fix

reading-feed-mcp is a vendor-neutral MCP server that makes your reading queue queryable from any MCP client (Claude Code, Claude Desktop, Cursor, Windsurf).

Configure one or more sources. Get three tools:

  • search_reading(query) — full-text search across everything
  • list_recent(source) — latest items from a source
  • list_sources — what you've wired up

That's it. No new account. No cloud. No lock-in.

Supported sources

| Source | What you need | Status | |---|---|---| | Burn 451 | BURN_MCP_TOKEN | ✅ | | Readwise Reader | READWISE_TOKEN | ✅ | | Karakeep (self-hosted) | KARAKEEP_URL + KARAKEEP_TOKEN | ✅ | | RSS feeds | READING_FEED_RSS (comma-separated URLs) | ✅ | | Local markdown | READING_FEED_MARKDOWN_DIR | ✅ | | Raindrop / Omnivore / Pocket export | — | 🔜 v0.2 |

Configure any combination. Search spans all of them.

Setup (60 seconds)

1. Install

claude mcp add reading-feed -- npx reading-feed-mcp@latest

2. Set sources via env vars

At least one required. Use whichever you actually have:

# Burn 451 — get token at burn451.cloud/settings
export BURN_MCP_TOKEN=bmcp_xxx

# Readwise Reader — get token at readwise.io/access_token
export READWISE_TOKEN=xxx

# Karakeep (self-hosted)
export KARAKEEP_URL=https://karakeep.your-domain.com
export KARAKEEP_TOKEN=xxx

# RSS feeds (comma-separated)
export READING_FEED_RSS="https://simonwillison.net/atom/everything/,https://karpathy.bearblog.dev/feed/"

# Local markdown notes
export READING_FEED_MARKDOWN_DIR=~/notes

3. Use it

In Claude Code, just ask:

> Find articles I saved about MCP authentication

Claude calls search_reading(query="MCP authentication") and returns matches across all your sources.

Example output

{
  "query": "MCP authentication",
  "total": 4,
  "results": [
    {
      "source": "burn",
      "title": "MCP Auth Patterns in 2026",
      "url": "https://example.com/mcp-auth",
      "status": "active",
      "summary": "Compares OAuth device flow, API keys, and JWT exchange for MCP servers..."
    },
    {
      "source": "readwise",
      "title": "Building Secure MCP Servers",
      "url": "https://example.com/secure-mcp",
      "status": "later",
      "summary": "Step-by-step guide to token exchange..."
    },
    {
      "source": "rss",
      "title": "Simon Willison: MCP Server Deep Dive",
      "url": "https://simonwillison.net/...",
      "feed": "Simon Willison's Weblog"
    }
  ]
}

Why "vendor-neutral" matters

Most reading tools want you to use their ecosystem. Readwise MCP is Readwise-only. Pocket is dead. Omnivore is dead. If your reading tool dies, your reading dies with it.

reading-feed-mcp is the opposite: bring your own source. Switch services, keep the MCP. We don't store your data. We don't host anything. We're a thin query layer.

Best with Burn — but works with anything

Burn 451 is recommended because:

  • 24h countdown surfaces urgency (search result has status: "active" with time remaining)
  • AI summaries embedded in every article (search works on summaries, not just titles)
  • Free tier, no credit card

But the whole point is you don't have to use Burn. If you live in Readwise, use Readwise. Live in markdown files? Point the MCP at your folder.

How it's built

  • Zero-dep Node.js (except @modelcontextprotocol/sdk)
  • Each source is one file (<100 lines) — add a new one via PR in 20 minutes
  • Stdio transport (standard MCP pattern)
  • Token caching (5-min TTL) so you don't thrash upstream APIs

Part of the Burn ecosystem

| Tool | What it does | |---|---| | reading-feed-mcp (this) | Vendor-neutral MCP for any reading source | | burn-mcp-server | Burn-specific MCP (26 tools, full control) | | burn451 CLI | Terminal queue management | | burn-claude-skill | /burn command for CC | | burn-daily-triage | Daily CC Routine template | | morning-brief | Daily briefing CLI | | reading-digest | Weekly digest generator |

Contributing

New source adapter? Each one lives in src/sources/<name>.mjs, exports search({...}) and listRecent({...}). See src/sources/burn.mjs for the simplest example (~50 lines).

License

MIT