rss-fetch 0.1.0

MCP server for fetching and reading RSS/Atom feeds
Documentation
# rss-fetch

MCP server for fetching and reading RSS/Atom feeds.

## Install

### Homebrew

```bash
brew install ynishi/rss-fetch/rss-fetch-mcp
```

### Cargo

```bash
cargo install rss-fetch
```

### Shell (Linux/macOS)

```bash
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/ynishi/rss-fetch/releases/latest/download/rss-fetch-installer.sh | sh
```

## Setup

Add to your MCP client config (e.g. `~/.claude/settings.json`):

```json
{
  "mcpServers": {
    "rss-fetch": {
      "command": "rss-fetch-mcp"
    }
  }
}
```

## Usage

### List articles from a feed

```
rss_fetch(action="list", url="https://example.com/feed.xml")
```

Returns a Markdown table:

| # | Title | Date |
|---|-------|------|
| 1 | Article A | 2026-02-14 |
| 2 | Article B | 2026-02-13 |

### Read an article

```
rss_fetch(action="get", id=1)
```

Returns the article's text content.

## Library Usage

The core logic is available as a library:

```rust
use rss_fetch::{build_http_client, EntryStore, fetch_and_parse_feed, format_entries_as_markdown};

#[tokio::main]
async fn main() -> anyhow::Result<()> {
    let client = build_http_client()?;
    let (title, entries) = fetch_and_parse_feed(&client, "https://example.com/feed.xml").await?;
    let store = EntryStore::new();
    let entries = store.store_entries(entries).await?;
    println!("{}", format_entries_as_markdown(&title, &entries));
    Ok(())
}
```

## License

MIT