{"_id":"@bingyupiaoyao/freshrss-mcp-server","_rev":"2-370e0dfbdc39fcd42f280413b5dd37b6","name":"@bingyupiaoyao/freshrss-mcp-server","dist-tags":{"latest":"1.0.1"},"versions":{"0.1.0":{"name":"@bingyupiaoyao/freshrss-mcp-server","version":"0.1.0","keywords":["freshrss","rss","mcp","model-context-protocol","llm","ai","assistant"],"license":"MIT","_id":"@bingyupiaoyao/freshrss-mcp-server@0.1.0","maintainers":[{"name":"bingyupiaoyao","email":"wulingpku520@gmail.com"}],"homepage":"https://github.com/rakeshgangwar/freshrss-mcp-server#readme","bugs":{"url":"https://github.com/rakeshgangwar/freshrss-mcp-server/issues"},"bin":{"freshrss-server":"build/index.js"},"dist":{"shasum":"c28b91464894ffff4167132aa6da1ea5da38acaa","tarball":"https://registry.npmjs.org/@bingyupiaoyao/freshrss-mcp-server/-/freshrss-mcp-server-0.1.0.tgz","fileCount":4,"integrity":"sha512-Gi06IHJC/4zYAyyHcU6r7TqXff1M8TVH6Kdm855ZlsWs08MosaR2IT6q4jcWZsOb27rk79P4e756pUqTaHXTMA==","signatures":[{"sig":"MEQCIDi/uHNMJBgK907uI78d0xMPvJVDiuoNGB5FDkkOqXlsAiALQzk/lYUTId36RnkLs46Om1Xvjl2tTeq1Hemclsm/Tg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17467},"type":"module","gitHead":"d6ceeac7d3feae8f3b7a9da91aac6ed3af70d6a1","scripts":{"build":"tsc && node -e \"require('fs').chmodSync('build/index.js', '755')\"","watch":"tsc --watch","prepare":"npm run build","inspector":"npx @modelcontextprotocol/inspector build/index.js"},"_npmUser":{"name":"bingyupiaoyao","email":"wulingpku520@gmail.com"},"repository":{"url":"git+https://github.com/rakeshgangwar/freshrss-mcp-server.git","type":"git"},"_npmVersion":"11.6.2","description":"A Model Context Protocol server for interacting with FreshRSS feeds via the Fever API","directories":{},"_nodeVersion":"25.2.0","dependencies":{"axios":"^1.8.4","@modelcontextprotocol/sdk":"0.6.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","@types/node":"^20.11.24"},"_npmOperationalInternal":{"tmp":"tmp/freshrss-mcp-server_0.1.0_1766700181800_0.49698012122049207","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@bingyupiaoyao/freshrss-mcp-server","version":"1.0.1","description":"MCP Server for FreshRSS - Read, manage, and organize your RSS feeds","type":"module","main":"dist/index.js","bin":{"freshrss-mcp-server":"bin/cli.js"},"scripts":{"build":"tsc","start":"node dist/index.js","dev":"tsx watch src/index.ts","test":"vitest run","test:watch":"vitest","test:unit":"vitest run tests/unit","test:integration":"vitest run tests/integration","test:run":"vitest run","lint":"eslint src/","lint:fix":"eslint src/ --fix","format":"prettier --write \"src/**/*.ts\"","format:check":"prettier --check \"src/**/*.ts\"","typecheck":"tsc --noEmit","prepare":"husky"},"dependencies":{"@modelcontextprotocol/sdk":"^1.0.0","dotenv":"^17.2.3","zod":"^3.24.1"},"devDependencies":{"@eslint/js":"^9.17.0","@types/node":"^22.10.2","eslint":"^9.17.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.1","husky":"^9.1.7","lint-staged":"^15.2.11","prettier":"^3.4.2","tsx":"^4.19.2","typescript":"^5.7.2","typescript-eslint":"^8.18.1","vitest":"^2.1.8"},"lint-staged":{"*.ts":["eslint --fix","prettier --write"]},"keywords":["freshrss","mcp","rss","model-context-protocol","ai","llm"],"repository":{"type":"git","url":"git+https://github.com/alysson-souza/freshrss-mcp.git"},"author":"","license":"MIT","engines":{"node":">=18.0.0"},"gitHead":"cd1da5ea6a74043d6e185b1b6d3f58e0f51fc7ba","types":"./dist/index.d.ts","_id":"@bingyupiaoyao/freshrss-mcp-server@1.0.1","bugs":{"url":"https://github.com/alysson-souza/freshrss-mcp/issues"},"homepage":"https://github.com/alysson-souza/freshrss-mcp#readme","_nodeVersion":"25.2.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-6rgiacR9tvmihtF5KGuwtp8L1iEpgSMecbk6q2UhkRPB4qn3JiUOPI691G8Y5I1xheQ3IowR/Vo5k4Y4YzOTqA==","shasum":"619e8efccfc9bdb5bd53347e2a93d25eb09065d8","tarball":"https://registry.npmjs.org/@bingyupiaoyao/freshrss-mcp-server/-/freshrss-mcp-server-1.0.1.tgz","fileCount":136,"unpackedSize":147650,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIBvr0lvWT30FQv2OnvGhg0BUXjE8YcDCHslF8Zq9UOOtAiBs6EXFpN0UbkFWYXLAmv1uaEojltnTk+AfkgygY6LC3A=="}]},"_npmUser":{"name":"bingyupiaoyao","email":"wulingpku520@gmail.com"},"directories":{},"maintainers":[{"name":"bingyupiaoyao","email":"wulingpku520@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/freshrss-mcp-server_1.0.1_1766732872003_0.6088065562274123"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-25T22:03:01.679Z","modified":"2025-12-26T07:07:52.675Z","0.1.0":"2025-12-25T22:03:01.955Z","1.0.1":"2025-12-26T07:07:52.155Z"},"bugs":{"url":"https://github.com/alysson-souza/freshrss-mcp/issues"},"license":"MIT","homepage":"https://github.com/alysson-souza/freshrss-mcp#readme","keywords":["freshrss","mcp","rss","model-context-protocol","ai","llm"],"repository":{"type":"git","url":"git+https://github.com/alysson-souza/freshrss-mcp.git"},"description":"MCP Server for FreshRSS - Read, manage, and organize your RSS feeds","maintainers":[{"name":"bingyupiaoyao","email":"wulingpku520@gmail.com"}],"readme":"# FreshRSS MCP Server\r\n\r\nModel Context Protocol (MCP) server for interacting with a FreshRSS instance.\r\n\r\n## Features\r\n\r\n- Articles: list, filter, read/unread, star/unstar, mark‑all‑read\r\n- Feeds: list, subscribe, unsubscribe, rename, move between folders\r\n- Folders & labels: list, create via tagging, rename, delete\r\n- OPML: export/import subscriptions\r\n- Quick‑add: add a site URL and let FreshRSS discover the feed\r\n- Fever helpers: favicons, unread/starred ID lists\r\n\r\n## Requirements\r\n\r\n- Node.js 18+\r\n- FreshRSS with Google Reader API enabled\r\n- FreshRSS API password (Settings → Profile → API Management)\r\n\r\n## Installation\r\n\r\n```bash\r\nnpm install -g @equaldepth/freshrss-mcp-server\r\n```\r\n\r\n## Usage\r\n\r\n### Claude Desktop\r\n\r\n```json\r\n{\r\n  \"mcpServers\": {\r\n    \"freshrss\": {\r\n      \"command\": \"npx\",\r\n      \"args\": [\"@equaldepth/freshrss-mcp-server\"],\r\n      \"env\": {\r\n        \"FRESHRSS_URL\": \"https://your-freshrss-instance.com\",\r\n        \"FRESHRSS_USERNAME\": \"your-username\",\r\n        \"FRESHRSS_API_PASSWORD\": \"your-api-password\"\r\n      }\r\n    }\r\n  }\r\n}\r\n```\r\n\r\n### GitHub Copilot\r\n\r\n```json\r\n{\r\n  \"servers\": {\r\n    \"freshrss\": {\r\n      \"command\": \"npx\",\r\n      \"args\": [\"@equaldepth/freshrss-mcp-server\"],\r\n      \"env\": {\r\n        \"FRESHRSS_URL\": \"https://your-freshrss-instance.com\",\r\n        \"FRESHRSS_USERNAME\": \"your-username\",\r\n        \"FRESHRSS_API_PASSWORD\": \"your-api-password\"\r\n      }\r\n    },\r\n  }\r\n}\r\n```\r\n\r\n## Tools\r\n\r\nArticles:\r\n- `list_articles`\r\n- `mark_as_read`\r\n- `mark_as_unread`\r\n- `star_articles`\r\n- `unstar_articles`\r\n- `mark_all_as_read`\r\n\r\nFeeds:\r\n- `list_feeds`\r\n- `subscribe`\r\n- `unsubscribe`\r\n- `edit_feed`\r\n- `export_opml`\r\n- `import_opml`\r\n- `quickadd_feed`\r\n\r\nFolders & labels:\r\n- `list_folders`\r\n- `list_labels`\r\n- `add_labels`\r\n- `remove_labels`\r\n- `rename_folder`\r\n- `rename_label`\r\n- `delete_folder`\r\n- `delete_label`\r\n\r\nStats:\r\n- `get_stats`\r\n- `get_user_info`\r\n\r\nFavicons & sync (Fever API):\r\n- `list_favicons`\r\n- `get_feed_favicon`\r\n- `list_unread_article_ids`\r\n- `list_starred_article_ids`\r\n\r\n## Examples\r\n\r\n```json\r\n{ \"name\": \"list_articles\", \"arguments\": { \"filter\": \"unread\", \"order\": \"newest\", \"count\": 10 } }\r\n{ \"name\": \"list_articles\", \"arguments\": { \"state\": \"starred\", \"count\": 5 } }\r\n{ \"name\": \"subscribe\", \"arguments\": { \"url\": \"https://example.com/feed.xml\", \"title\": \"Example\", \"category\": \"Tech\" } }\r\n{ \"name\": \"edit_feed\", \"arguments\": { \"feedId\": \"1\", \"category\": \"Tech\" } }\r\n{ \"name\": \"export_opml\", \"arguments\": {} }\r\n```\r\n\r\nTool inputs are strictly validated; unknown fields error.\r\n\r\n## Development\r\n\r\n```bash\r\nnpm run dev\r\nnpm run lint\r\nnpm run typecheck\r\nnpm run format\r\nnpm run build\r\n```\r\n\r\n## License\r\n\r\nMIT\r\n","readmeFilename":"README.md"}