Skip to main content
Glama

MCP RSS アグリゲータ

鍛冶屋のバッジ

特徴

  • Claude Desktopでお気に入りのRSSフィードの記事を直接読む

  • 既存のフィードサブスクリプションをインポートするための OPML ファイルのサポート

  • フィードをカテゴリ別に整理する

  • すべてのフィードで最新の記事を入手

  • フィードソースまたはカテゴリで記事をフィルタリングする

  • タイトル、スニペット、リンクを含む、適切にフォーマットされた記事のプレゼンテーション

Related MCP server: @kazuph/mcp-pocket

デモ

タイムスタンプをクリックすると、ビデオのそのセクションにジャンプします。

00:00 -サンプルRSSフィードのデモ:リポジトリに含まれるデフォルトの「sample-feeds.opml」ファイルを使用します。このセグメントでは、ClaudeがTechCrunch、The Verge、その他のテクノロジー系出版物などのニュースソースからMCP(Model Context Protocol)を介してニュースコンテンツを処理および表示する様子を紹介します。

01:05 -構成ファイルの編集プロセス: claude_desktop_config.json ファイルにアクセスして変更し、OPML ファイル パス参照をデフォルトのサンプルからカスタマイズされた「my-feeds.opml」ファイルに変更する手順を順を追って説明します。

01:15 -アプリケーションの再起動手順: 変更された OPML ファイル構成の変更を適切にロードして適用するために、Claude デスクトップ アプリケーションを閉じて再度開く必要な手順を示します。

01:25 -カスタムRSSフィードの結果:カスタムOPMLファイルの実装後の結果のデモンストレーション。このセクションでは、Claude Desktopで利用できるようになった、スペイン語コンテンツを含む、拡張され、より多様なニュースソースについて紹介します。

要件

  • Node.js 16以上

  • クロードデスクトップ

  • RSSフィードにアクセスするためのインターネット接続

インストール

手動でインストールする

  1. このリポジトリをクローンまたはダウンロードします:

git clone https://github.com/imprvhub/mcp-rss-aggregator
cd mcp-rss-aggregator
  1. 依存関係をインストールします:

npm install
  1. プロジェクトをビルドします。

npm run build

フィード構成

RSS アグリゲータは、フィード構成に OPML と JSON の両方の形式をサポートしています。

OPMLの使用(推奨)

OPML (Outline Processor Markup Language) は、ほとんどの RSS リーダーがフィード サブスクリプションをエクスポートおよびインポートするために使用する標準形式です。

一般的なフィードを含むサンプルOPMLファイルはpublic/sample-feeds.opmlファイルに含まれています。以下の操作が可能です。

  1. このファイルをそのまま使用してください

  2. 編集して独自のフィードを追加してください

  3. 既存のRSSリーダーからのエクスポートに置き換えます

ほとんどの RSS リーダーでは、サブスクリプションを OPML ファイルとしてエクスポートできます。

JSONの使用

または、次の形式の JSON ファイルでフィードを定義することもできます。

[
  {
    "title": "Hacker News",
    "url": "https://news.ycombinator.com/rss",
    "htmlUrl": "https://news.ycombinator.com/",
    "category": "Tech News"
  },
  {
    "title": "TechCrunch",
    "url": "https://techcrunch.com/feed/",
    "htmlUrl": "https://techcrunch.com/",
    "category": "Tech News"
  }
]

MCPサーバーの実行

MCP サーバーを実行するには 2 つの方法があります。

オプション1: 手動で実行する

  1. ターミナルまたはコマンドプロンプトを開きます

  2. プロジェクトディレクトリに移動する

  3. サーバーを直接実行します。

node build/index.js

Claude Desktopの使用中は、このターミナルウィンドウを開いたままにしてください。ターミナルを閉じるまでサーバーは稼働し続けます。

オプション 2: Claude Desktop で自動起動 (通常の使用に推奨)

