Skip to content

Fisher521/reading-feed-mcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Vendor-neutral MCP: turn your reading queue (Burn/Readwise/Karakeep/RSS/markdown) into queryable context for Claude Code sessions. Stop saving articles you'll never use.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors