{"name":"io.github.ni-c/freshrss-mcp","slug":"ni-c-freshrss-mcp","title":"FreshRSS","description":"MCP server for FreshRSS, the self-hosted RSS feed aggregator","url":"https://mcp.market/server/ni-c-freshrss-mcp","rating":null,"grade":"B","score":83,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":27,"stars":0,"forks":1,"downloads_week":65,"last_push_at":"2026-09-16T08:41:58.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"mixed","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/ni-c/freshrss-mcp","website":"https://freshrss-mcp.ni-c.de","version":"0.3.2","remotes":[],"packages":[{"registryType":"npm","identifier":"@ni-c/freshrss-mcp","version":"0.3.2","transport":{"type":"stdio"},"environmentVariables":[{"description":"Root URL of the FreshRSS instance, e.g. https://rss.example.com","isRequired":true,"format":"string","name":"FRESHRSS_URL"},{"description":"FreshRSS user name","isRequired":true,"format":"string","name":"FRESHRSS_USER"},{"description":"API password from Settings -> Profile -> API management, not the web login password","isRequired":true,"format":"string","isSecret":true,"name":"FRESHRSS_API_PASSWORD"},{"description":"Set to true to register only the read tools","format":"boolean","name":"FRESHRSS_READ_ONLY"},{"description":"Set to true to accept a self-signed certificate for this connection only","format":"boolean","name":"FRESHRSS_INSECURE_TLS"},{"description":"Comma-separated tool names or list_* prefixes to register; 'essential' selects a curated preset (default: all tools)","format":"string","name":"FRESHRSS_ALLOW_TOOLS"},{"description":"Comma-separated tool names or list_* prefixes to remove from whatever FRESHRSS_ALLOW_TOOLS left","format":"string","name":"FRESHRSS_DENY_TOOLS"}]},{"registryType":"oci","identifier":"ghcr.io/ni-c/freshrss-mcp:0.3.2","transport":{"type":"stdio"},"environmentVariables":[{"description":"Root URL of the FreshRSS instance, e.g. https://rss.example.com","isRequired":true,"format":"string","name":"FRESHRSS_URL"},{"description":"FreshRSS user name","isRequired":true,"format":"string","name":"FRESHRSS_USER"},{"description":"API password from Settings -> Profile -> API management, not the web login password","isRequired":true,"format":"string","isSecret":true,"name":"FRESHRSS_API_PASSWORD"},{"description":"Set to true to register only the read tools","format":"boolean","name":"FRESHRSS_READ_ONLY"},{"description":"Set to true to accept a self-signed certificate for this connection only","format":"boolean","name":"FRESHRSS_INSECURE_TLS"},{"description":"Comma-separated tool names or list_* prefixes to register; 'essential' selects a curated preset (default: all tools)","format":"string","name":"FRESHRSS_ALLOW_TOOLS"},{"description":"Comma-separated tool names or list_* prefixes to remove from whatever FRESHRSS_ALLOW_TOOLS left","format":"string","name":"FRESHRSS_DENY_TOOLS"}]}],"tools":[{"name":"delete_category_or_label","description":"Deletes a category (its feeds move to the default category, no articles are lost)","write_action":true,"price_micros":0,"input_schema":null},{"name":"export_opml","description":"Exports all subscriptions as an OPML document — the portable backup format for","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_articles","description":"Fetches the full text of specific articles by id, as plain text.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_unread_counts","description":"Returns how many unread articles are waiting, in total and per feed and","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_user_info","description":"Returns the FreshRSS account the server is authenticated as. Useful as a","write_action":false,"price_micros":0,"input_schema":null},{"name":"import_opml","description":"Subscribes to every feed in an OPML document, creating the categories it names,","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_article_ids","description":"Lists only the ids of matching articles — the cheap way to collect a set for","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_articles","description":"Lists articles from a feed, category, label or built-in stream, newest first.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_categories","description":"Lists the categories (folders that hold feeds) and the user labels (tags that","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_feeds","description":"Lists every subscribed feed with its category and unread count. The numeric","write_action":false,"price_micros":0,"input_schema":null},{"name":"mark_all_as_read","description":"Marks every article of a feed, category, label or built-in stream as read.","write_action":false,"price_micros":0,"input_schema":null},{"name":"mark_articles","description":"Sets the read state, the star and user labels of specific articles.","write_action":false,"price_micros":0,"input_schema":null},{"name":"rename_category_or_label","description":"Renames a category (folder) or a user label. FreshRSS resolves the name against","write_action":false,"price_micros":0,"input_schema":null},{"name":"subscribe_feed","description":"Subscribes to a feed. The URL may point at the feed itself or at a website —","write_action":false,"price_micros":0,"input_schema":null},{"name":"unsubscribe_feed","description":"Deletes a feed together with all of its stored articles, read state and stars.","write_action":true,"price_micros":0,"input_schema":null},{"name":"update_feed","description":"Renames a feed and/or moves it to another category. A category that does not","write_action":true,"price_micros":0,"input_schema":null}],"scan":{"score":83,"grade":"B","scanned_at":"2026-09-20T00:27:28.623Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-20T00:27:28.586Z","components":{"code":{"score":25,"max":25,"notes":["37 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":15,"max":15,"notes":["last push 4 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"@ni-c/freshrss-mcp","version":"0.3.2","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":6,"publishedAt":"2026-09-07T12:56:11.785Z","repositoryUrl":"git+https://github.com/ni-c/freshrss-mcp.git","weeklyDownloads":65}],"repo":{"found":true,"owner":"ni-c","repo":"freshrss-mcp","archived":false,"pushedAt":"2026-09-16T08:41:58Z","stars":0,"forks":1,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/283341?v=4","ownerCreatedAt":"2010-05-21T13:00:22Z","license":"MIT"},"icon":{"url":"https://freshrss-mcp.ni-c.de/favicon.svg","source":"site"},"presence":{"stars":0,"forks":1,"downloadsWeek":65,"license":"MIT","lastPushAt":"2026-09-16T08:41:58.000Z","score":27}}}},"grade_history":[],"reviews":[]}