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.
Maintainers
Readme
reading-feed-mcp
Your reading queue, searchable from Claude Code. Stop re-googling what you already saved.
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 everythinglist_recent(source)— latest items from a sourcelist_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@latest2. 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=~/notes3. Use it
In Claude Code, just ask:
> Find articles I saved about MCP authenticationClaude 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
