Skip to main content
Glama
FreshRSS MCP Server

FreshRSS MCP Server

FreshRSS MCP Server

A Model Context Protocol server for interacting with FreshRSS feeds via the Fever API.

This TypeScript-based MCP server allows AI assistants to interact with your FreshRSS instance, enabling them to:

  • List and browse your RSS feeds

  • Fetch unread items

  • Mark items as read/unread

  • Get items from specific feeds

Features

Tools

  • list_feeds - List all feed subscriptions

  • get_feed_groups - Get feed groups

  • get_unread - Get unread items

  • get_feed_items - Get items from a specific feed

  • mark_item_read - Mark an item as read

  • mark_item_unread - Mark an item as unread

  • mark_feed_read - Mark all items in a feed as read

  • get_items - Get specific items by their IDs

Related MCP server: FreshRSS MCP Server

Requirements

  • A running FreshRSS instance with API access enabled

  • API endpoint URL, username, and password for your FreshRSS instance

Development

Install dependencies:

npm install

Build the server:

npm run build

For development with auto-rebuild:

npm run watch

Environment Variables

You need to set the following environment variables:

  • FRESHRSS_API_URL: URL to your FreshRSS instance (e.g., "https://rss.example.com")

  • FRESHRSS_USERNAME: Your FreshRSS username

  • FRESHRSS_PASSWORD: Your FreshRSS password

Installation

To use with Claude Desktop, add the server config:

On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json On Windows: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "freshrss": {
      "command": "node",
      "args": ["/path/to/freshrss-server/build/index.js"],
      "env": {
        "FRESHRSS_API_URL": "https://your-freshrss-instance.com",
        "FRESHRSS_USERNAME": "your-username",
        "FRESHRSS_PASSWORD": "your-password"
      }
    }
  }
}

For Cline MCP integration, add to your MCP settings:

{
  "mcpServers": {
    "freshrss": {
      "command": "node",
      "args": ["/path/to/freshrss-server/build/index.js"],
      "env": {
        "FRESHRSS_API_URL": "https://your-freshrss-instance.com",
        "FRESHRSS_USERNAME": "your-username",
        "FRESHRSS_PASSWORD": "your-password"
      }
    }
  }
}

Debugging

Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the MCP Inspector, which is available as a package script:

npm run inspector

The Inspector will provide a URL to access debugging tools in your browser.

Security Note

This server requires your FreshRSS credentials. For security:

  • Never commit your credentials to version control

  • Always use environment variables for sensitive information

  • Consider using a dedicated FreshRSS account with appropriate permissions

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contributing

Contributions are welcome! See CONTRIBUTING.md for details.

Available Tools

8 tools
get_feed_groupsC

Get feed groups

Inputs: no named parameters.

get_feed_itemsA

Get items from a specific feed

Inputs: feed_id (required).

get_itemsA

Get specific items by their IDs

Inputs: item_ids (required).

get_unreadB

Get unread items

Inputs: no named parameters.

list_feedsA

List all feed subscriptions

Inputs: no named parameters.

mark_feed_readA

Mark all items in a feed as read

Inputs: feed_id (required).

mark_item_readB

Mark an item as read

Inputs: item_id (required).

mark_item_unreadB

Mark an item as unread

Inputs: item_id (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.5/5.0

    Scored across 8 tools

    Disambiguation5/5

    Each tool has a clear, distinct purpose: listing feeds, retrieving items by different criteria, and toggling read state. The three retrieval tools (get_unread, get_feed_items, get_items) are differentiated by their filters, and the mark operations are unambiguous.

    Naming Consistency4/5

    Most tools follow a get_<resource> or mark_<resource>_<state> pattern, but list_feeds uses 'list' instead of 'get', and get_unread omits the noun 'items'. These minor deviations are still readable and predictable.

    Tool Count5/5

    Eight tools is well-scoped for an RSS reader, covering the core read and mark operations without excessive granularity. Each tool earns its place in the set.

    Completeness3/5

    The read and mark workflows are well covered, but the server lacks feed management operations (add, update, delete feeds) and has no search capability. These gaps limit the toolset to a read-only consumer rather than a full FreshRSS manager.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers