8.1 KiB
8.1 KiB
Raindrop书签AI管理
书签管理 MCP AI助手 Raindrop.io 自然语言
Raindrop.io MCP 服务器
通过简单的 MCP 服务器将 Raindrop.io 连接到你的 AI 助手,用自然语言整理、搜索和管理书签。
功能介绍
- 创建、更新和删除收藏夹与书签
- 按标签、域名、类型、日期等条件搜索书签
- 管理标签(列出、重命名、合并、删除)
- 读取书签高亮内容
- 批量编辑收藏夹中的书签
- 检查失效链接和重复项,管理回收站
工具列表
- diagnostics - 服务器诊断信息及库健康指标
- collection_list - 以扁平列表形式列出所有收藏夹
- get_collection_tree - 带完整面包屑路径的层级收藏夹视图
- collection_manage - 创建、更新或删除收藏夹
- bookmark_search - 支持过滤器、标签和分页的高级搜索
- bookmark_manage - 创建、更新或删除书签
- get_raindrop - 通过 ID 获取单个书签
- list_raindrops - 分页列出收藏夹中的书签
- get_suggestions - 针对 URL 或书签提供 AI 驱动的整理建议(标签/收藏夹)
- suggest_tags - 利用 AI 辅助分析从书签元数据中推荐相关标签
- bulk_edit_raindrops - 批量更新、移动或删除指定收藏夹中的书签
- tag_manage - 重命名、合并或删除标签
- highlight_manage - 创建、更新或删除高亮内容
- library_audit - 扫描库中的失效链接、重复项和未打标签的条目
- empty_trash - 永久清空回收站(需确认)
- cleanup_collections - 删除空收藏夹(需确认)
- remove_duplicates - 通过安全确认流程查找并删除重复书签
安装
快速开始(一行命令)
| 工具 | 一行命令 |
|---|---|
| Gemini CLI | gemini extensions install https://github.com/adeze/raindrop-mcp |
| Codex CLI | codex mcp add raindrop -- npx -y @adeze/raindrop-mcp |
| Claude Code | claude mcp add raindrop -- npx -y @adeze/raindrop-mcp |
| GitHub Copilot | gh copilot config mcp add raindrop -- npx -y @adeze/raindrop-mcp |
| Vercel Skills | npx skills add adeze/raindrop-mcp |
注意:通过
npx添加 MCP 服务器的工具,需要在 shell 或工具的环境配置中设置RAINDROP_ACCESS_TOKEN环境变量。
Vercel Skills(npx skills)
本项目兼容 Vercel Skills 系统,所有必要的清单文件均已包含:
manifest.json:用于服务器定义的标准 MCP 清单。SKILL.md:供 Agent 发现使用的标准化技能描述。mcp.json:MCP 客户端和注册表的根配置。
将此服务器添加到本地技能目录:
npx skills add adeze/raindrop-mcp --global
若要将其贡献到 Vercel Skills Registry,请提交 Pull Request,将此仓库 URL 添加到注册表中。
Claude Desktop(MCPB)
从 GitHub Release 下载最新的 raindrop-mcp.mcpb,并添加到 Claude Desktop:
在 Claude Desktop 中添加该包并设置以下环境变量:
- RAINDROP_ACCESS_TOKEN(来自 Raindrop.io 集成设置)
NPX(命令行)
将 API Token 设置为环境变量后运行:
export RAINDROP_ACCESS_TOKEN=YOUR_RAINDROP_ACCESS_TOKEN
npx @adeze/raindrop-mcp
手动配置 MCP(mcp.json)
在 MCP 客户端配置中添加以下内容:
{
"servers": {
"raindrop": {
"type": "stdio",
"command": "npx",
"args": ["@adeze/raindrop-mcp@latest"],
"env": {
"RAINDROP_ACCESS_TOKEN": "YOUR_RAINDROP_ACCESS_TOKEN"
}
}
}
}
前提条件
- 一个 Raindrop.io 账号
- Raindrop.io API 访问令牌:https://app.raindrop.io/settings/integrations
支持
发布流程
本仓库使用 semantic-release 作为唯一支持的发布方式。
发布机制
- 发布由推送到
master分支触发,通过.github/workflows/ci.yml执行。 semantic-release分析约定式提交信息,计算下一个版本号,更新CHANGELOG.md,在 GitHub 上创建标签/发布,并发布到 npm。- 发布准备期间,
.releaserc.json会同步manifest.json、mcp.json和gemini-extension.json,然后构建raindrop-mcp.mcpb,使 GitHub Release 包含该包。
预发布演习
- 在正式发布前,通过 Run workflow 运行
.github/workflows/release-dry-run.yml。 - 该流程会验证语义版本计算、注册表鉴权和发布管道行为,但不会实际发布。
所需密钥
GITHUB_TOKEN由 GitHub Actions 提供,用于发布自动化。
npm 可信发布
- npm 发布通过 GitHub Actions OIDC 可信发布配置。
- 标准 CI 发布路径无需
NPM_TOKEN。
合并前本地验证
bun run lint
bun run type-check
bun run test
bun run build
提交信息示例
fix: handle empty tag merge payloadfeat: add collection path filterfeat!: remove deprecated search parameter
正常发布请勿手动修改版本号、推送发布标签或手动执行 npm publish。
📋 近期更新(v2.4.x)
智能整理与层级管理
- AI 建议:新增
get_suggestions工具,通过 Raindrop API 和 MCP Sampling 提供整理建议。 - 收藏夹树:
get_collection_tree工具提供带完整面包屑路径的层级视图。 - 批量移动:为
bulk_edit_raindrops新增move操作,提升库整理效率。 - 分页支持:为
list_raindrops和bookmark_search统一实现分页,适配大型书签库。
安全性与质量
- 确认逻辑:破坏性操作(
empty_trash、cleanup_collections)现在需要明确确认。 - 命名规范化:所有工具统一使用 snake_case 命名约定。
- CI/CD 流水线:增强 GitHub Actions,支持自动代码检查、类型检测和跨传输测试。
- 代码质量:建立 ESLint 和 Prettier 配置,保障可维护的开发体验。
📋 历史更新(v2.3.3)
高级清理与库审计
📋 历史更新(v2.3.2)
MCP 资源链接实现
- 遵循最新 MCP SDK 最佳实践的现代
resource内容 - 高效数据访问:工具返回轻量链接而非完整数据
- 更佳性能:客户端仅在需要时获取完整书签/收藏夹数据
- 与动态资源系统无缝集成(
mcp://raindrop/{id})
SDK 与 API 更新
- 升级至本仓库最新支持的 MCP SDK
- 改进描述的现代工具注册方式
- 修复 API 端点和路径参数
- 所有核心工具完全可用
工具优化
- 书签/收藏夹列表响应更节省资源
- 通过
mcp://collection/{id}和mcp://raindrop/{id}动态访问资源 - 更轻量的列表数据提升客户端体验
- 完全符合官方 SDK 模式的 MCP 规范
服务层改进
- 通过提取公共 helper 减少代码量
- 统一的错误处理和响应处理
- 泛型处理器增强类型安全性
- 集中化的端点构建
测试改进
- 更强的 MCP 工具执行端到端覆盖
- 扩展针对真实客户端流程的集成测试
MCP 2.0 准备(批量操作)
- 为 MCP 2.0 批量操作工作流和工具奠定基础
OAuth(即将推出)
- 基于 OAuth 的认证流程,无需手动配置 Token
说明
对近期几个版本给大家带来的不便深感抱歉,感谢你们的耐心等待和反馈。
许可证
本项目基于 MIT 许可证授权,详见 LICENSE 文件。