web-mcp
web-mcp
Семантический поиск по RSS/Atom-лентам для ИИ-агентов — одностраничный MCP сервер. Без API-ключей, без облака — только те ленты, которые вы выберете.
Укажите несколько RSS/Atom-лент и дайте агенту инструменты для поиска по смыслу (TF-IDF + буст по свежести), просмотра трендов, генерации дайджеста и мониторинга здоровья лент — всё работает локально с лентами, которыми вы управляете.

Возможности
Добавление/удаление/список лент — RSS 2.0 и Atom
Ранжированный поиск — косинусная близость TF-IDF с бустом по свежести, чистая стандартная библиотека (без эмбеддингов, без сетевых вызовов, кроме загрузки самих лент)
Трендовые темы — самые частые термины среди недавних статей
Здоровье источников — отмечает ленты, которые ошибаются, молчат или устарели
Дайджесты в Markdown — сводка недавних статей, сгруппированных по лентам
Фоновое обновление — ленты обновляются автоматически по таймеру
Установка
Требуется Python 3.10+.
О названии пакета: проект называется
web-mcp, но дистрибутив на PyPI —feed-mcp— PyPI отклоняетweb-mcpкак слишком похожий на существующий несвязанный пакетwebmcp. Поэтому вы делаетеpip install feed-mcp, и он устанавливает обе команды:web-mcpиfeed-mcp; это одна и та же программа, используйте любую.
Вариант A — плагин Claude Code (рекомендуется)
Устанавливает MCP-сервер и встроенные навыки и агентов одним шагом:
pip install feed-mcpЗатем внутри Claude Code:
/plugin marketplace add ManiaSacha/web-mcp
/plugin install web-mcp@maniasacha-web-mcpПлагин автоматически регистрирует MCP-сервер web и запрашивает начальный список лент. Если в сводке установки сказано Run /reload-plugins to activate., выполните это.
Шаг
pip installобязателен: MCP-сервер плагина вызывает командуweb-mcp, которую pip помещает в PATH.
Вариант B — только MCP-сервер
pip install feed-mcp
claude mcp add web -- web-mcp --feeds https://hnrss.org/frontpageДля Claude Desktop добавьте это в claude_desktop_config.json:
{
"mcpServers": {
"web": {
"command": "web-mcp",
"args": ["--feeds", "https://hnrss.org/frontpage,https://github.blog/feed/"]
}
}
}Вариант C — из исходников
git clone https://github.com/ManiaSacha/web-mcp.git
cd web-mcp
./install.sh # Windows: .\install.ps1Скрипты установки проверяют версию Python, устанавливают пакет и выводят точную следующую команду для вашей конфигурации.
Быстрый старт
Запустите сервер напрямую, чтобы проверить, что он работает:
web-mcp --feeds https://hnrss.org/frontpage,https://github.blog/feed/Он говорит по MCP через stdio, поэтому будет молча ждать клиента — это нормальное поведение, а не зависание. Нажмите Ctrl+C для выхода.
После подключения задавайте агенту вопросы, например:
«Что сегодня в тренде в моих лентах?»
«Найди в моих лентах что-нибудь о производительности Postgres.»
«Дай дайджест за последние 24 часа.»
«Есть ли сломанные ленты?»
Что входит
Компонент | Имя | Назначение |
MCP-сервер |
| 9 инструментов ниже |
Навык |
| Добавление, аудит и очистка лент |
Навык |
| Превращение сырых результатов инструментов в синтезированную сводку |
Агент |
| Согласование функций с философией одного файла |
Агент |
| Аудит поверхности SSRF/загрузки |
Агент |
| Ветвление, коммиты и передача на ревью |
Инструменты
Инструмент | Описание |
| Добавить RSS/Atom-ленту и индексировать её текущие статьи |
| Удалить ленту и её проиндексированные статьи |
| Список настроенных лент с количеством статей |
| Ранжированный поиск с бустом по свежести |
| Последние статьи из всех лент |
| Трендовые термины за последние N часов |
| Дайджест в Markdown, сгруппированный по лентам |
| Какие ленты здоровы, опаздывают или ошибаются |
| Принудительно обновить все ленты немедленно |
Замечания по безопасности
add_feed(url) заставляет сервер загружать URL, который мог попасть к агенту с веб-страницы, а не от вас, поэтому этот путь считается недоверенным:
Разрешённые схемы — только
http://иhttps://.file://,ftp://,gopher://иdata:отклоняются.Только публичные адреса — URL отклоняется, если каждый адрес, на который он резолвится, не является публично маршрутизируемым. Loopback, частные, link-local (включая endpoint облачных метаданных
169.254.169.254), multicast и зарезервированные адреса блокируются, как и их IPv4-mapped IPv6 формы.Привязка IP при подключении — проверенный адрес — это тот, к которому фактически выполняется подключение, поэтому DNS не может ответить по-разному между проверкой и соединением (rebinding). TLS по-прежнему проверяет сертификаты по имени хоста.
Проверка редиректов на каждом шаге — редиректы обрабатываются вручную и повторно проверяются на каждом шаге, поэтому публичный URL не может перенаправить загрузку на внутренний хост. Максимум 5 переходов.
Ограничения ресурсов — 5 МБ на тело ленты, явный таймаут сокета и ограничение на
limitкаждого инструмента.
Чего это не делает: у него нет аутентификации (он предназначен для локального запуска через stdio — не выставляйте его в сеть), и он не проверяет содержимое лент. Проиндексированный текст статей пишется тем, кто контролирует ленту, поэтому относитесь к нему как к данным, а не как к инструкциям.
Полные детали, включая оставшиеся ограничения, в docs/SECURITY-MODEL.md. Чтобы сообщить об уязвимости, см. SECURITY.md.
Разработка
pip install -e ".[dev]"
pytest # 53 tests, no network access
ruff check . # lint
python scripts/validate_plugin.py # manifests, frontmatter, version syncCI запускает все три на Python 3.10–3.13 (Linux, плюс macOS и Windows на 3.12), а также дополнительно устанавливает собранное колесо, чтобы убедиться, что консольные скрипты работают.
См. CONTRIBUTING.md для рабочего процесса и CHANGELOG.md для истории релизов.
Лицензия
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server for Google search results via SERP API
Reddit & X data for AI agents over MCP. Semantic search, hosted, no Reddit API.
Live Feeds (RSS/Atom) MCP.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ManiaSacha/web-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server