Miniflux
FreeNot checkedA Model Context Protocol (MCP) server for interacting with Miniflux RSS reader.
About
A Model Context Protocol (MCP) server for interacting with Miniflux RSS reader.
README
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.
Features
- 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
Setup
Getting a Miniflux API Key
- Log into your Miniflux instance
- Go to Settings → API Keys
- Create a new API key
- Copy the generated key to your configuration
Miniflux Environment Variables
| 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
Local stdio Server
stdio is the default transport and is intended for an MCP client that starts the server locally.
Using Docker
docker build -t miniflux-mcp .
docker run -i --rm --env-file .env miniflux-mcp
Or use the published image:
docker run -i --rm --env-file .env jwonder/miniflux-mcp:latest
Claude Code (.mcp.json)
Add the following .mcp.json file to your project root:
{
"mcpServers": {
"miniflux": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"MINIFLUX_URL",
"-e",
"MINIFLUX_API_KEY",
"jwonder/miniflux-mcp:latest"
],
"env": {
"MINIFLUX_URL": "${MINIFLUX_URL}",
"MINIFLUX_API_KEY": "${MINIFLUX_API_KEY}"
}
}
}
}
Remote Streamable HTTP Server
The remote server exposes a Streamable HTTP MCP endpoint protected by a static Bearer token.
| Variable | Description | Default |
|---|---|---|
MCP_TRANSPORT |
Set to streamable-http |
stdio |
MCP_HTTP_ADDR |
HTTP listen address | :8080 |
MCP_HTTP_PATH |
MCP endpoint path | /mcp |
MCP_AUTH_TOKEN |
Bearer token protecting the MCP endpoint; required in HTTP mode | None |
Set a strong token and start the container with the Streamable HTTP transport:
export MCP_AUTH_TOKEN='replace-with-a-strong-secret'
docker run --rm \
-p 8080:8080 \
--env-file .env \
-e MCP_TRANSPORT=streamable-http \
-e MCP_AUTH_TOKEN \
jwonder/miniflux-mcp:latest
Configure an MCP client to connect to http://your-server:8080/mcp and send:
Authorization: Bearer replace-with-a-strong-secret
Claude Code (.mcp.json)
Add the remote server to your project-level .mcp.json:
{
"mcpServers": {
"miniflux": {
"type": "http",
"url": "https://mcp.example.com/mcp",
"headers": {
"Authorization": "Bearer ${MCP_AUTH_TOKEN}"
}
}
}
}
The unauthenticated health endpoint is available at /healthz. For deployment outside a trusted private network, put the server behind an HTTPS reverse proxy so the Bearer token is encrypted in transit. One server process uses one configured Miniflux identity, so every connected MCP client has that identity's permissions.
Available Tools
The Miniflux MCP Server provides 40+ tools covering all Miniflux API functionality, which can be found in the Miniflux API Reference.
Feed Management (11 tools)
get_feeds- Get all RSS/Atom feedsget_feed- Get a specific feed by IDcreate_feed- Add a new RSS/Atom feedupdate_feed- Update an existing 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
Entry Management (8 tools)
get_entries- Get entries with optional filteringget_entry- Get a specific entry by IDupdate_entry_status- Update entry status (read/unread/removed)toggle_starred- Toggle starred 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
Category Management (8 tools)
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
User Management (6 tools)
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
System & Utility (7 tools)
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
API Key Management (3 tools)
get_api_keys- Get all API keyscreate_api_key- Create a new API keydelete_api_key- Delete an API key
Icons & Media (2 tools)
get_icon- Get an icon by IDget_enclosure- Get an enclosure by ID
License
This project is licensed under the MIT License - see the LICENSE file for details.
Support
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
Installing Miniflux
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/tssujt/miniflux-mcpFAQ
Is Miniflux MCP free?
Yes, Miniflux MCP is free — one-click install via Unyly at no cost.
Does Miniflux need an API key?
No, Miniflux runs without API keys or environment variables.
Is Miniflux hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Miniflux in Claude Desktop, Claude Code or Cursor?
Open Miniflux on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare Miniflux with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
