关于 Shiori MCP
Shiori MCP 是用于管理 Shiori 实例书签的 MCP 服务,面向 Shiori 用户,支持书签与标签操作、搜索及账号查看。
主要功能
- 01检查 Shiori 连接与身份验证
- 02列出、搜索和获取书签
- 03添加、更新和删除书签
- 04查看标签及书签数量
- 05重命名标签并列出可见账号
适用场景
- 01按文本或标签查找已保存链接
- 02添加或更新带标签的书签
- 03查看标签及对应书签数量
MCP 相关
向 MCP 客户端提供 Shiori 书签和标签管理工具,也支持搜索、账号查看及连接检查。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
uvx shiori-mcpSHIORI_BASE_URLBase URL of the Shiori instance, e.g. https://shiori.example.comSHIORI_SESSION_ID密钥Existing Shiori session id; skips login if providedSHIORI_USERNAMEShiori username; required unless SHIORI_SESSION_ID is setSHIORI_PASSWORD密钥Shiori password; required unless SHIORI_SESSION_ID is set本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Shiori MCP
一个用于 Shiori 的模型上下文协议(MCP)服务。Shiori 是一款可自托管的书签和稍后阅读管理工具。
功能
- 验证 Shiori 的连接和身份验证
- 列出书签
- 按标题、URL、摘要和标签搜索书签
- 从书签列表中按 ID 或精确 URL 获取单个书签
- 使用 Shiori 要求的标签对象格式添加书签
- 通过完整书签负载或常用字段参数更新书签
- 按 ID 列表删除书签
- 列出标签和书签数量
- 重命名标签
- 列出经过身份验证的会话可见的账户
安装
pipx install git+https://github.com/rusty4444/shiori-mcp.git
或者从检出目录安装:
python -m venv .venv
source .venv/bin/activate
pip install -e .
配置
| 变量 | 必需 | 描述 |
|---|---|---|
SHIORI_BASE_URL | 是 | Shiori 实例的基本 URL,例如 https://shiori.example.com |
SHIORI_SESSION_ID | 否 | 已有的 Shiori 会话 ID;如果提供,则跳过登录 |
SHIORI_USERNAME | 除非已设置会话 ID,否则必需 | Shiori 用户名 |
SHIORI_PASSWORD | 除非已设置会话 ID,否则必需 | Shiori 密码 |
SHIORI_TIMEOUT | 否 | HTTP 超时时间(秒),默认为 20 |
MCP 客户端配置
{
"mcpServers": {
"shiori": {
"command": "shiori-mcp",
"env": {
"SHIORI_BASE_URL": "https://shiori.example.com",
"SHIORI_USERNAME": "your-username",
"SHIORI_PASSWORD": "your-password"
}
}
}
}
工具
| 工具 | 用途 |
|---|---|
shiori_health_check | 验证 API 连接和身份验证 |
shiori_list_bookmarks | 列出书签,并在客户端应用 limit/offset |
shiori_search_bookmarks | 按文本和/或标签搜索书签 |
shiori_get_bookmark | 从书签列表中按 ID 获取单个书签 |
shiori_get_bookmark_by_url | 按精确 URL 获取单个书签 |
shiori_add_bookmark | 添加书签,并可选设置标签、归档和公开标记 |
shiori_update_bookmark | 使用完整的 Shiori 书签 JSON 更新书签 |
shiori_update_bookmark_fields | 更新常用字段,无需手动构造完整 JSON |
shiori_delete_bookmark | 删除一个书签 ID |
shiori_delete_bookmarks | 从 JSON 数组中删除书签 ID |
shiori_list_tags | 列出标签和书签数量 |
shiori_rename_tag | 重命名标签 |
shiori_list_accounts | 列出此会话可见的账户 |
开发与验证
python -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
pip install -e '.[dev]'
ruff check .
pytest
python scripts/live_docs_test.py
live_docs_test.py 无需凭据即可验证 Shiori 公共 API 文档和仓库页面。经过身份验证的读写 API 行为通过模拟 HTTP 测试覆盖。
可选的 LLM 验证可使用任何已配置的 OpenAI 兼容端点运行。若要在本地进行 Aeon 验证,请在运行 python scripts/model_validate.py 前设置 AEON_BASE_URL,并可选设置 AEON_MODEL / AEON_API_KEY。
API 说明
本服务使用 Shiori 文档所述的旧版 /api/* API,因为新版 API v1 仍被标记为开发中,并且在运行中的实例上通过 /swagger/index.html 提供自文档。
安全
具备写入能力的工具会修改 Shiori 书签数据库。请将凭据保存在环境变量或机密管理器中,切勿将其提交到源代码管理系统。
本项目在 AI 工具的协助下开发。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。