FreshRSS MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| freshrss_authenticateA | Authenticate with FreshRSS instance and save credentials to environment for subsequent calls. Uses provided parameters or falls back to environment variables:
|
| freshrss_get_tokenA | Get edit token for write operations. Usually called automatically when needed. |
| freshrss_list_foldersB | List all folders/categories/tags in FreshRSS. |
| freshrss_list_subscriptionsA | List all subscribed feeds with their folders. |
| freshrss_get_unread_countA | Get unread counts by feed and folder. |
| freshrss_get_articlesC | Fetch articles with various filters. |
| freshrss_mark_readC | Mark articles as read. |
| freshrss_mark_unreadC | Mark articles as unread. |
| freshrss_mark_stream_readA | Mark all articles in a stream/folder as read in one call. MUCH more efficient than marking individual articles. Use 'all' to mark everything, or a folder name like 'tech', 'ML', 'security'. Common pattern: mark_stream_read(all) then mark_unread([5 keeper IDs]). |
| freshrss_star_articleC | Star articles. |
| freshrss_unstar_articleC | Unstar articles. |
| freshrss_add_labelC | Add label to articles. |
| freshrss_subscribeB | Subscribe to a new feed. |
| freshrss_unsubscribeB | Unsubscribe from a feed. |
| freshrss_get_headlinesA | Get article headlines only — ultra token-efficient. Returns only: id, title, feed_title, folder, published, url. ~10x fewer tokens than get_articles. Use this for scanning/triage, then call get_article_detail for articles you want to read in full. |
| freshrss_get_article_detailA | Get full content for specific articles by ID. Use after scanning headlines to deep-dive into interesting articles. Max 10 articles per call to control token usage. |
| freshrss_get_diverse_digestA | Get a category-balanced digest of recent unread articles. Fetches N articles from EACH category to ensure topic diversity. Returns headlines only (token-efficient). Use get_article_detail to deep-dive into selected articles. This is the primary tool for daily curation — ensures you see security, business, world news, etc., not just AI/ML. |
| freshrss_get_digest_compactA | Get an ultra-compact category-balanced digest as plain text. Returns ~10 tokens per article vs ~100 for JSON format. Each line: [short_id] Title (Feed) Grouped by category with counts. Designed for agent curation workflows where token efficiency matters. After selecting articles, use mark_stream_read + mark_unread to keep only your picks. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 18 tools
Most tools have clearly distinct purposes, especially the write operations (mark_read vs mark_stream_read, star vs unstar). However, the five article retrieval tools (get_articles, get_headlines, get_article_detail, get_diverse_digest, get_digest_compact) overlap considerably; their descriptions distinguish use cases well, but an agent could still confuse get_diverse_digest with get_digest_compact or get_articles with get_headlines.
All tools follow a consistent freshrss_verb_noun pattern, e.g., list_folders, subscribe, mark_read, get_article_detail. Even compound nouns like stream_read and digest_compact are consistently formatted with underscores. The naming is predictable and uniform across the entire set.
18 tools is slightly above the ideal range but justified for a full-featured RSS reader covering authentication, subscription management, article retrieval, read/unread/star/label operations, and summaries. A few tools like get_token are auxiliary and could be implicit, but the count is not excessive for the scope.
The surface covers core FreshRSS workflows well: authentication, subscribe/unsubscribe, listing folders/subscriptions, fetching articles with various token-efficiency levels, and marking read/unread/starred/labeled. Minor gaps include no folder creation/deletion/renaming and no subscription update (e.g., moving feeds between folders), but these are not critical for typical agent curation workflows.