accueil / serveurs / Recherche & Web / io.github.ni-c/freshrss-mcp
io.github.ni-c/freshrss-mcp
serveur MCP (Model Context Protocol)
Aucun comportement malveillant détecté au test comportemental.
Est-ce que io.github.ni-c/freshrss-mcp est sûr ?
Au dernier audit MCP Hub, le serveur MCP « io.github.ni-c/freshrss-mcp » est classé « Vérifié ». Aucun comportement malveillant détecté au test comportemental. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Versions auditées & empreintes
Vérifiez la version que vous utilisez : son empreinte doit correspondre à celle listée ici — sinon vous n'utilisez pas la version auditée.
Vous utilisez ce serveur ? Suivez-le (créez un compte) pour être alerté dès qu'une nouvelle version paraît ou que le verdict change.
Les 16 outils
- get_user_info≈ 70 tokens
Returns the FreshRSS account the server is authenticated as. Useful as a connection and credential check before anything else.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get_user_info", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_feeds≈ 86 tokens
Lists every subscribed feed with its category and unread count. The numeric feedId is what all other tools take as feed_id. Start here to find out what is subscribed before listing articles.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_feeds", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_unread_counts≈ 76 tokens
Returns how many unread articles are waiting, in total and per feed and category, sorted by count. Only entries with unread articles are listed.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get_unread_counts", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_articles≈ 548 tokens
Lists articles from a feed, category, label or built-in stream, newest first. Returns short plain-text excerpts by default; set include_content=true for the article text, or fetch single articles with get_articles. FreshRSS has no full-text search over its API, so there is no way to query by keyword — narrow the result with feed_id/category and since/until instead and filter the returned articles yourself.
Paramètres, retour & exemple (12)
Paramètreslabel· string · optionnel
User label name exactly as returned by list_categorieslimit· integer · optionnel
Maximum number of articles, default 20order· string · optionnel · newest | oldest
Sort order by publication date, default newestsince· string · optionnel
Only articles published after this ISO-8601 dateuntil· string · optionnel
Only articles published before this ISO-8601 datefilter· string · optionnel · unread | read | starred | all
Read state to return, default unreadstream· string · optionnel · reading-list | starred | main | important
Built-in stream: reading-list = everything (default), starred = favourites, main = feeds shown on the main stream, important = feeds marked importantfeed_id· integer · optionnel
Numeric feedId from list_feedscategory· string · optionnel
Category (folder) name exactly as returned by list_categoriescontinuation· string · optionnel
Continuation value from a previous call, to fetch the next pageinclude_content· boolean · optionnel
Return the article text instead of a short excerptmax_content_chars· integer · optionnel
Characters of article text per article, default 2000
Exemple d'appel{"name": "list_articles", "arguments": {"label": "texte", "limit": 1, "order": "newest", "since": "texte", "until": "texte", "filter": "unread"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_articles≈ 147 tokens
Fetches the full text of specific articles by id, as plain text. At most 20 ids per call.
Paramètres, retour & exemple (2)
Paramètresarticle_ids· array · requis
Article ids as returned by list_articlesmax_content_chars· integer · optionnel
Characters of article text per article, default 2000
Exemple d'appel{"name": "get_articles", "arguments": {"article_ids": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_article_ids≈ 417 tokens
Lists only the ids of matching articles — the cheap way to collect a set for mark_articles. Same selectors and filters as list_articles.
Paramètres, retour & exemple (10)
Paramètreslabel· string · optionnel
User label name exactly as returned by list_categorieslimit· integer · optionnel
Maximum number of articles, default 20order· string · optionnel · newest | oldest
Sort order by publication date, default newestsince· string · optionnel
Only articles published after this ISO-8601 dateuntil· string · optionnel
Only articles published before this ISO-8601 datefilter· string · optionnel · unread | read | starred | all
Read state to return, default unreadstream· string · optionnel · reading-list | starred | main | important
Built-in stream: reading-list = everything (default), starred = favourites, main = feeds shown on the main stream, important = feeds marked importantfeed_id· integer · optionnel
Numeric feedId from list_feedscategory· string · optionnel
Category (folder) name exactly as returned by list_categoriescontinuation· string · optionnel
Continuation value from a previous call, to fetch the next page
Exemple d'appel{"name": "list_article_ids", "arguments": {"label": "texte", "limit": 1, "order": "newest", "since": "texte", "until": "texte", "filter": "unread"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_categories≈ 87 tokens
Lists the categories (folders that hold feeds) and the user labels (tags that are attached to individual articles), each with its unread count. Both are addressed by name in the other tools.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_categories", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - export_opml≈ 79 tokens
Exports all subscriptions as an OPML document — the portable backup format for feed readers. For a readable overview of the subscriptions use list_feeds instead.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "export_opml", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - subscribe_feed≈ 178 tokens
Subscribes to a feed. The URL may point at the feed itself or at a website — FreshRSS discovers the feed and then downloads it, so this call can take a while. A category that does not exist yet is created.
Paramètres, retour & exemple (3)
Paramètresurl· string · requis
Feed URL or website URL (http/https)title· string · optionnel
Title to use instead of the feed's own titlecategory· string · optionnel
Category to file the feed under; created if unknown
Exemple d'appel{"name": "subscribe_feed", "arguments": {"url": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - update_feed≈ 156 tokens
Renames a feed and/or moves it to another category. A category that does not exist yet is created. Fields that are not given stay unchanged.
Paramètres, retour & exemple (3)
Paramètrestitle· string · optionnel
New titlefeed_id· integer · requis
Numeric feedId from list_feedscategory· string · optionnel
Category to move the feed to
Exemple d'appel{"name": "update_feed", "arguments": {"feed_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - unsubscribe_feed≈ 171 tokens
Deletes a feed together with all of its stored articles, read state and stars. Two-step: the first call returns a confirmation token, the second call with that token performs the deletion. This cannot be undone — re-subscribing starts from whatever the feed currently offers.
Paramètres, retour & exemple (2)
Paramètresfeed_id· integer · requis
Numeric feedId from list_feedsconfirm_token· string · optionnel
Token from the first call of this tool
Exemple d'appel{"name": "unsubscribe_feed", "arguments": {"feed_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - mark_articles≈ 407 tokens
Sets the read state, the star and user labels of specific articles. Starring and labelling are reversible by calling this tool again with the opposite value. Marking as read is not, so read=true asks a person first; where the client cannot show a dialog, call once to receive a token and again with it. At most 100 articles per call; every given change is applied to all of them. FreshRSS answers `OK` whether or not it recognised the ids, so the result of this tool cannot tell you the change landed. Use the ids exactly as list_article_ids returned them — not the long `tag:google.com,...` form — and confirm with get_unread_counts if it matters: the count is the only thing that moves.
Paramètres, retour & exemple (6)
Paramètresread· boolean · optionnel
true marks as read, false marks as unreadstarred· boolean · optionnel
true adds the star (favourite), false removes itadd_labels· array · optionnel
User labels to attach; unknown labels are createdarticle_ids· array · requis
Article ids as returned by list_articlesconfirm_token· string · optionnel
Token from the first call of this toolremove_labels· array · optionnel
User labels to detach
Exemple d'appel{"name": "mark_articles", "arguments": {"article_ids": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - mark_all_as_read≈ 320 tokens
Marks every article of a feed, category, label or built-in stream as read. Two-step: the first call returns a confirmation token, the second call with that token performs the change. Which articles were unread before cannot be recovered afterwards.
Paramètres, retour & exemple (6)
Paramètreslabel· string · optionnel
User label name exactly as returned by list_categoriesstream· string · optionnel · reading-list | starred | main | important
Built-in stream: reading-list = everything (default), starred = favourites, main = feeds shown on the main stream, important = feeds marked importantfeed_id· integer · optionnel
Numeric feedId from list_feedscategory· string · optionnel
Category (folder) name exactly as returned by list_categoriesolder_than· string · optionnel
Only articles published before this ISO-8601 date; default: all of themconfirm_token· string · optionnel
Token from the first call of this tool
Exemple d'appel{"name": "mark_all_as_read", "arguments": {"label": "texte", "stream": "reading-list", "feed_id": 1, "category": "texte", "older_than": "texte", "confirm_token": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - rename_category_or_label≈ 144 tokens
Renames a category (folder) or a user label. FreshRSS resolves the name against its categories first and falls back to labels, so one tool covers both. Feeds and articles keep their assignment.
Paramètres, retour & exemple (2)
Paramètresname· string · requis
Current name, exactly as in list_categoriesnew_name· string · requis
New name
Exemple d'appel{"name": "rename_category_or_label", "arguments": {"name": "texte", "new_name": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - delete_category_or_label≈ 182 tokens
Deletes a category (its feeds move to the default category, no articles are lost) or a user label (it is detached from every article). FreshRSS matches categories first, so a category and a label of the same name cannot be told apart here. Two-step: the first call returns a confirmation token, the second call with that token performs the deletion.
Paramètres, retour & exemple (2)
Paramètresname· string · requis
Name, exactly as in list_categoriesconfirm_token· string · optionnel
Token from the first call of this tool
Exemple d'appel{"name": "delete_category_or_label", "arguments": {"name": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - import_opml≈ 169 tokens
Subscribes to every feed in an OPML document, creating the categories it names, and then refreshes all feeds — which can take minutes on a large file. There is no bulk undo; every feed would have to be removed individually. Two-step: the first call returns a confirmation token, the second call with that token performs the import.
Paramètres, retour & exemple (2)
Paramètresopml· string · requis
OPML documentconfirm_token· string · optionnel
Token from the first call of this tool
Exemple d'appel{"name": "import_opml", "arguments": {"opml": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
Badge pour votre README
Ce serveur a passé le pentest comportemental. Le badge porte son nom et renvoie à cette fiche — la preuve, c'est la fiche (verdict live qu'on contrôle), pas l'image.
[](https://dokore.fr/serveur/io.github.ni-c--freshrss-mcp)
<a href="https://dokore.fr/serveur/io.github.ni-c--freshrss-mcp"><img src="https://dokore.fr/badge/io.github.ni-c--freshrss-mcp.svg" alt="Vérifié par MCP Hub" height="20"></a>
Réévalué en continu : si le comportement change, le verdict tombe et le badge disparaît. Un badge qui ne pointe pas vers une fiche dokore.fr ne prouve rien. Comment ça marche
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».
Source
@ni-c/freshrss-mcp@0.3.2