Claude Desktopは、必要に応じてMCPサーバーを自動的に起動できます。設定手順は次のとおりです。

構成

Claude Desktop の構成ファイルは次の場所にあります。

  • macOS : ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows : %APPDATA%\Claude\claude_desktop_config.json

  • Linux : ~/.config/Claude/claude_desktop_config.json

このファイルを編集して、RSS Aggregator MCP の設定を追加します。ファイルが存在しない場合は作成してください。

{
  "mcpServers": {
    "rssAggregator": {
      "command": "node",
      "args": ["ABSOLUTE_PATH_TO_DIRECTORY/mcp-rss-aggregator/build/index.js"],
      "feedsPath": "ABSOLUTE_PATH_TO_YOUR_FEEDS_FILE.opml"
    }
  }
}

重要な注意事項:

  • ABSOLUTE_PATH_TO_DIRECTORY MCPをインストールした完全な絶対パスに置き換えます。

    • macOS/Linuxの例: /Users/username/mcp-rss-aggregator

    • Windows の例: C:\\Users\\username\\mcp-rss-aggregator

  • ABSOLUTE_PATH_TO_YOUR_FEEDS_FILE.opml OPML または JSON ファイルへのパスに置き換えます。

    • 省略した場合はサンプルフィードファイルが使用されます

すでに他の MCP が設定されている場合は、「mcpServers」オブジェクト内に「rssAggregator」セクションを追加するだけです。

{
  "mcpServers": {
    "otherMcp1": {
      "command": "...",
      "args": ["..."]
    },
    "rssAggregator": {
      "command": "node",
      "args": [
        "ABSOLUTE_PATH_TO_DIRECTORY/mcp-rss-aggregator/build/index.js"
      ],
      "feedsPath": "ABSOLUTE_PATH_TO_YOUR_FEEDS_FILE.opml"
    }
  }
}

MCP サーバーは、 claude_desktop_config.jsonファイルの設定に基づいて、Claude Desktop が必要とするときに自動的に起動します。

使用法

  1. 設定を変更した後、Claude Desktopを再起動します。

  2. Claudeでは、 rssコマンドを使用してRSS Aggregator MCPサーバーと対話します。

  3. MCPサーバーはClaude Desktopによって管理されるサブプロセスとして実行されます。

利用可能なコマンド

RSS Aggregator MCP は、いくつかのコマンドを備えたrssというツールを提供します。

指示

説明

パラメータ

例

latest

すべてのフィードから最新の記事を表示

オプション制限 (--N)

rss latest --20

topまたはbest

すべてのフィードからトップ記事を表示

オプション制限 (--N)

rss top --15

list

利用可能なすべてのフィードを一覧表示する

なし

rss list

--[feed-id]

特定のフィードからの記事を表示する

オプション制限 (--N)

rss --hackernews --10

[category]

特定のカテゴリの記事を表示する

オプション制限 (--N)

rss "Tech News" --20

set-feeds-path --[path]

OPML/JSONファイルへのパスを設定する

ファイルへのパス

rss set-feeds-path --/path/to/feeds.opml

使用例

Claude による RSS Aggregator の使用方法のさまざまな例を次に示します。

直接コマンド:

rss latest
rss top --20
rss list
rss "Tech News"
rss --hackernews
rss --techcrunch --15

自然言語クエリ:

自然言語を使ってMCPと対話することもできます。クロードはこれらのリクエストを解釈し、適切なコマンドを使用します。

  • 「Hacker Newsの最新ニュースは何ですか?」

  • 「今日のトップテクノロジー記事を見せて」

  • 「プログラミングフィードから最新の記事を取得する」

  • 「すべてのRSSフィードを一覧表示する」

拡張使用例

毎日のニュースブリーフィング

あらゆるソースからニュース速報を入手しましょう:

rss latest --25

これにより、すべてのフィードから最新の 25 件の記事が取得され、最新のニュースの概要を簡単に把握できるようになります。

トップコンテンツの探索

