MCPとRSSを連携する方法を解説。RSS取得処理をMCP ServerのToolとして公開し、AIからフィードの新着記事を取得・要約・検索できる仕組みとTypeScriptでの実装例を紹介します。
MCP(Model Context Protocol)とRSSを組み合わせると、AIからRSSフィードの新着記事を取得できるようになります。
たとえば、
「このRSSの最新記事を5件教えて」
「今日更新された記事だけまとめて」
「この中からAWSに関係する記事を探して」
とAIへ依頼し、裏側でRSSフィードを取得する仕組みを作れます。
MCP自体にRSS専用の機能があるわけではありません。
基本的には、
RSS
↓
RSS取得処理
↓
MCP Server
↓
MCP Client / AI
という形で連携します。
MCPはModel Context Protocolの略で、AIアプリケーションと外部のデータやツールを接続するためのオープンなプロトコルです。
MCP Server側では、
などを公開できます。
AI側はMCP Serverへ接続し、必要に応じてToolを呼び出したりResourceを読み込んだりします。
2026年9月19日時点では、2026-07-28版のMCP仕様が公開されています。
RSSには、
などの情報が含まれています。
これをMCP経由でAIへ渡せるようにすると、単純な新着確認だけでなく、その先の処理もAIへ任せられます。
たとえば、
RSS取得
↓
最新10件
↓
AI
↓
3行で要約
や、
複数RSSを取得
↓
AI
↓
セキュリティ関連だけ抽出
といった使い方です。
RSSを取得する処理は、MCPのToolとして公開する方法が分かりやすいでしょう。
たとえば、
get-rss-items
というToolを用意します。
入力は、
{
"url": "https://example.com/rss.xml",
"limit": 5
}
です。
MCP ServerがRSSを取得し、
[
{
"title": "記事タイトル",
"url": "https://example.com/article",
"publishedAt": "2026-09-19T09:00:00Z"
}
]
のような情報を返します。
AIは必要なときだけこのToolを呼び出します。
MCPにはResourceという仕組みもあります。
Resourceは、ドキュメントや設定値など、AIが参照するデータを公開する用途に向いています。
一方、
指定されたRSS URLへアクセス
↓
最新データを取得
↓
結果を返す
という処理は、外部へのアクセスを伴う動的な処理なのでToolとして扱う方が分かりやすいでしょう。
すでにRSSを定期収集してDBへ保存している場合は、
収集済みRSS
↓
MCP Resource
として公開する設計も考えられます。
つまり、
| やりたいこと | MCP |
|---|---|
| RSS URLを指定して最新記事を取得 | Tool |
| 収集済みの記事を参照 | Resource |
| RSS記事に対する質問のひな形 | Prompt |
という使い分けができます。
ここではTypeScriptで簡単なMCP Serverを作ります。
RSS解析にはrss-parserを利用します。
インストールします。
npm install @modelcontextprotocol/server rss-parser zod
MCP TypeScript SDK v2では、McpServerとregisterToolを使ってToolを登録できます。
シンプルな例は次のようになります。
import { McpServer } from "@modelcontextprotocol/server";
import { serveStdio } from "@modelcontextprotocol/server/stdio";
import Parser from "rss-parser";
import * as z from "zod/v4";
const parser = new Parser();
serveStdio(() => {
const server = new McpServer({
name: "rss-server",
version: "1.0.0",
});
server.registerTool(
"get-rss-items",
{
description: "RSSフィードから最新記事を取得する",
inputSchema: z.object({
url: z.string().url(),
limit: z.number().int().min(1).max(20).default(5),
}),
},
async ({ url, limit }) => {
const feed = await parser.parseURL(url);
const items = feed.items.slice(0, limit).map((item) => ({
title: item.title,
url: item.link,
publishedAt: item.isoDate ?? item.pubDate,
}));
return {
content: [
{
type: "text",
text: JSON.stringify(items),
},
],
};
}
);
return server;
});
これでMCP Clientから、
get-rss-items
を呼び出せるようになります。
MCP Serverへ接続したAIからは、
get-rss-items
というToolが利用可能になります。
ユーザーが、
このRSSの最新記事を3件教えて
と依頼すると、AIがToolを呼び出し、
{
"url": "https://example.com/rss.xml",
"limit": 3
}
を渡します。
MCP ServerがRSSを取得し、その結果をAIへ返します。
その後AIが、
などを行えます。
MCPはRSSを解析する仕組みではなく、
AI
↕
RSS取得機能
を接続するための部分を担当します。
毎回RSS URLをAIへ渡すのではなく、MCP Server側に登録しておく方法もあります。
たとえば、
const feeds = {
tech: "https://example.com/tech.xml",
news: "https://example.com/news.xml",
};
として、
get-feed
へ、
{
"feed": "tech"
}
と渡します。
この方式ならAIへ任意のURLを渡さずに済みます。
個人用MCP Serverなら、
AWS
AI
セキュリティ
個人ブログ
など、自分が普段読んでいるRSSだけ登録しておく使い方もできます。
MCP Toolでユーザーから任意のURLを受け取り、そのURLへサーバーからアクセスする設計には注意が必要です。
たとえば、
http://localhost/
や、
http://169.254.169.254/
など、外部からアクセスさせるべきではないURLが指定される可能性があります。
公開MCP Serverにする場合は、
httpを拒否してhttpsだけ許可するなどの対策を行います。
個人PCだけで利用するMCP Serverと、インターネットへ公開するMCP Serverでは必要な対策が大きく異なります。
一つの万能Toolにする必要はありません。
たとえば、
get-rss-items
だけでなく、
get-latest-rss-items
search-rss-items
get-feed-info
などに分ける方法があります。
最新記事を取得します。
RSS内の記事からキーワード検索します。
フィードタイトルや説明、サイトURLなどを取得します。
Toolの役割を明確にすると、AIもどのToolを使うべきか判断しやすくなります。
MCP Toolが呼び出されるたびにRSS配信元へアクセスする必要はありません。
大量のRSSを扱うなら、
RSS
↓
定期収集
↓
DB
↓
MCP Server
↓
AI
という構成もあります。
この場合、MCPはDBに保存済みの記事を検索するだけです。
メリットは、
ことです。
小規模なら直接RSSを取得し、登録数が増えてきたらDBを挟むと考えると分かりやすいでしょう。
「登録している技術RSSから今日の記事をまとめて」
AIがRSS Toolを呼び出し、新着だけ要約します。
GitHubや技術ブログのRSSを登録して、
「昨日から重要なアップデートある?」
と確認できます。
複数のRSSを取得して、
「生成AIに関係する記事だけ出して」
といった使い方もできます。
RSSで集めた記事から、
「今週ブログに書けそうなテーマを5つ出して」
とAIへ依頼することもできます。
MCPとRSSリーダーは置き換える関係ではありません。
RSSリーダーは、人間が記事を読むためのツールです。
RSS
↓
RSSリーダー
↓
人間
MCPはRSSの情報をAIへ渡すために使えます。
RSS
↓
MCP Server
↓
AI
↓
要約・検索・整理
自分で記事を眺めたいならRSSリーダー、AIに処理させたいならMCPという使い分けができます。
両方を使う構成も可能です。
MCPは現在も仕様更新が続いています。
2026年7月28日には新しい仕様が公開され、プロトコルのステートレス化やSDKの更新など大きな変更が行われました。
古い記事では、
@modelcontextprotocol/sdk
を使った実装や、現在とは異なるAPIが紹介されている場合があります。
新しく実装する場合は、利用しているSDKのバージョンと公式ドキュメントを確認してください。
2026年9月19日時点では、TypeScript SDK v2が2026-07-28仕様に対応する安定版として提供されています。
MCPにRSS専用機能があるわけではありません。
基本的にはRSS取得処理をMCP ServerからToolとして公開します。
RSS
↓
RSS Parser
↓
MCP Tool
↓
AI
まず試すなら、
get-rss-items(url, limit)
という一つのToolだけでも十分です。
そこから必要に応じて、
などを追加できます。
RSSは「どこから情報を取るか」、MCPは「その情報をAIからどう利用できるようにするか」と考えると分かりやすいでしょう。
MCPはAIからRSSを扱うときに便利ですが、単純に好きなサイトの新着を読みたいだけならMCP Serverを作る必要はありません。
NagooFeedでは、自分で選んだRSSを登録して、新着記事をブラウザからまとめて眺められます。
情報確認日:2026年9月19日