mcpField
F
FeedKit

FeedKit

ローカル
github.com/QuartzUnit検索028 週間前に更新

FeedKit について

FeedKitは、RSS/Atomフィードを収集・検索するPythonパッケージです。厳選カタログに加え、CLI、Python API、SQLite保存、MCPツールを備えています。

主な機能

  1. 01厳選フィードカタログ
  2. 02フィードの購読
  3. 03非同期のフィード収集
  4. 04SQLiteによる記事保存
  5. 05記事の全文検索
  6. 06CLIとPython API

活用シーン

  1. 01トピックや言語でフィードを検索
  2. 02購読フィードから記事を収集
  3. 03収集済み記事を検索
  4. 04MCPクライアントからフィードのワークフローを利用

MCP 対応

stdioのMCPサーバーが、フィード取得、カタログや記事の検索、購読管理、収集、最新記事取得のツールを公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"arknill-feedkit": {
"command": "uvx",
"args": [
"feedkit"
]
}
}
}
起動コマンドuvx feedkit

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypifeedkit0.1.0

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

FeedKit

PyPI Python License Tests

한국어 문서 · llms.txt

厳選・検証済みフィード444件を収録したRSS/Atomフィードコレクションです。CLI + Python API + MCP サーバー。

クイックスタート

pip install feedkit

feedkit search cloudflare           # search the built-in catalog
feedkit subscribe-catalog -c technology   # subscribe to all 68 tech feeds
feedkit collect                     # fetch all subscriptions (async parallel)
feedkit find "kubernetes"           # full-text search collected articles

インストール

pip install feedkit             # core (CLI + Python API)
pip install "feedkit[mcp]"      # + MCP server
pip install "feedkit[all]"      # + MCP + OPML import/export

要件: Python 3.11+

仕組み

flowchart LR
    A["📋 Catalog\n444 curated feeds"] --> B["Subscribe\nselect feeds"]
    B --> C["🔄 Collect\nfetch new entries"]
    C --> D["📦 Store\nSQLite database"]
    D --> E["🔍 Query\nfilter & retrieve"]

CLI リファレンス

カタログコマンド
feedkit search [QUERY]

厳選フィード444件を収録した組み込みカタログを検索します。

feedkit search aws                    # search by title or domain
feedkit search --category science     # filter by category
feedkit search --language ko          # filter by language
feedkit search -c finance -l en -n 50 # combine filters
feedkit search -j                     # JSON output (for piping)
オプション短縮形デフォルト説明
--category-cカテゴリで絞り込み
--language-l言語コードで絞り込み(en、ko、ja、zh)
--limit-n20最大結果数
--json-output-jJSON 形式で出力
feedkit categories

利用可能なカタログカテゴリをすべて一覧表示します。

$ feedkit categories
  academia
  finance
  pets
  science
  society
  technology
feedkit stats

カタログとローカルの購読状況の統計を表示します。

$ feedkit stats
Catalog: 444 feeds
  academia: 13
  finance: 89
  pets: 27
  science: 128
  society: 119
  technology: 68

Local: 68 subscriptions, 1,247 articles
購読コマンド
feedkit subscribe <URL>

単一のフィードを購読します。

feedkit subscribe https://blog.cloudflare.com/rss/
feedkit subscribe https://example.com/rss -c tech -t "My Feed"
オプション短縮形説明
--category-cカテゴリラベル
--title-t表示タイトルの上書き
feedkit subscribe-catalog -c <CATEGORY>

カタログカテゴリ内のすべてのフィードを一度に購読します。

feedkit subscribe-catalog -c technology   # subscribe to all 68 tech feeds
feedkit subscribe-catalog -c science      # subscribe to all 128 science feeds
feedkit unsubscribe <URL>

フィードの購読と、収集済みの記事を削除します。

feedkit list

現在のすべての購読を、取得回数とエラー回数とともに一覧表示します。

収集コマンド
feedkit collect

購読中のすべてのフィードから新しい記事を取得します(非同期並列処理)。

feedkit collect                    # collect all
feedkit collect -c technology      # collect only tech feeds
feedkit collect -n 50              # max 50 concurrent requests
オプション短縮形デフォルト説明
--category-cこのカテゴリのみ収集
--concurrency-n20HTTP リクエストの最大同時実行数

出力:

Collecting from 68 feeds...
 67/68 feeds OK, 412 new articles, 8234ms
feedkit latest

最近収集した記事を表示します。

feedkit latest                # latest 20 articles
feedkit latest -n 50          # latest 50
feedkit latest -c finance     # latest from finance only
feedkit find <QUERY>

収集済みのすべての記事を全文検索します(SQLite FTS5)。

feedkit find "kubernetes deployment"
feedkit find "large language model" -n 50
OPML コマンド
feedkit import-opml <PATH>

OPML ファイルからフィードをインポートします(Feedly、Inoreader、NetNewsWire など)。

feedkit import-opml subscriptions.opml
feedkit export-opml <PATH>

現在の購読をOPMLにエクスポートします。

feedkit export-opml backup.opml

Python API

from feedkit import search_catalog, fetch_feed, get_catalog_stats, FeedStore
from feedkit.core import collect

# Search the built-in catalog
feeds = search_catalog("cloudflare")
feeds = search_catalog(category="technology", language="en", limit=50)

# Fetch a single feed (async)
entries = await fetch_feed("https://blog.cloudflare.com/rss/")
for entry in entries:
    print(entry.title, entry.url, entry.published)

