Curate dedicated information sources

Self-hosted pipeline for content production and news workflows: ingest web, RSS, and email, parse with plugins, store in SQLite, enrich on demand, then publish RSS, JSON API, and MCP for editorial and distribution tools.

Quick start
$npm install -g rssany
$rssany
# open http://127.0.0.1:18473/

First run creates ~/.rssany/ with sources.json and config.json

RssAny web UI to curate sources, browse items, and feed content pipelines

Built for content and news pipelines

From curated sources through fetch, parse, enrich, and publish — one stack for intelligence gathering and distribution.

Curated sources

Configure web lists, RSS feeds, and IMAP mail in sources.json; the scheduler keeps your news intake on refresh intervals.

Pluggable sources

Many built-in Site plugins; override or extend under ~/.rssany/plugins with .rssany.js/.ts files.

Fixed pipeline

Tagging, translation, and quality filters live in app/pipeline/, enabled via pipeline.steps in config.

LLM-assisted

Parsing, extraction, tags, and translation can use an OpenAI-compatible API with rules-first fallbacks.

Feed your pipeline

Generate RSS/Atom/JSON feeds on demand, expose /api/* JSON and MCP for editorial tools, agents, and downstream systems.

Self-hosted & open source

Node.js + SQLite under ~/.rssany/, MIT licensed. Install via npm globally or deploy with Docker.

Fixed pipeline per item

After upsert, each item runs tagging, translation, and more — toggled in config.json.

fetchItems

Scheduler triggers source plugins for list fetch, body extraction, and site login when needed.

upsertItems

Dedupe by guid into SQLite with configurable cache windows and refresh policies.

pipeline

Per-item chain: tagging, translation, etc., then content and cache updates.

Optional deliver

When deliver.url is set, POST { sourceRef, items } JSON after pipeline completes.

FAQ

Quick answers about RssAny, sources, storage, and installation.

What is RssAny?
RssAny is a self-hosted pipeline for curating information sources in content production and news workflows. It fetches web lists, RSS/Atom, and IMAP mail, parses and enriches items, deduplicates into SQLite, then publishes RSS/Atom/JSON feeds, JSON API, and MCP for editorial and distribution tools.
Which source types are supported?
Dozens of built-in Site plugins (.rssany.js), standard RSS/Atom feeds, and email sources. Drop custom plugins in ~/.rssany/plugins and tune refresh intervals and proxies in sources.json.
Where is data stored?
Items live in SQLite via Node's built-in driver, defaulting to ~/.rssany/data/rssany.db. User config under ~/.rssany/ survives package upgrades.
Does it support LLM tagging or translation?
Yes. Parsing, extraction, tagging, and translation run in the fixed pipeline under app/pipeline/, toggled in config.json with an OpenAI-compatible endpoint.
How do I install and run it?
Run npm install -g rssany, then rssany and open http://127.0.0.1:18473/. From source: pnpm install, pnpm run build:all, pnpm start.

Start curating your sources

Install in one command, run locally, and own your news and content pipeline.