Skip to content
feed-mcp

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
$ 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 brew install richardwooding/tap/feed-mcp
go go install github.com/richardwooding/feed-mcp@latest
docker 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"
      ]
    }
  }
}

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 feed
  • get_syndication_feed_items — paginated items, metadata-first
  • fetch_link — pull the full content of a specific article
  • merge_feeds — aggregate feeds with dedup and sorting
  • export_feed_data — export as JSON, CSV, OPML, RSS, or Atom
  • add_feed · remove_feed · list_managed_feeds — with --allow-runtime-feeds

Resources

  • feeds://all — the full feed catalog
  • feeds://feed/{id} — a single feed
  • feeds://feed/{id}/items — filter by since, author, category, search
  • feeds://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.

2/s

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.

30s

Circuit breaker opens after 3 consecutive failures, resets after a 30s timeout.

100

Pooled idle connections (10 per host) via a tuned HTTP transport.

SSRF

Private IPs blocked up-front and at dial time — DNS-rebinding safe.

SIGTERM

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.