About this project

NewsBlur is a personal news reader and social news network that combines RSS reading with filtering tools. Users can train the reader to highlight or hide stories based on preferences, and share stories through public or private blurblogs. The hosted service at newsblur.com is free for up to 64 sites, with premium plans available; the repository also supports self-hosting. Key features include real-time story delivery, an original site view, training-based highlighting and hiding, shared stories, full-text search, story tagging, saved searches, full-story expansion from truncated feeds, change tracking, email newsletter reading, multiple layouts (Grid, List, Split, Magazine), dark mode, YouTube channel following, third-party app support (Reeder, ReadKit, Unread), IFTTT integration, and native iOS, macOS, and Android apps. The stack is a Django application (Python 3.7+) with a Backbone.js frontend. It uses PostgreSQL for relational data, MongoDB for stories and read states, Redis for story assembly and caching, optional Elasticsearch for search, Celery for background feed fetching, and Node.js services for text extraction and image processing. Self-hosting requires Docker and Docker Compose. After cloning, running `make` starts the stack and applies migrations; the instance is reachable at https://localhost. Make targets cover logs, Django shell, bash access, tests, linting, and database shells for MongoDB, Redis, and PostgreSQL. Configuration is done through `newsblur_web/local_settings.py`, with options for domain, cookies, premium defaults, captcha, OpenAI API key, story retention, and payment/social API keys for full deployments. A bootstrap command can create PopularFeed records from curated fixtures without fetching content. Development supports Git worktrees, each running on unique ports while sharing database services, which is presented as useful when working with AI coding assistants. An MCP server lets MCP-compatible clients interact with feeds, stories, and classifiers, exposing tools for listing feeds, retrieving and searching stories, fetching original article text, managing subscriptions and folders, saving stories, sharing, training classifiers, discovering feeds, and managing notifications. Prompt templates cover daily briefing, inbox triage, topic research, training from reading patterns, feed health checks, and feed discovery. Self-hosted MCP runs as a separate container on port 8099. The project is MIT licensed and created by Samuel Clay. Support channels include the hosted service and a community forum.