Content
# mcp-morning-brief
> Subscribe to RSS/Atom feeds. Get a deduped daily brief. **Feeds in, structured brief out, no UI.** Free, MIT.
Existing news/RSS MCPs either dump raw items or require paid APIs. **`mcp-morning-brief` is the opinionated "morning brief" shape** — exactly what pairs with a daily Claude Desktop chat.
---
## Install
```json
{
"mcpServers": {
"brief": {
"command": "npx",
"args": ["-y", "@dpm-tools/mcp-morning-brief"]
}
}
}
```
Requires Node.js 22.18+. Feed list stored at `~/.mcp-morning-brief/feeds.json`.
---
## Tools (5)
- **`list_feeds`** — Show all subscribed feeds.
- **`add_feed`** — Subscribe (validates by fetching + parsing).
- **`remove_feed`** — Unsubscribe by URL or label.
- **`fetch_feed`** — Fetch any RSS/Atom feed (subscribed or not).
- **`get_brief`** — Deduped digest of last N hours, grouped by feed.
---
## Example prompts
- *"Subscribe me to https://news.ycombinator.com/rss"*
- *"Give me a morning brief from the last 24 hours."*
- *"Fetch the latest 10 items from https://lobste.rs/rss"*
- *"What feeds am I subscribed to?"*
See [`examples/prompts.md`](./examples/prompts.md) for more.
---
## Why this exists
People feel guilty about not reading their RSS reader. This server reframes RSS as a **conversation accessory** — Claude pulls your morning brief at the start of your daily chat.
Zero deps beyond `@modelcontextprotocol/sdk`. Parses RSS 2.0 + Atom with regex (handles 95% of feeds). Stores feed list locally as JSON. No API keys. No cloud sync.
---
## Sister servers from dpm
- **`mcp-devkit`**, **`mcp-public-data`**, **`mcp-diff`**, **`mcp-archive`**, **`mcp-citations`**, **`mcp-ical`**, **`mcp-dict`**, **`mcp-http-inspect`**.
---
## License
MIT © dpm (digital product mill)