RSS/Atom feed collection with 449 curated feeds. Python MCP server included.
Project description
FeedKit
RSS/Atom feed collection with 449 curated feeds. Python MCP server included.
from feedkit import search_catalog, fetch_feed, FeedStore
# Search the built-in catalog
feeds = search_catalog("cloudflare")
# Fetch a feed
entries = await fetch_feed("https://blog.cloudflare.com/rss/")
for entry in entries:
print(entry.title, entry.url)
# Subscribe and collect
store = FeedStore()
store.subscribe("https://blog.cloudflare.com/rss/", category="tech")
result = await collect(store) # async parallel fetch
print(f"{result.new_articles} new articles")
Features
- 449 curated feeds — tech blogs, academic, government, news, fact-check. All verified with 778K+ articles collected.
- Async parallel collection — fetch hundreds of feeds in under a minute
- SQLite + FTS5 — local storage with full-text search, no server needed
- OPML import/export — interop with Feedly, Inoreader, NetNewsWire
- MCP server — 9 tools for Claude Code / MCP clients
- Feed health monitoring — track success rates and errors per feed
Install
pip install feedkit
CLI
feedkit search aws # search catalog
feedkit search --category technology # by category
feedkit categories # list categories
feedkit subscribe https://example.com/rss # subscribe to a feed
feedkit subscribe-catalog -c technology # subscribe to entire category
feedkit list # list subscriptions
feedkit collect # fetch all subscriptions
feedkit latest # show latest articles
feedkit find "kubernetes deployment" # full-text search
feedkit import-opml subs.opml # import OPML
feedkit export-opml backup.opml # export OPML
feedkit stats # catalog + local stats
MCP Server
pip install "feedkit[mcp]"
feedkit-mcp # starts stdio MCP server
9 tools: fetch_single_feed, search_feed_catalog, catalog_stats, collect_feeds, search_articles, get_latest_articles, subscribe_feed, unsubscribe_feed, list_subscriptions
Built-in Catalog
449 verified feeds across 5 categories:
| Category | Feeds | Examples |
|---|---|---|
| technology | 68 | AWS, Cloudflare, Stripe, Netflix, Spotify, Meta |
| science | 128 | NASA, PLOS, Harvard, Cambridge, BAIR, arXiv |
| finance | 114 | World Bank, BoC, RBA, financial news |
| society | 126 | JTBC, MBC, international news |
| academia | 13 | Research journals, university blogs |
All feeds verified working — collected 778K+ articles via daily automated collection.
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file feedkit-0.1.0.tar.gz.
File metadata
- Download URL: feedkit-0.1.0.tar.gz
- Upload date:
- Size: 24.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9e8cfaf847708a22ad64af9af87de90840fe85acaa98b7838838e2a5053a3432
|
|
| MD5 |
f776f2a27b8f1d3b2861e112f1430ae3
|
|
| BLAKE2b-256 |
50e1ab28b4c0c7680f2685cf98ac5859b930389ae59d41877cfebb284837b41d
|
File details
Details for the file feedkit-0.1.0-py3-none-any.whl.
File metadata
- Download URL: feedkit-0.1.0-py3-none-any.whl
- Upload date:
- Size: 24.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4b0d8a3bdea08f44514150be2fcd0cad0cdb622ccda007a4c600f2def4c54010
|
|
| MD5 |
a4ddcd1eb5f9777044ae336bfa8b6fdf
|
|
| BLAKE2b-256 |
bde68303c9f488fd9fddffadb4496c2db2b046efacb8224b0d676a5ddf515181
|