RSS フィードを取得して LLM と共有する MCP (Message Chain Protocol) サーバー。
特徴
- RSSフィードの取得とキャッシュ(SQLiteデータベース)
- シームレスなLLM統合のためのMCPプロトコル実装
- カテゴリ、ソース、キーワードによるフィードのフィルタリングをサポート
- フィード管理のための包括的な API エンドポイント
- Firecrawl からの記事の取得をサポート
要件
- パン
- Firecrawl APIキー
- Claude Desktop またはその他の MCP クライアント
MCPサーバーとしてセットアップ
- このリポジトリをクローンする
claude_desktop_config.json.example
に基づいて、設定を含むclaude_desktop_config.json
ファイルを作成します。
{
"mcpServers": {
"rss-crawler": {
"command": "/path/to/bun",
"args": ["run", "/path/to/mcp-rss-crawler/apps/mcp-server/src/mcp-cli.ts"],
"cwd": "/path/to/mcp-rss-crawler",
"env": {
"PORT": "5556",
"DB_DIR": "/path/to/mcp-rss-crawler",
"FIRECRAWL_API_KEY": "fc-<YOUR_FIRECRAWL_API_KEY>"
}
}
}
}
- 依存関係をインストールします:
- Claude Desktop を起動します。
MCPプロトコル
サーバーはメッセージチェーンプロトコル(MCP)を実装しており、LLMが最新のRSSフィードにアクセスできるようにします。MCPエンドポイントは、メッセージ配列を含むJSONボディを持つPOSTリクエストを受け取り、最新のフィードアイテムを含むレスポンスを返します。
リクエストの例:
{
"messages": [
{
"role": "user",
"content": "What are the latest news from my RSS feeds?"
}
]
}
応答例:
{
"messages": [
{
"role": "assistant",
"content": "Here are the latest articles from your RSS feeds:",
"name": "rss-mcp"
},
{
"role": "tool",
"content": "[{\"title\":\"Article Title\",\"summary\":\"Article summary...\",\"published\":\"2025-03-16T04:30:00.000Z\",\"origin\":\"Feed Name\",\"link\":\"https://example.com/article\"}]",
"name": "rss-feeds"
}
]
}
設定オプション
サーバーは、環境変数または.env
ファイルを通じて構成できます。
PORT
- サーバーポート(デフォルト: 5556)FIRECRAWL_API_KEY
- Firecrawl API キーDB_DIR
- データベースディレクトリ(デフォルト: ~/.mcp-rss-crawler
)
トラブルシューティング
- 接続の問題については、ネットワーク設定とファイアウォールの構成を確認してください。
- ログはコンソールで利用でき、問題の診断に使用できます。
- より詳細なログ記録を行うには、
DEBUG=mcp-rss:*
環境変数を設定します。