{"id":43439045,"url":"https://github.com/georgijgrigoriev/rapidfeed","last_synced_at":"2026-02-11T18:05:04.398Z","repository":{"id":306108734,"uuid":"1018125944","full_name":"GeorgijGrigoriev/RapidFeed","owner":"GeorgijGrigoriev","description":"Small, single binary, fast rss reader for self-hosted systems.","archived":false,"fork":false,"pushed_at":"2026-02-02T20:17:13.000Z","size":272,"stargazers_count":4,"open_issues_count":7,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-03T10:14:52.906Z","etag":null,"topics":["golang","nojs","rss-reader","selfhosted","small"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GeorgijGrigoriev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-07-11T16:43:25.000Z","updated_at":"2026-02-02T20:17:16.000Z","dependencies_parsed_at":"2025-07-23T18:29:57.494Z","dependency_job_id":"3d099411-55cf-4e8f-96e1-4646bb674527","html_url":"https://github.com/GeorgijGrigoriev/RapidFeed","commit_stats":null,"previous_names":["georgijgrigoriev/rapidfeed"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/GeorgijGrigoriev/RapidFeed","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GeorgijGrigoriev%2FRapidFeed","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GeorgijGrigoriev%2FRapidFeed/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GeorgijGrigoriev%2FRapidFeed/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GeorgijGrigoriev%2FRapidFeed/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GeorgijGrigoriev","download_url":"https://codeload.github.com/GeorgijGrigoriev/RapidFeed/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GeorgijGrigoriev%2FRapidFeed/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29340410,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-11T16:14:43.024Z","status":"ssl_error","status_checked_at":"2026-02-11T16:14:15.258Z","response_time":97,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["golang","nojs","rss-reader","selfhosted","small"],"created_at":"2026-02-02T21:31:25.801Z","updated_at":"2026-02-11T18:05:04.394Z","avatar_url":"https://github.com/GeorgijGrigoriev.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RapidFeed: Lightweight RSS Reader Server \n\nRapidFeed is an open-source RSS reader server written in Go (Golang). Designed with legacy devices in mind, particularly older iOS devices like iPad 2, it offers a lightweight and efficient solution without the need for JavaScript.\n\n## Features\n\n- **Cross-Platform Compatibility**: Optimized for older devices such as iPad 2.\n- **No JavaScript Required**: A fully server-rendered application providing a smooth user experience on any device.\n- **High Performance**: Built with Go for fast and reliable performance.\n- **RSS Aggregation**: Collects and displays RSS feeds from various sources.\n- **Easy Installation**: Simple setup process for users.\n- **MCP Server**: Streamable HTTP MCP endpoint for LLM tools access to user feeds.\n\n## Getting Started\n\n### Prerequisites\n\n- Go 1.24 or later\n- Git installed on your machine\n- C compiler for CGO (for example, `gcc`/`build-essential` on Linux)\n\n### Installation\n\n1. **Clone the Repository**\n\n   ```bash\n   git clone https://github.com/GeorgijGrigoriev/RapidFeed.git\n   cd RapidFeed\n   ```\n\n2. **Build and Run**\n\n   ```bash\n   CGO_ENABLED=1 go build -o rapidfeed cmd/main.go\n   ./rapidfeed\n   ```\n    OR\n   ```bash\n    make build\n   ./rapidfeed-1.0.7-linux-amd64 (for example)\n   ```\n    OR\n    ```bash\n    make docker\n    docker run -p 8080:8080 --rm ghcr.io/georgijgrigoriev/rapidfeed:latest\n    ```\n### Configuration\n3. **Configuration**\n\n   By default app is configured via environment variables with these default values:\n   ```bash\n      LISTEN: \":8080\" #host:port where RapidFeed will listen for incoming connections\n      MCP_LISTEN: \":8090\" #host:port where RapidFeed MCP server will listen\n      SECRET_KEY: \"strong-secretkey\" #consider to change this before first run\n      REGISTRATION_ALLOWED: true #allow or disallow self user registration on RapidFeed server\n      DB_PATH: \"./feeds.db\" #sqlite database path\n   ```\n4. **Access the Application**\n\n    Open your web browser and navigate to `http://localhost:8080`. Adjust the port number if necessary based on your configuration. Default user is **admin**, default **password is shown once on first app start**, consider add new admin and block default or change password.\n\n## MCP Usage\n\nRapidFeed exposes a separate MCP server over Streamable HTTP. MCP tools are available at:\n\n- `http://localhost:8090/mcp` (use `MCP_LISTEN` to change the port)\n\n### Token management\n\nEach user can generate a personal MCP access token in **Settings**. You can rotate or disable the token there.\n\n### Tools\n\n- `feeds_today` — all posts from user feeds for today\n- `feeds_yesterday` — all posts from user feeds for yesterday\n- `feeds_latest` — latest N posts from user feeds (requires `limit`)\n\nTokens are required and can be provided in either of these ways:\n\n- `X-MCP-Token: \u003ctoken\u003e` header (recommended)\n- `Authorization: Bearer \u003ctoken\u003e` header\n- Tool argument `token` (optional if header is present)\n\n### Example MCP config\n\n```json\n{\n  \"rapidfeed\": {\n    \"url\": \"http://localhost:8090/mcp\",\n    \"headers\": {\n      \"X-MCP-Token\": \"YOUR_TOKEN\"\n    }\n  }\n}\n```\n\n## Contributing\n\nWe welcome contributions from the community! Please fork the repository, make your changes, and submit a pull request. For major changes, please open an issue first to discuss what you would like to change.\n\n\n## Acknowledgements\n\nWe appreciate the support and contributions from all contributors to this project.\n\nThank you for choosing RapidFeed as your RSS reader server solution!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeorgijgrigoriev%2Frapidfeed","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgeorgijgrigoriev%2Frapidfeed","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeorgijgrigoriev%2Frapidfeed/lists"}