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
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