mcpField
W
wallabag MCP

wallabag MCP

本地服务
github.com生产力33 周前更新

关于 wallabag MCP

wallabag MCP 为 wallabag 用户和 AI 助手提供文章、标签与批注的操作接口,适用于自托管稍后阅读库。它将 OAuth API 操作封装为结构化工具。

主要功能

  1. 01分页列出并筛选文章
  2. 02获取文章元数据和正文
  3. 03保存、更新及归档文章
  4. 04管理标签与文章批注
  5. 05检查连接和身份验证

适用场景

  1. 01搜索并阅读已保存文章
  2. 02将网页加入 wallabag
  3. 03整理文章的标签与已读状态
  4. 04为文章摘录添加批注

MCP 相关

作为 MCP 服务,它向客户端暴露 wallabag 的文章、标签和批注操作,并通过配置的 OAuth 凭据连接实例。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"rusty4444-wallabag": {
"command": "uvx",
"args": [
"wallabag-mcp"
],
"env": {
"WALLABAG_BASE_URL": "<WALLABAG_BASE_URL>",
"WALLABAG_ACCESS_TOKEN": "<WALLABAG_ACCESS_TOKEN>",
"WALLABAG_CLIENT_ID": "<WALLABAG_CLIENT_ID>",
"WALLABAG_CLIENT_SECRET": "<WALLABAG_CLIENT_SECRET>",
"WALLABAG_USERNAME": "<WALLABAG_USERNAME>",
"WALLABAG_PASSWORD": "<WALLABAG_PASSWORD>"
}
}
}
}
启动命令uvx wallabag-mcp
需要配置的环境变量
WALLABAG_BASE_URLBase URL of the wallabag instance, e.g. https://wallabag.example.com
WALLABAG_ACCESS_TOKEN密钥Existing OAuth access token; skips password grant if provided
WALLABAG_CLIENT_IDOAuth client id; required unless WALLABAG_ACCESS_TOKEN is set
WALLABAG_CLIENT_SECRET密钥OAuth client secret; required unless WALLABAG_ACCESS_TOKEN is set
WALLABAG_USERNAMEwallabag username; required unless WALLABAG_ACCESS_TOKEN is set
WALLABAG_PASSWORD密钥wallabag password; required unless WALLABAG_ACCESS_TOKEN is set

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypiwallabag-mcp0.1.0

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

wallabag MCP

请我喝杯咖啡

这是一个面向 wallabag 的模型上下文协议(MCP)服务。wallabag 是一款开源的稍后阅读服务。

此服务为 AI 助手提供了一个结构化接口,用于处理常见的 wallabag 工作流:

  • 通过一个轻量的只读健康检查验证连接和身份验证
  • 列出、筛选已保存的文章,并分页浏览
  • 获取条目元数据或提取后的完整内容
  • 保存新的 URL
  • 归档/取消归档条目,并为条目加星/取消加星
  • 重新加载/重新抓取文章内容
  • 删除条目
  • 列出并添加标签
  • 列出、创建和删除批注

为什么要开发此服务

wallabag 在可自托管环境中广泛使用,但其 API 基于 OAuth,不太适合通用的大模型工具。此 MCP 服务封装了重要的条目、标签和批注操作,并提供了适合 AI 使用的接口和文档化参数。

安装

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

或者从代码检出目录安装:

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

配置

此服务通过环境变量读取配置:

变量必填说明
WALLABAG_BASE_URL是wallabag 实例的基础 URL,例如 https://app.wallabag.it
WALLABAG_ACCESS_TOKEN否已有的 OAuth 访问令牌;设置后将跳过密码授权
WALLABAG_CLIENT_ID除非已设置访问令牌,否则必填wallabag 开发者客户端页面中的 OAuth 客户端 ID
WALLABAG_CLIENT_SECRET除非已设置访问令牌,否则必填OAuth 客户端密钥
WALLABAG_USERNAME除非已设置访问令牌,否则必填wallabag 用户名
WALLABAG_PASSWORD除非已设置访问令牌,否则必填wallabag 密码
WALLABAG_TIMEOUT否HTTP 超时时间,单位为秒,默认值为 20

在 wallabag 实例的 开发者 / API 客户端下创建 wallabag API 客户端。wallabag 官方文档介绍了如何通过 /oauth/v2/token 使用密码授权。

MCP 客户端配置

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

工具

工具用途
wallabag_health_check通过一个轻量的只读请求验证连接和身份验证
wallabag_list_entries使用分页和筛选条件列出条目
wallabag_get_entry获取单个条目,可选包含提取后的内容
wallabag_add_entry将 URL 保存到 wallabag
wallabag_update_entry更新标题、URL、归档/加星状态或标签
wallabag_archive_entry将条目标记为已归档/已读
wallabag_unarchive_entry将条目标记为未归档/未读
wallabag_star_entry为条目加星/收藏
wallabag_unstar_entry取消条目的加星/收藏状态
wallabag_reload_entry请求 wallabag 重新抓取/解析原始 URL
wallabag_delete_entry删除条目
wallabag_list_tags列出已知标签
wallabag_add_tags_to_entry将逗号分隔的标签添加到条目
wallabag_delete_tag全局删除标签
wallabag_list_annotations列出条目的批注
wallabag_create_annotation为引用的文章文本创建批注
wallabag_delete_annotation删除批注

开发与验证

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 用于验证 wallabag 的公开 API 文档和托管的 API 文档页面,无需账户凭据。修改操作和经过身份验证的请求行为则通过模拟 HTTP 测试进行覆盖。

安全

具有写入能力的工具会修改你的稍后阅读资料库。请将 OAuth 密钥保存在环境变量或密钥管理器中,切勿提交到源代码管理中。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。