4 releases

Uses new Rust 2024

new 0.2.1 Aug 26, 2026
0.2.0 Aug 19, 2026
0.1.3 Aug 16, 2026
0.1.0 Aug 16, 2026

#730 in Artificial intelligence

Custom license

33KB
689 lines

MCP RSS

MCP server that provides RSS tooling.

Installation

mcp-rss is packaged as a Nix flake. Run it directly without installing:

nix run github:haras-unicorn/mcp-rss

or build the mcp-rss binary with:

nix build github:haras-unicorn/mcp-rss

Releases

Prebuilt binaries for x86_64-linux and aarch64-linux are attached to each GitHub release as tarballs containing the mcp-rss binary.

curl -L -o mcp-rss.tar.gz \
  https://github.com/haras-unicorn/mcp-rss/releases/latest/download/mcp-rss-x86_64-linux.tar.gz
tar -xzf mcp-rss.tar.gz
./mcp-rss-x86_64-linux

NixOS and home-manager

Add the flake as an input and apply its overlay so that mcp-rss is available in your system configuration:

{
  inputs = {
    nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
    mcp-rss.url = "github:haras-unicorn/mcp-rss";
  };

  outputs =
    { nixpkgs, mcp-rss, ... }:
    {
      nixosConfigurations.my-machine = nixpkgs.lib.nixosSystem {
        modules = [
          { nixpkgs.overlays = [ mcp-rss.overlays.default ]; }
        ];
      };
    };
}

Then add pkgs.mcp-rss to your packages, either in NixOS:

{ pkgs, ... }:
{
  environment.systemPackages = [ pkgs.mcp-rss ];
}

or with home-manager:

{ pkgs, ... }:
{
  home.packages = [ pkgs.mcp-rss ];
}

Binary cache

Builds are cached on the haras cachix cache. When the flake is used directly (for example with nix run github:haras-unicorn/mcp-rss), the cache is configured automatically through the flake's nixConfig. To use it when the package comes from an overlay, add the following to your nix configuration:

{
  nix.settings = {
    substituters = [ "https://haras.cachix.org" ];
    trusted-public-keys = [
      "haras.cachix.org-1:/HIo1JYqOIH1Nwk1EGXhuPPvDW0WekxIbY5CiXUZbYw="
    ];
  };
}

Usage

mcp-rss is an MCP server that speaks the Model Context Protocol over stdio. Add it as a stdio MCP server to any MCP client, for example:

{
  "mcpServers": {
    "mcp-rss": {
      "command": "nix",
      "args": ["run", "github:haras-unicorn/mcp-rss"]
    }
  }
}

If mcp-rss is already on your PATH, point the client at the binary directly instead:

{
  "mcpServers": {
    "mcp-rss": {
      "command": "mcp-rss",
      "args": []
    }
  }
}

Restricting article fetching

By default fetch_article can fetch content from any URL. To restrict it to a set of allowed hosts, set the MCP_RSS_ALLOWED_DOMAINS environment variable to a comma-separated list of domains:

MCP_RSS_ALLOWED_DOMAINS="example.com,news.example.org" mcp-rss

When set, fetch_article refuses URLs whose hostname is not listed. An entry matches its own host and any of its subdomains (e.g. index.hr also allows www.index.hr). Domains are compared case-insensitively and whitespace around each entry is ignored. get_articles is never restricted — fetching feeds is always allowed.

Documentation

The documentation is available at https://haras-unicorn.github.io/mcp-rss/.

Dependencies

~28–39MB
~607K SLoC