A Model Context Protocol (MCP) server for interacting with Miniflux RSS reader. This server provides tools to manage feeds, entries, users, and categories through the MCP protocol using Miniflux Client.
- Feed Management: List, create, and refresh RSS/Atom feeds
- Entry Operations: Read entries, update status (read/unread/removed)
- Category Management: List and organize feed categories
- Flexible Authentication: Support for both API key and username/password authentication
- Log into your Miniflux instance
- Go to Settings → API Keys
- Create a new API key
- Copy the generated key to your configuration
docker build -t miniflux-mcp .
docker run --env-file .env miniflux-mcp
Variable | Description | Required |
---|---|---|
MINIFLUX_URL |
Your Miniflux instance URL | Yes |
MINIFLUX_API_KEY |
API key for authentication | Yes* |
MINIFLUX_USERNAME |
Username for basic auth | Yes* |
MINIFLUX_PASSWORD |
Password for basic auth | Yes* |
*Either use MINIFLUX_API_KEY
OR both MINIFLUX_USERNAME
and MINIFLUX_PASSWORD
- Log into your Miniflux instance
- Go to Settings → API Keys
- Create a new API key
- Copy the generated key to your configuration
# Setup .env file
# Run
docker run -i --rm --env-file .env jwonder/miniflux-mcp:latest
To use this MCP server with Claude Desktop, add the following to your Claude Desktop configuration:
{
"mcpServers": {
"miniflux": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"MINIFLUX_URL",
"-e",
"MINIFLUX_API_KEY",
"jwonder/miniflux-mcp:latest"
],
"env": {
"MINIFLUX_URL": "https://your-miniflux-instance.com",
"MINIFLUX_API_KEY": "your_api_key_here"
// Or use username/password instead of API key
// "MINIFLUX_USERNAME": "your_username_here",
// "MINIFLUX_PASSWORD": "your_password_here"
}
}
}
}
The Miniflux MCP Server provides 40+ tools covering all Miniflux API functionality, which can be found in the Miniflux API Reference.
get_feeds
- Get all RSS/Atom feedsget_feed
- Get a specific feed by IDcreate_feed
- Add a new RSS/Atom feeddelete_feed
- Delete a specific feedrefresh_feed
- Manually refresh a specific feedrefresh_all_feeds
- Refresh all feedsget_feed_entries
- Get entries from a specific feedget_feed_entry
- Get a specific entry from a feedget_feed_icon
- Get the icon of a specific feedmark_feed_as_read
- Mark all entries in a feed as read
get_entries
- Get entries with optional filteringget_entry
- Get a specific entry by IDupdate_entry_status
- Update entry status (read/unread/removed)toggle_bookmark
- Toggle bookmark status of an entrysave_entry
- Save an entryfetch_original_content
- Fetch original content of an entrymark_all_as_read
- Mark all entries as read for a userget_category_entry
- Get a specific entry from a category
get_categories
- Get all feed categoriescreate_category
- Create a new categoryupdate_category
- Update a category titledelete_category
- Delete a categoryget_category_feeds
- Get all feeds in a specific categoryget_category_entries
- Get all entries in a specific categorymark_category_as_read
- Mark all entries in a category as readrefresh_category
- Refresh all feeds in a category
get_users
- Get all usersget_me
- Get current user informationget_user_by_id
- Get a specific user by IDget_user_by_username
- Get a specific user by usernamecreate_user
- Create a new userdelete_user
- Delete a user
get_version
- Get Miniflux version informationhealthcheck
- Perform a health checkfetch_counters
- Fetch feed countersdiscover
- Discover feeds from a URLexport
- Export feeds as OPMLflush_history
- Flush the read history
get_api_keys
- Get all API keyscreate_api_key
- Create a new API keydelete_api_key
- Delete an API key
get_icon
- Get an icon by IDget_enclosure
- Get an enclosure by ID
This project is licensed under the MIT License - see the LICENSE file for details.
For issues and questions:
- Check the Miniflux documentation: https://miniflux.app/docs/
- Review the MCP specification: https://spec.modelcontextprotocol.io/
- Open an issue in this repository