最も重要な記事や人気のある記事を見つけます:

rss top --20

カテゴリーベースの読書

特定のコンテンツ カテゴリに焦点を当てます。

rss "Tech News" --30
rss "Politics" --15
rss "Science" --10

ソース固有の更新

フォローしている特定のソースからの更新情報を読む:

rss --hackernews --20
rss --nytimes
rss --techcrunch --15

利用可能なフィードを見つける

設定したフィードを確認します。

rss list

複数のリクエストを組み合わせる

包括的なビューを構築するために、複数のリクエストを連続して実行できます。

rss "Tech News" --10
rss "Finance" --10
rss top --5

実践的なワークフロー

  1. 朝のルーティン:

    rss top --10
    rss "News" --5
  2. 業界調査:

    rss "Industry News" --15
    rss --bloomberg --5
  3. 技術アップデート:

    rss --hackernews --10
    rss --techcrunch --5

クロードと働く

Claude に記事の分析や要約を依頼することができます。

  1. 実行後: rss latest --10質問:「これらの記事を要約できますか?」

  2. 実行後: rss "Tech News" --15質問:「これらの技術記事の主な傾向は何ですか?」

  3. 実行後: rss --nytimes --washingtonpost --10質問: 「これらの情報源が現在の出来事をどのように扱っているか比較してください」

トラブルシューティング

「サーバーが切断されました」エラー

Claude Desktop で「MCP RSS Aggregator: サーバーが切断されました」というエラーが表示される場合:

  1. サーバーが実行中であることを確認します:

    • ターミナルを開き、プロジェクトディレクトリからnode build/index.js手動で実行します。

    • サーバーが正常に起動したら、このターミナルを開いたままClaudeを使用します。

  2. 設定を確認してください:

    • claude_desktop_config.jsonの絶対パスがシステムに合っていることを確認してください

    • Windowsのパスに二重のバックスラッシュ( \\ )を使用していることを確認してください

    • ファイルシステムのルートからの完全なパスを使用していることを確認してください

クロードにツールが表示されない

Claude に RSS アグリゲータ ツールが表示されない場合は、次の手順に従ってください。

  • 設定後、Claude Desktopを再起動してください。

  • Claude Desktop のログで MCP 通信エラーがないか確認します。

  • MCP サーバー プロセスが実行されていることを確認します (手動で実行して確認してください)

フィードが読み込まれない

フィードが正しく読み込まれない場合:

  • OPML/JSONファイルが正しくフォーマットされていることを確認してください

  • 設定内のfeedsPathが正しいか確認してください

  • 既知の正常なフィードファイルを使用してサーバーを手動で実行してみてください

貢献

RSSアグリゲーターの改善に向けた貢献を歓迎します!貢献できる方法は次のとおりです。

  1. より多くのフィード形式のサポートを追加する

  2. フィード解析とエラー処理の改善

  3. 記事の視覚化オプションを追加する

  4. 分類とフィルタリング機能の改善

ライセンス

このプロジェクトは、Mozilla Public License 2.0 に基づいてライセンスされています。詳細については、 LICENSEファイルを参照してください。

関連リンク

Available Tools

3 tools
rss_feedC

Get the newest articles from one specific RSS feed

NameRequiredDescriptionDefault
limitNoNumber of articles to return (1-50, default: 10)
feed_idYesFeed id as reported by rss_list, e.g. "news-ycombinator-com"

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It conveys only that this is a retrieval, but says nothing about read-only safety, ordering of 'newest', behavior for an unknown feed_id, or whether results are cached/bounded. For a tool with zero annotation coverage this is thin.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler and no redundancy. It is appropriately sized for a two-parameter read tool, though its brevity is partly the source of the gaps noted elsewhere.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple 2-parameter tool with a fully documented schema and no output schema, the description is minimally adequate. It omits sibling differentiation (rss_latest overlap) and any note on ordering or failure behavior, but nothing structurally critical is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with limit (range, default) and feed_id (format example) fully documented in the schema. The description adds no parameter meaning beyond that, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Get the newest articles from one specific RSS feed'), which is clear on its own. However, it does nothing to differentiate from the sibling rss_latest, which by name appears to cover a very similar retrieval of recent articles, so an agent cannot reliably choose between them from this text alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance, no when-not-to-use, and no mention of rss_list or rss_latest as alternatives. The only implied context is that a feed_id must come from somewhere (schema hints at rss_list), leaving routing purely to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rss_latestA

