Feed

A server for fetching and parsing RSS, Atom, and JSON feeds.

feed-mcp

Go Coverage Go Report Card MCP Badge

Bring RSS feeds to Claude Desktop β€” Read news, blogs, and updates directly in your AI conversations.

What is feed-mcp?

feed-mcp is a Model Context Protocol (MCP) server that lets Claude Desktop read RSS, Atom, and JSON feeds. Think of it as a bridge that connects your favorite websites' RSS feeds to Claude, so you can ask questions about the latest articles, get summaries, and stay updatedβ€”all from within your Claude chat.

Why use it?

  • πŸ“° Stay informed β€” Read the latest news and blog posts without leaving Claude
  • 🎯 Get summaries β€” Ask Claude to summarize multiple articles across different feeds
  • πŸ” Deep dive β€” Research topics by querying specific feeds or articles
  • ⚑ Save time β€” No need to open multiple websites to stay current

Quick Start

Step 1: Add to Claude Desktop

Open your Claude Desktop configuration file and add feed-mcp with your favorite feeds:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "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"
      ]
    }
  }
}

Step 2: Restart Claude Desktop

Restart Claude Desktop to load the new configuration.

Step 3: Start chatting!

Try asking Claude:

  • "What are the latest tech news headlines?"
  • "Summarize the top 5 articles from my feeds"
  • "Are there any articles about AI today?"

Popular Feed Collections

Technology News

{
  "mcpServers": {
    "tech-news": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "ghcr.io/richardwooding/feed-mcp:latest",
        "run",
        "https://techcrunch.com/feed/",
        "https://www.theverge.com/rss/index.xml",
        "https://www.wired.com/feed/rss",
        "https://feeds.arstechnica.com/arstechnica/index"
      ]
    }
  }
}

Security & Privacy

{
  "mcpServers": {
    "security-news": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "ghcr.io/richardwooding/feed-mcp:latest",
        "run",
        "https://krebsonsecurity.com/feed/",
        "https://www.schneier.com/blog/atom.xml",
        "https://www.bleepingcomputer.com/feed/"
      ]
    }
  }
}

Web Development

{
  "mcpServers": {
    "webdev-news": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "ghcr.io/richardwooding/feed-mcp:latest",
        "run",
        "https://css-tricks.com/feed/",
        "https://www.smashingmagazine.com/feed/",
        "https://hacks.mozilla.org/feed/"
      ]
    }
  }
}

Podcasts

{
  "mcpServers": {
    "podcasts": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "ghcr.io/richardwooding/feed-mcp:latest",
        "run",
        "https://feeds.npr.org/510282/podcast.xml",
        "https://feeds.npr.org/381444908/podcast.xml"
      ]
    }
  }
}

Try asking Claude:

  • "What are the latest podcast episodes?"
  • "Summarize the most recent episode from NPR Politics"
  • "Are there any episodes about climate change this week?"

Using Your RSS Reader Feeds

Already have feeds in Feedly, Inoreader, or another RSS reader? Export them as OPML and use with feed-mcp:

{
  "mcpServers": {
    "my-feeds": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-v", "/path/to/your/feeds.opml:/feeds.opml:ro",
        "ghcr.io/richardwooding/feed-mcp:latest",
        "run", "--opml", "/feeds.opml"
      ]
    }
  }
}

How to export OPML:

  • Feedly: Settings β†’ OPML β†’ Export
  • Inoreader: Preferences β†’ Folders and Tags β†’ Export OPML
  • NewsBlur: Account β†’ Import/Export β†’ Export Stories
  • The Old Reader: Settings β†’ Import/Export β†’ Export

How Claude Reads Feeds

When you ask Claude about your feeds, here's what happens:

  1. Browse first β€” Claude gets a list of article titles and metadata
  2. Read selectively β€” Claude only fetches full content for articles you ask about
  3. Smart caching β€” Articles are cached to avoid re-fetching

This two-pass approach keeps responses fast and prevents overwhelming your conversation.

Example Usage

You: "What's new in tech today?"

Claude will:

  1. Browse your tech feed titles
  2. Summarize the latest headlines
  3. Ask if you want details on specific articles

You: "Tell me more about the first article"

Claude will:

  1. Fetch the full content of that article
  2. Provide a detailed summary or answer your questions

Features

  • 🌐 Multiple formats β€” RSS, Atom, and JSON feeds
  • πŸ“± Import from readers β€” OPML support for easy migration
  • πŸ’Ύ Smart caching β€” Efficient feed retrieval with automatic updates
  • ⚑ Fast & reliable β€” Built-in rate limiting and error handling
  • πŸ”’ Secure β€” URL validation and private IP blocking
  • 🐳 Easy deployment β€” Docker and Podman support

Advanced Features

For power users, feed-mcp includes:

  • Dynamic feed management β€” Add/remove feeds at runtime
  • MCP Resources β€” Advanced filtering and real-time subscriptions
  • Intelligent prompts β€” Analyze trends, monitor keywords, generate reports
  • Circuit breakers β€” Automatic handling of failing feeds
  • Custom configuration β€” Rate limiting, retries, connection pooling

See docs/ADVANCED.md for details.

Alternative Installation Methods

Go Install

If you have Go installed:

go install github.com/richardwooding/feed-mcp@latest
feed-mcp run https://techcrunch.com/feed/

Then configure Claude Desktop:

{
  "mcpServers": {
    "feed-mcp": {
      "command": "feed-mcp",
      "args": ["run", "https://techcrunch.com/feed/"]
    }
  }
}

Podman

Prefer Podman over Docker? Just replace docker with podman:

{
  "mcpServers": {
    "feed-mcp": {
      "command": "podman",
      "args": [
        "run", "-i", "--rm",
        "ghcr.io/richardwooding/feed-mcp:latest",
        "run",
        "https://techcrunch.com/feed/"
      ]
    }
  }
}

Troubleshooting

"Claude hit the maximum length for this conversation"

If you see this error:

  • You're fetching too many large articles at once
  • Try asking Claude to browse titles first, then read specific articles
  • The server automatically limits content to prevent this

Feed not updating

Feeds are cached for 10 minutes by default. If you need fresh data:

  • Wait a few minutes and try again
  • Restart Claude Desktop to clear the cache

Private/localhost feeds

By default, localhost and private IP feeds are blocked for security. To enable:

{
  "mcpServers": {
    "feed-mcp": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "ghcr.io/richardwooding/feed-mcp:latest",
        "run", "--allow-private-ips",
        "http://localhost:8080/feed.xml"
      ]
    }
  }
}

Documentation

  • ADVANCED.md β€” Dynamic feed management, MCP Resources, intelligent prompts
  • ARCHITECTURE.md β€” Technical details, architecture, development guide
  • CLAUDE.md β€” Instructions for Claude Code when working with this codebase

Contributing

Contributions are welcome! See the architecture docs for technical details and development guidelines.

License

MIT License β€” See LICENSE for details.

Related Servers