RSS Feed MCP

MCP MCP Servers Open Source

MCP-сервер для чтения RSS/Atom лент с поддержкой RSSHub-маршрутов. AI-агент читает, фильтрует и суммаризирует новости из любых источников — блогов, подкастов, новостных сайтов, GitHub releases.

Добавлен 06.07.2026 · Обновлён 06.07.2026 · MCP Servers
Установка
# Claude Desktop — claude_desktop_config.json:
{ "mcpServers": { "rss": { "command": "npx", "args": ["-y", "rss-mcp"] } } }

# Claude Code (CLI):
claude mcp add rss -- npx -y rss-mcp

# OpenCode — ~/.config/opencode/opencode.json:
{ "mcp": { "rss": { "type": "local", "command": ["npx", "-y", "rss-mcp"] } } }
переведено ИИ

RSS MCP-сервер

Версия NPM

Это сервер протокола контекста модели (MCP), созданный на TypeScript. Он предоставляет универсальный инструмент для получения и разбора любых стандартных RSS/Atom-лент, а также включает специальную поддержку лент RSSHub. С помощью этого сервера языковые модели или другие MCP-клиенты могут легко получать структурированный контент из различных веб-источников.

RSS Server MCP server

Сервер оснащен встроенным списком публичных экземпляров RSSHub и поддерживает механизм опроса для автоматического выбора доступного экземпляра, что значительно повышает успешность и стабильность получения данных.

✨ Возможности

  • Универсальный разбор лент: Получение и разбор любой стандартной RSS/Atom-ленты по указанному URL.
  • Расширенная поддержка RSSHub: Инструмент get_feed для получения любой ленты, поддерживаемой RSSHub, через MCP с поддержкой нескольких экземпляров.
  • Настраиваемое количество элементов: Указание количества элементов ленты для получения, включая возможность получить все элементы.
  • Поддержка нескольких экземпляров: Включает список публичных экземпляров RSSHub и автоматически выполняет опрос для поиска доступного сервиса.
  • Умный разбор URL: Поддержка стандартных URL RSSHub и упрощенного формата протокола rsshub://.
  • Настройка приоритетного экземпляра: Возможность задать предпочтительный экземпляр RSSHub через переменную окружения PRIORITY_RSSHUB_INSTANCE.
  • Надежная обработка ошибок: Если запрос к одному экземпляру не удается, автоматически пробуется следующий до тех пор, пока запрос не выполнится успешно или не будут исчерпаны все экземпляры.
  • Очистка контента: Использует Cheerio для очистки содержимого ленты и извлечения простого текстового описания.
  • Стандартизированный вывод: Преобразует полученную RSS-ленту в структурированный формат JSON.

📦 Установка

Сначала клонируйте репозиторий проекта, затем установите необходимые зависимости.

git clone https://github.com/veithly/rss-mcp.git
cd rss-mcp
npm install

🚀 Использование

1. Сборка проекта

Перед запуском необходимо скомпилировать код TypeScript в JavaScript:

npm run build

2. Запуск сервера

После успешной сборки запустите MCP-сервер:

npm start

Сервер будет общаться с родительским процессом (например, Cursor) через Stdio.

3. Настройка приоритетного экземпляра (необязательно)

Вы можете создать файл .env, чтобы указать приоритетный экземпляр RSSHub. Это полезно для пользователей, имеющих приватный, стабильный экземпляр.

Создайте файл .env в корневой директории проекта и добавьте следующее содержимое:

PRIORITY_RSSHUB_INSTANCE=https://my-rsshub.example.com

Сервер автоматически загрузит эту конфигурацию при запуске и поместит её в начало списка опроса.

🔧 Конфигурация MCP-сервера

Для использования этого сервера с MCP-клиентом, таким как Cursor, его необходимо добавить в ваш файл конфигурации.

Способ 1: Использование npx (Рекомендуемый)

Этот пакет опубликован в npm, поэтому вы можете использовать npx для запуска сервера без локальной установки. Это самый простой метод.

  1. Прямой вызов: Вы можете запустить сервер напрямую из терминала, используя npx:

    bash npx rss-mcp

  2. Конфигурация MCP-клиента: Для интеграции с MCP-клиентом, таким как Cursor, добавьте следующее в ваш файл конфигурации (например, ~/.cursor/mcp_settings.json):

    json { "name": "rss", "command": ["npx", "rss-mcp"], "type": "stdio" }

Способ 2: Локальная установка

Если вы клонировали репозиторий локально, вы можете запустить его напрямую с помощью node.

  1. Клонируйте и соберите проект, как описано в разделах «Установка» и «Использование».
  2. Найдите ваш файл конфигурации MCP.
  3. Добавьте следующую запись сервера, убедившись, что вы используете абсолютный путь к скомпилированному файлу index.js:

    json { "name": "rss", "command": ["node", "/path/to/your/rss-mcp/dist/index.js"], "type": "stdio" }

    Важно: Замените /path/to/your/rss-mcp/dist/index.js на правильный абсолютный путь в вашей системе.

После добавления конфигурации перезапустите ваш MCP-клиент (например, Cursor), чтобы изменения вступили в силу. Сервер rss станет доступен, и вы сможете вызывать инструмент get_feed.

🛠️ Определение инструмента

get_feed

Получает и разбирает RSS-ленту по указанному URL. Поддерживает как стандартные RSS/Atom-ленты, так и ленты RSSHub.

Входные параметры

  • url (строка, обязательный): URL RSS-ленты для получения. Поддерживаются два формата:
    1. Стандартный URL: https://rsshub.app/bilibili/user/dynamic/208259
    2. Протокол rsshub://: rsshub://bilibili/user/dynamic/208259 (сервер автоматически подберет доступный экземпляр)
  • count (число, необязательный): Количество элементов RSS-ленты для получения.
    • По умолчанию: 1
    • Получить все: 0

Вывод

Возвращает строку JSON, содержащую информацию о ленте, со следующей структурой:

{
  "title": "bilibili User Dynamics",
  "link": "https://space.bilibili.com/208259",
  "description": "bilibili User Dynamics",
  "items": [
    {
      "title": "[Dynamic Title]",
      "description": "Plain text content of the dynamic...",
      "link": "https://t.bilibili.com/1234567890",
      "guid": "https://t.bilibili.com/1234567890",
      "pubDate": "2024-05-20T12:30:00.000Z",
      "author": "Author Name",
      "category": ["Category1", "Category2"]
    }
  ]
}

📜 Основные зависимости

  • @modelcontextprotocol/sdk: Для построения MCP-сервера.
  • axios: Для выполнения HTTP-запросов.
  • rss-parser: Для разбора RSS/Atom-лент.
  • cheerio: Для разбора и манипуляции HTML-контентом.
  • date-fns-tz: Для обработки форматирования дат, связанных с часовыми поясами.
  • dotenv: Для загрузки переменных окружения из файла .env.

📄 Лицензия

Данный проект лицензирован в соответствии с лицензией Apache-2.0.

Комментарии
Войдите, чтобы оставить комментарий