Get the newest articles across all configured RSS feeds, most recent first, optionally limited to one category

NameRequiredDescriptionDefault
limitNoNumber of articles to return (1-50, default: 15)
categoryNoOptional category to filter by, e.g. "Tech News" or "Science". Use rss_list to see categories.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. 'Get' plus 'newest first' communicates a read-only, sorted retrieval, and the scope ('all configured feeds') is useful. However, it says nothing about pagination, how many feeds must be configured, or what happens when no feeds match a category.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One compact sentence with the scope, ordering, and optional filter front-loaded and no filler. Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only list tool with full schema coverage and zero required params, the description is adequate: scope, ordering, and filtering are clear. With no output schema, a note on the returned article fields would close the remaining gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents limit (1-50, default 15) and category (with the rss_list pointer). The description adds only the notion of ordering and optionality, which the schema largely covers; baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Get the newest articles across all configured RSS feeds') plus the ordering (most recent first). It distinguishes itself from rss_feed only implicitly via 'across all configured feeds'; it never names the sibling that returns a single feed's items.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'optionally limited to one category' hints at a filtering use case, and the category param points at rss_list for discovering values, but there is no explicit when-to-use-this-vs-rss_feed guidance. Usage is implied by the aggregation scope rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rss_listA

List the configured RSS feeds, grouped by category, with the feed_id to use with rss_feed

NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It usefully discloses output behavior (grouped by category, includes feed_id), which matters since there is no output schema, but says nothing about read-only nature, auth requirements, or whether the feed list can be empty.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single compact sentence with zero waste, front-loading the action and the result, then ending with the actionable feed_id handoff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a trivial parameterless list tool with no output schema, the description covers enough: what is returned, how it is grouped, and the key field (feed_id) for the next step. Minor gaps on empty-list/error behavior only.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there is no parameter semantics to describe; baseline 4 applies. The description correctly adds no spurious parameter guidance.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (List) and resource (configured RSS feeds) and explicitly names the sibling used next (rss_feed) via the returned feed_id. An agent can distinguish this from rss_latest and rss_feed without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Clear implied context: call this to discover feeds and obtain the feed_id needed by rss_feed. It does not state when-not to use it or contrast with rss_latest, but the routing intent is explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updatesv0.3.0
    • Removedrss
    • Addedrss_feed
    • Addedrss_latest
    • Addedrss_list
  2. 1 tool updatev1.0.0
    • First observedrss

TDQS

A3.5/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a clearly distinct scope: rss_list returns feed metadata, rss_latest aggregates articles across all feeds, and rss_feed targets one specific feed. The descriptions make the boundaries explicit, and the feed_id handoff between rss_list and rss_feed reinforces the separation.

Naming Consistency4/5

All three tools share a consistent rss_ prefix, which is easy to predict. The suffix patterns vary slightly (verb 'list' vs adjective 'latest' vs noun 'feed'), so it's not a strict verb_noun scheme, but it remains readable and coherent.

Tool Count4/5

Three tools is on the thin side but fits a focused read-only aggregator well, with each tool earning its place. It is slightly under-scoped given that feed configuration is implied but not directly exposed.

Completeness3/5

The read surface is solid: list feeds, aggregate latest, and drill into a single feed. However, there is no way to add, remove, or manage feeds, so lifecycle coverage is incomplete for an aggregator that references 'configured' feeds.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues

Related MCP Connectors

Related MCP Servers