RapidFeed 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.
- Cross-Platform Compatibility: Optimized for older devices such as iPad 2.
- No JavaScript Required: A fully server-rendered application providing a smooth user experience on any device.
- High Performance: Built with Go for fast and reliable performance.
- RSS Aggregation: Collects and displays RSS feeds from various sources.
- Easy Installation: Simple setup process for users.
- MCP Server: Streamable HTTP MCP endpoint for LLM tools access to user feeds.
- Go 1.24 or later
- Git installed on your machine
-
Clone the Repository
git clone https://github.com/GeorgijGrigoriev/RapidFeed.git cd RapidFeed -
Build and Run
CGO_ENABLED=0 go build -o rapidfeed cmd/rapidfeed/main.go ./rapidfeed
OR
make build ./rapidfeed-1.0.7-linux-amd64 (for example)
OR
make docker docker run -p 8080:8080 --rm ghcr.io/georgijgrigoriev/rapidfeed:latest
-
Configuration
By default app is configured via environment variables with these default values:
LISTEN: ":8080" #host:port where RapidFeed will listen for incoming connections MCP_LISTEN: ":8090" #host:port where RapidFeed MCP server will listen SECRET_KEY: "strong-secretkey" #consider to change this before first run REGISTRATION_ALLOWED: true #allow or disallow self user registration on RapidFeed server DB_PATH: "./feeds.db" #sqlite database path
-
Database Migrations
Migrations run automatically on startup. To manage them manually:
make migrate-up # apply all pending migrations make migrate-down # roll back 1 step (asks for confirmation) go run cmd/migrator/main.go -direction down -steps 2 -force # skip prompt
-
Access the Application
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.
RapidFeed exposes a separate MCP server over Streamable HTTP. MCP tools are available at:
http://localhost:8090/mcp(useMCP_LISTENto change the port)
Each user can generate a personal MCP access token in Settings. You can rotate or disable the token there.
feeds_today— all posts from user feeds for todayfeeds_yesterday— all posts from user feeds for yesterdayfeeds_latest— latest N posts from user feeds (requireslimit)
Tokens are required and can be provided in either of these ways:
X-MCP-Token: <token>header (recommended)Authorization: Bearer <token>header- Tool argument
token(optional if header is present)
{
"rapidfeed": {
"url": "http://localhost:8090/mcp",
"headers": {
"X-MCP-Token": "YOUR_TOKEN"
}
}
}We 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.
We appreciate the support and contributions from all contributors to this project.
Thank you for choosing RapidFeed as your RSS reader server solution!