rss · atom · json · model context protocol
Bring RSS feeds to Claude.
feed-mcp is a Model Context Protocol server that lets AI assistants read RSS, Atom, and JSON feeds — so you can ask about the latest articles, get summaries, and stay updated without leaving your chat.
Docker · Homebrew · Go install · one-click MCP Bundle for Claude Desktop
$ feed-mcp run https://hnrss.org/frontpage » initialize RSS, Atom, and JSON Feed Server » tools/list 5 tools · 5 prompts » tools/call all_syndication_feeds { "id": "hnrss.org-frontpage", "title": "Hacker News: Front Page", "public_url": "https://hnrss.org/frontpage" }
what you get
A feed bridge built for AI conversations.
Two-pass reading keeps responses fast: Claude browses titles first, then fetches full content only for the articles you ask about.
Multiple formats
RSS, Atom, and JSON feeds — parsed through one consistent model your assistant can reason over.
Import from readers
Point it at an OPML file exported from Feedly, Inoreader, or NewsBlur and every feed comes along.
Smart caching
In-memory cache keyed by feed URL, 1-hour default expiry — fresh enough, without hammering sources.
Fast & resilient
Per-host rate limiting, exponential-backoff retries, circuit breakers, and connection pooling built in.
Secure by default
SSRF protection via ssrfguard — HTTP(S) only, private IPs blocked, DNS-rebinding defeated at dial time.
Easy deployment
Run over stdio for Claude Desktop, or Streamable HTTP for web and remote deployments.
get it running
Install in a minute.
Pick your platform, then drop the config into Claude Desktop. Feeds are just arguments.
brew install richardwooding/tap/feed-mcp
go install github.com/richardwooding/feed-mcp@latest
docker run -i --rm ghcr.io/richardwooding/feed-mcp:latest run https://techcrunch.com/feed/
Prefer Podman? Swap docker for podman — the arguments are identical. Or grab a one-click .mcpb MCP Bundle from the releases page.
Add it to Claude Desktop
{ "mcpServers": { "feed-mcp": { "command": "docker", "args": [ "run", "-i", "--rm", "ghcr.io/richardwooding/feed-mcp:latest", "run", "https://techcrunch.com/feed/", "https://www.theverge.com/rss/index.xml" ] } } }
// after `brew install` or `go install` { "mcpServers": { "feed-mcp": { "command": "feed-mcp", "args": ["run", "https://techcrunch.com/feed/"] } } }
// bring your whole reader — export OPML from Feedly / Inoreader { "mcpServers": { "my-feeds": { "command": "docker", "args": [ "run", "-i", "--rm", "-v", "/path/to/feeds.opml:/feeds.opml:ro", "ghcr.io/richardwooding/feed-mcp:latest", "run", "--opml", "/feeds.opml" ] } } }
Restart Claude Desktop, then try: "What are the latest tech headlines?" or "Summarize the top 5 articles from my feeds."
what claude can call
The MCP surface.
Tools
all_syndication_feeds— list every configured feedget_syndication_feed_items— paginated items, metadata-firstfetch_link— pull the full content of a specific articlemerge_feeds— aggregate feeds with dedup and sortingexport_feed_data— export as JSON, CSV, OPML, RSS, or Atomadd_feed·remove_feed·list_managed_feeds— with--allow-runtime-feeds
Resources
feeds://all— the full feed catalogfeeds://feed/{id}— a single feedfeeds://feed/{id}/items— filter bysince,author,category,searchfeeds://feed/{id}/meta— feed metadata only
Five prompts ship too — summarize_feeds, analyze_feed_trends, compare_sources, monitor_keywords, and generate_feed_report.
Item reads default to metadata-only, limit 10 (max 20), to avoid overflowing the conversation context. Opt into includeContent / includeImages when you need more.
built to keep serving
Resilience & security, by default.
Per-host rate limiting — 2 req/s, burst 5, one limiter per hostname.
Retries with exponential backoff + jitter on 5xx, DNS, and timeouts — never on 4xx.
Circuit breaker opens after 3 consecutive failures, resets after a 30s timeout.
Pooled idle connections (10 per host) via a tuned HTTP transport.
Private IPs blocked up-front and at dial time — DNS-rebinding safe.
Graceful shutdown with context propagation and a configurable timeout.
open source · MIT
Give Claude a news habit.
Free, self-hostable, and dependency-light. Star it on GitHub or dive into the docs.