# Subscribe and collect
store = FeedStore()                              # SQLite at ~/.feedkit/feedkit.db
store.subscribe("https://blog.cloudflare.com/rss/", category="tech")
result = await collect(store, concurrency=20)    # async parallel fetch
print(f"{result.new_articles} new, {result.feeds_ok}/{result.feeds_total} OK")

# Search collected articles (FTS5)
articles = store.search("kubernetes", count=10)

# Latest articles
articles = store.get_latest(count=20, category="tech")

# Feed health
health = store.get_health()                      # fetch/error counts per feed

# Catalog stats
stats = get_catalog_stats()                      # {total_feeds, categories, languages}

store.close()
主なクラス
クラス説明
FeedStoreSQLite ベースの購読・記事ストア(~/.feedkit/feedkit.db)
FeedEntry取得したフィードの単一エントリ(title、url、summary、published、author)
CollectResult一括収集の結果(feeds_ok、feeds_error、new_articles、duration_ms)
CatalogFeed組み込みカタログのエントリ(url、title、category、subcategory、language、domain)

MCP サーバー

pip install "feedkit[mcp]"
feedkit-mcp                    # starts stdio MCP server
設定

Claude Code(~/.claude/settings.json):

{
  "mcpServers": {
    "feedkit": {
      "command": "feedkit-mcp"
    }
  }
}
ツールリファレンス
#ツールパラメーター説明
1fetch_single_feedurl, count=10任意の RSS/Atom URL からエントリーを取得します(購読は不要です)
2search_feed_catalogquery, category, language, count=20組み込みの 444 件のフィードカタログを検索します
3catalog_statsカタログの統計情報(合計、カテゴリ別、言語別)を取得します
4subscribe_feedurl, title, category継続的な収集のためにフィードを購読します
5unsubscribe_feedurl購読を解除します
6list_subscriptionsすべての購読をステータスとともに一覧表示します
7collect_feedscategoryすべての購読から新しい記事を収集します
8search_articlesquery, count=10収集した記事を全文検索します
9get_latest_articlescategory, count=20最近収集された記事を取得します
MCP ワークフローの例
User: "What are the latest AI papers on arXiv?"

1. search_feed_catalog(query="arxiv", category="science")
   → finds arXiv cs.AI, cs.LG, cs.CL feeds

2. subscribe_feed(url="https://rss.arxiv.org/rss/cs.AI")

3. collect_feeds(category="science")
   → fetches new entries

4. get_latest_articles(category="science", count=10)
   → returns latest papers

組み込みカタログ

6 つのカテゴリにわたる、検証済みのフィード 444 件を収録しています。すべて監査済みで、ハードペイウォール(Bloomberg、FT、WSJ)とリンク切れの URL は削除されています。

カテゴリフィード数サブカテゴリ主なフィード
technology68ai_ml, developer, it_news, security, startup, ...AWS、Cloudflare、Stripe、Netflix、HN、Go Blog、Rust Blog
science128journal, preprint, news, governmentNature、Science、arXiv、bioRxiv、medRxiv、NASA、PLOS
society119news_us, news_ko, news_uk, news_intl, factcheck, ...BBC、NPR、NYT、NHK、JTBC、PolitiFact、Snopes
finance89markets, central_bank, regulatory, cryptoFed、BOE、BOJ、SEC、CNBC、CoinDesk、Yahoo Finance
pets27veterinary, community, blog, healthAKC、PetMD、ASPCA、dvm360、r/dogs、r/cats
academia13ai_ml, research, institutionGoogle AI、DeepMind、Stanford HAI、Hugging Face

言語: 英語(381)、韓国語(47)、日本語(14)、中国語(2)

フィードの全リスト:CATALOG.md

FeedKit を選ぶ理由

awesome-rss-feeds (2.1K★)engineering-blogs (37.5K★)FeedKit
種類Markdown リストMarkdown リストPython パッケージ
フィード数約 500約 600444
対象範囲一般技術ブログのみ技術 + 科学 + 金融 + ニュース + ファクトチェック
最終更新2021 年(古い)2022 年(古い)更新中(毎日収集)
動作確認済みいいえいいえはい(778K 件以上の記事を収集済み)
法的監査いいえいいえはい(ペイウォール/利用規約に問題のあるフィードを削除)
CLIいいえいいえはい(12 コマンド)
プログラム APIいいえいいえはい(非同期 Python)
MCP サーバーいいえいいえはい(9 ツール)
OPMLいいえいいえはい(インポート/エクスポート)
FTS 検索いいえいいえはい(SQLite FTS5)

免責事項

このパッケージが配布するのは、公開されている RSS フィード URL のカタログであり、フィードのコンテンツ自体ではありません。RSS はシンジケーション標準であり、RSS フィードの公開は、読者に購読を明示的に呼びかけるものです。FeedKit はユーザーに代わってフィードを取得し、著作権で保護されたコンテンツを保存または再配布しません。

ハードペイウォール(Bloomberg、FT、WSJ、Barron's)の背後にあるフィードと、厳しい利用規約を設けているフィードは、カタログから削除されています。

使用例

  • newswatch — RSS ニュース監視パイプライン(feedkit → markgrab → embgrep → diffgrab)

ライセンス

MIT


QuartzUnit エコシステムの一部です — データ収集、抽出、検索、AI エージェントの安全性のための、組み合わせ可能な Python ライブラリです。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。