Loading...
Loading...
Unified command-line interface for managing feeds (Miniflux), links (Linkding), and pages (Wallabag). Use when the user wants to: save a URL as a bookmark, add or browse RSS/Atom feeds, read or search unread feed entries, save an article to Wallabag, manage tags on links or pages, or authenticate with Miniflux/Linkding/Wallabag.
npx skill4agent add goofansu/mlwcli mlwcli# Authentication (interactive TUI)
mlwcli auth login # Login to linkding, miniflux, or wallabag
mlwcli auth logout # Logout from a service
# Linkding (Links)
mlwcli link add <url> # Add link
mlwcli link list # List links
# Miniflux (Feeds)
mlwcli feed add <url> # Add feed
mlwcli feed list # List feeds
mlwcli entry list # List feed entries
mlwcli entry save <id> # Save entry to third-party service
# Wallabag (Pages)
mlwcli page add <url> # Add page
mlwcli page list # List pages--helpauth loginauth logoutmlwcli auth login~/.config/mlwcli/auth.tomllist{total, items}link listentry list--limit--offsetpage list--page--per-pagefeed listtotal--jq=expression--json=field1,field2link list--search--limit--offsetentry list--search--status--starred--feed-id--limit--offsetpage list--archive--starred--tags--domain--page--per-page--notes 'Title: "Example"'--tags "tag1 tag2"mlwcli auth login # interactive TUI: select service, enter endpoint + credentials
mlwcli auth logout # interactive TUI: only shows signed-in servicesmlwcli entry list --status=unread --jq='{total: .total, returned: (.items | length)}'total > returned--limitmlwcli entry list --status=unread --limit=100
# or iterate with --offset=0, --offset=10, etc.mlwcli entry list --status=unread --jq='.items[] | { id, url, title, published_at, status, feed_id: .feed.id, feed_title: .feed.title }'# Find feed ID
mlwcli feed list --jq='.items[] | { id, title, site_url }'
# Fetch entries from that feed
mlwcli entry list --feed-id=42 --limit=20 --jq='.items[] | { id, url, title, published_at }'mlwcli entry list --starred --status=read --limit=100 --json=id,url,title,changed_at,starred | jq '.items[] | select(.changed_at >= "2025-12-26")'changed_atmlwcli entry save 42mlwcli feed add <url>
mlwcli feed add <url> --category-id=<id> # defaults to 1 (All) if omittedmlwcli feed list --jq='.items[] | { id, title, category_id: .category.id, category_title: .category.title }'mlwcli link add <url>
mlwcli link add <url> --notes='Title: "Some Title"' --tags="tag1 tag2"mlwcli page add <url>
mlwcli page add <url> --tags="tag1 tag2" --archivemlwcli page list --starred --per-page=20 --jq='.items[] | { id, url, title, domain_name }'
mlwcli page list --domain=example.com
mlwcli page list --tags="tech news"