wallabag-mcp

wallabag-mcp

MCP server providing AI assistants with a structured interface to manage wallabag articles, tags, and annotations.

Category
访问服务器

README

wallabag MCP

<p align="center"> <a href="https://buymeacoffee.com/rusty4" target="_blank"> <img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" height="50"> </a> </p>

<!-- mcp-name: io.github.rusty4444/wallabag-mcp -->

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

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

Or from a checkout:

python -m venv .venv
source .venv/bin/activate
pip install -e .

Configuration

The server reads configuration from environment variables:

Variable Required Description
WALLABAG_BASE_URL Yes Base URL of your wallabag instance, e.g. https://app.wallabag.it
WALLABAG_ACCESS_TOKEN Optional Existing OAuth access token; if set, password grant is skipped
WALLABAG_CLIENT_ID Required unless access token is set OAuth client id from wallabag's developer client page
WALLABAG_CLIENT_SECRET Required unless access token is set OAuth client secret
WALLABAG_USERNAME Required unless access token is set wallabag username
WALLABAG_PASSWORD Required unless access token is set wallabag password
WALLABAG_TIMEOUT No HTTP 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

{
  "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

Tool Purpose
wallabag_health_check Verify connectivity and authentication with a tiny read-only request
wallabag_list_entries List entries with pagination and filters
wallabag_get_entry Fetch one entry, optionally including extracted content
wallabag_add_entry Save a URL into wallabag
wallabag_update_entry Update title, URL, archive/starred state, or tags
wallabag_archive_entry Mark an entry archived/read
wallabag_unarchive_entry Mark an entry unarchived/unread
wallabag_star_entry Star/favourite an entry
wallabag_unstar_entry Remove starred/favourite state
wallabag_reload_entry Ask wallabag to refetch/reparse the original URL
wallabag_delete_entry Delete an entry
wallabag_list_tags List known tags
wallabag_add_tags_to_entry Add comma-separated tags to an entry
wallabag_delete_tag Delete a tag globally
wallabag_list_annotations List annotations for an entry
wallabag_create_annotation Create an annotation on quoted article text
wallabag_delete_annotation Delete an annotation

Development and validation

python -m venv .venv
source .venv/bin/activate
pip install -e '.[dev]'
ruff check .
pytest
python 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.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选