wallabag MCP

io.github.rusty4444Published by GitHub account rusty4444v0.1.0Updated Oct 24, 2026

MCP server for wallabag read-it-later entries, tags, and annotations.

Overview

AI-generated overview

MCP server for wallabag that lets an assistant browse, save and organize read-it-later articles, tags and annotations.

What you can do
Check connectivity and authentication, and list, filter and page through saved articles, fetching one entry's metadata or extracted full content.
When to use it
Useful when you run wallabag (self-hosted or hosted) and want an assistant to work directly with your read-it-later library: browsing and filtering articles, pulling full text, saving new URLs, marking read or starred, and managing tags and annotations.
Requirements
Runs locally as a Python package (uvx or pipx). Needs WALLABAG_BASE_URL plus either WALLABAG_ACCESS_TOKEN or the OAuth password-grant set WALLABAG_CLIENT_ID, WALLABAG_CLIENT_SECRET, WALLABAG_USERNAME and WALLABAG_PASSWORD; optional WALLABAG_TIMEOUT. Network access to your wallabag instance.
Before you install
Most tools change your wallabag library: saving URLs, updating title or state, archiving, starring, refetching, deleting entries, adding or deleting tags, and creating or deleting annotations. Deleting a tag is global. It needs secrets such as WALLABAG_CLIENT_SECRET, WALLABAG_PASSWORD or WALLABAG_ACCESS_TOKEN, which should live in environment variables or a secret manager, never in source control.

Installation

In SourceWeft

  1. Open wallabag MCP in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

wallabag MCP

[Buy Me A Coffee]

A Model Context Protocol (MCP) server for wallabag, the open-source read-it-later service.

This server gives AI assistants a structured interface for common wallabag workflows:

  • Verify connectivity and authentication with a tiny read-only health check
  • List, filter, and page through saved articles
  • Fetch entry metadata or full extracted content
  • Save new URLs
  • Archive/unarchive and star/unstar entries
  • Reload/refetch article extraction
  • Delete entries
  • List and add tags
  • List, create, and delete annotations

Why this exists

wallabag is widely used in self-hosted setups, but its API is OAuth-based and awkward for general LLM tools. This MCP server wraps the important entry, tag, and annotation operations with an AI-friendly surface and documented parameters.

Installation

bash
pipx install git+https://github.com/rusty4444/wallabag-mcp.git

Or from a checkout:

bash
python -m venv .venvsource .venv/bin/activatepip install -e .

Configuration

The server reads configuration from environment variables:

VariableRequiredDescription
WALLABAG_BASE_URLYesBase URL of your wallabag instance, e.g. https://app.wallabag.it
WALLABAG_ACCESS_TOKENOptionalExisting OAuth access token; if set, password grant is skipped
WALLABAG_CLIENT_IDRequired unless access token is setOAuth client id from wallabag's developer client page
WALLABAG_CLIENT_SECRETRequired unless access token is setOAuth client secret
WALLABAG_USERNAMERequired unless access token is setwallabag username
WALLABAG_PASSWORDRequired unless access token is setwallabag password
WALLABAG_TIMEOUTNoHTTP timeout in seconds, default 20

Create a wallabag API client from your wallabag instance under Developer / API clients. wallabag's official docs show the password grant against /oauth/v2/token.

MCP client config

json
{  "mcpServers": {    "wallabag": {      "command": "wallabag-mcp",      "env": {        "WALLABAG_BASE_URL": "https://wallabag.example.com",        "WALLABAG_CLIENT_ID": "your-client-id",        "WALLABAG_CLIENT_SECRET": "your-client-secret",        "WALLABAG_USERNAME": "your-username",        "WALLABAG_PASSWORD": "your-password"      }    }  }}

Tools

ToolPurpose
wallabag_health_checkVerify connectivity and authentication with a tiny read-only request
wallabag_list_entriesList entries with pagination and filters
wallabag_get_entryFetch one entry, optionally including extracted content
wallabag_add_entrySave a URL into wallabag
wallabag_update_entryUpdate title, URL, archive/starred state, or tags
wallabag_archive_entryMark an entry archived/read
wallabag_unarchive_entryMark an entry unarchived/unread
wallabag_star_entryStar/favourite an entry
wallabag_unstar_entryRemove starred/favourite state
wallabag_reload_entryAsk wallabag to refetch/reparse the original URL
wallabag_delete_entryDelete an entry
wallabag_list_tagsList known tags
wallabag_add_tags_to_entryAdd comma-separated tags to an entry
wallabag_delete_tagDelete a tag globally
wallabag_list_annotationsList annotations for an entry
wallabag_create_annotationCreate an annotation on quoted article text
wallabag_delete_annotationDelete an annotation

Development and validation

bash
python -m venv .venvsource .venv/bin/activatepip install -e '.[dev]'ruff check .pytestpython scripts/live_docs_test.py

live_docs_test.py validates wallabag's public API documentation and the hosted API docs page without needing account credentials. Mutation and authenticated request behaviours are covered with mocked HTTP tests.

Safety

Write-capable tools mutate your read-it-later library. Keep OAuth secrets in environment variables or a secret manager, never in source control.

Source: README.md at commit f30fc83

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.0LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts