FreshRSS MCP server
MCP server for FreshRSS, the self-hosted RSS feed aggregator
3 stars53 downloads/wk
Reviews
Write oneNobody has reviewed FreshRSS yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
FreshRSS tools (16, 3 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
delete_category_or_labelwrite actionDeletes a category (its feeds move to the default category, no articles are lost)
export_opmlExports all subscriptions as an OPML document — the portable backup format for
get_articlesFetches the full text of specific articles by id, as plain text.
get_unread_countsReturns how many unread articles are waiting, in total and per feed and
get_user_infoReturns the FreshRSS account the server is authenticated as. Useful as a
import_opmlSubscribes to every feed in an OPML document, creating the categories it names,
list_article_idsLists only the ids of matching articles — the cheap way to collect a set for
list_articlesLists articles from a feed, category, label or built-in stream, newest first.
list_categoriesLists the categories (folders that hold feeds) and the user labels (tags that
list_feedsLists every subscribed feed with its category and unread count. The numeric
mark_all_as_readMarks every article of a feed, category, label or built-in stream as read.
mark_articlesSets the read state, the star and user labels of specific articles.
rename_category_or_labelRenames a category (folder) or a user label. FreshRSS resolves the name against
subscribe_feedSubscribes to a feed. The URL may point at the feed itself or at a website —
unsubscribe_feedwrite actionDeletes a feed together with all of its stored articles, read state and stars.
update_feedwrite actionRenames a feed and/or moves it to another category. A category that does not
Public scan report
scanner v0.1.10 · 2026-10-15 · same rubric, same numbers if you re-run it
- Code scan37 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitystatic API keys via environment variables6/15
- Maintenancelast push 2 days ago15/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
How FreshRSS compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 83/100
- higher than 65% of 48,255 servers
- Tools
- 16
- the typical server has 7
- Tools that change things
- 19%
- typical: 0%. Fewer write tools means less an agent can break
- GitHub stars
- 3
- more than 80% of 28,688 servers
- Downloads a week
- 53
- more than 44% of 12,191 servers with a package
What its tools let an agent do: 9 read · 1 create · 4 change · 2 delete
Install FreshRSS in Claude Code, Cursor or VS Code
Runs npx -y @ni-c/freshrss-mcp on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add freshrss-mcp -- npx -y @ni-c/freshrss-mcp
What the publisher says
From the FreshRSS repository's README, as published. We do not edit it. Read it on GitHub
freshrss-mcp
<!-- badges: start -->
<!-- badges: end -->
A Model Context Protocol (MCP) server for FreshRSS, the self-hosted RSS and Atom feed aggregator.
Lets MCP clients like Claude Code, Claude Desktop or Codex work through your feeds: see what is unread, read the articles, mark them, and manage subscriptions and categories.
Sixteen tools is the ceiling, not the floor: FRESHRSSALLOWTOOLS=essential registers a curated seven instead, and a model picks the right tool far more reliably from seven than from sixteen — see choosing which tools load.
It speaks the Google Reader compatible API that FreshRSS exposes at /api/greader.php, and hides that API's quirks behind tool arguments an assistant can actually use: numeric feed ids, category and label names, ISO dates and decimal article ids instead of user/-/state/com.google/… stream identifiers and hexadecimal item tags.
<!-- is resolved against the colour scheme of the page showing it, so GitHub picks the variant that matches its own theme toggle. npm strips and when it sanitises the README and keeps the , which is why that fallback brings its own dark card instead of relying on a media query. -->
<!-- Recorded with vhs from docs/demo.tape against a throwaway FreshRSS 1.29.1. -->
What makes it different
Sixteen tools, no stream ids. The Google Reader API speaks in stream identifiers and hexadecimal item tags. These tools take numeric feed ids, category and label names, ISO dates and decimal article ids, and hand back plain text instead of raw HTML.
Built for untrusted feeds. Every article was written by a stranger on the internet, so responses are marked as data, feed URLs are stripped of credentials, and article text is capped per article and per response. The five irreversible tools ask a person first, through MCP elicitation.
Requirements
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
FreshRSS: common questions
- Is FreshRSS MCP server safe?
- Mostly: it is graded B (83/100). Read the FreshRSS safety report
- How do I install FreshRSS?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does FreshRSS need an API key?
- Yes. The registry entry asks for
FRESHRSS_API_PASSWORD. - Is FreshRSS maintained?
- The last commit was 21 days ago (2026-10-14). The latest release is v0.3.2.
- How does FreshRSS compare with other MCP servers?
- safety score 83/100 (higher than 65% of 48,255 servers); tools 16 (the typical server has 7); tools that change things 19% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.