Readwise阅读器远程MCP服务器
远程模型上下文协议(MCP)服务器,通过安全的OAuth流提供对Readwise Reader文档的访问。基于Cloudflare Workers构建。
特性
- 安全认证:用户使用自己的Readwise API令牌进行身份验证
- 文档管理:在Reader库中创建、列出、更新和管理文档
- 标签管理:列出并管理阅读器库中的标签
- OAuth流:用于安全令牌管理的标准OAuth 2.0流程
- Cloudflare员工:具有全局边缘分布的无服务器部署
- 完整内容访问:默认情况下包含HTML内容,用于全面的文档处理
可用工具
listDocuments
使用可选过滤器列出Readwise Reader库中的文档:
location:按文档位置筛选(新、稍后、入围、存档、提要)category:按类别筛选(文章、电子邮件、rss、突出显示、注释、pdf、epub、推特、视频)tag:按标签键筛选updatedAfter:仅获取在此日期之后更新的文档(ISO 8601格式)limit:要返回的最大文档数(默认值:20,最大值:100)
返回格式化的文档数据,包括HTML内容、元数据、读取进度和标记。
getDocument
按ID获取特定文档的详细信息:
documentId(必填):用于获取详细信息的文档ID
返回完整的文档数据,包括HTML内容、元数据、读取进度、标记和所有其他可用字段。
createDocument
将新文档保存到Readwise Reader库:
url(必填):文档的唯一URLhtml:HTML格式的文档内容should_clean_html:是否自动清理HTML并解析元数据title:文件标题author:文件作者summary:文件摘要published_date:文件发布时(ISO 8601格式)image_url:用作封面图像的图像URLlocation:文档的初始位置(新、稍后、存档、提要)category:文档类别(文章、电子邮件、rss、突出显示、注释、pdf、epub、推特、视频)saved_using:文件来源tags:文档的标签列表notes:文档的顶级注释
updateDocument
更新Readwise Reader库中的现有文档:
documentId(必填):要更新的文档IDtitle:文件标题author:文件作者summary:文件摘要published_date:文件发布时(ISO 8601格式)image_url:用作封面图像的图像URLlocation:文档的当前位置(新、稍后、存档、提要)category:文档类别(文章、电子邮件、rss、突出显示、注释、pdf、epub、推特、视频)
deleteDocument
从Readwise Reader库中删除文档:
documentId(必填):要删除的文档ID
从库中永久删除文档。此操作无法撤消。
tagList
列出Readwise阅读器库中的所有可用标签:
limit:要返回的最大标记数(默认值:50,最大值:100)
返回所有标签及其键和名称,支持对大型标签集合进行分页。
用法
MCP客户端
克劳德桌面:
{
"mcpServers": {
"readwise-reader": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://remote-mcp-reader-server.julien-marinica.workers.dev/sse"
]
}
}
}身份验证流程
- 连接时,系统将提示用户批准MCP客户端
- 批准后,用户输入其Readwise API令牌
- 令牌已安全加密并存储
- 用户可以在以下位置找到他们的API令牌:https://readwise.io/access_token
安全
- API令牌在存储前进行加密
- OAuth令牌与Readwise令牌分开发放
- 所有通信都使用HTTPS
- 令牌仅限于个人用户
建筑
基于 Cloudflare关于远程MCP服务器的博客文章,此实现使用:
- workers oauth提供者:OAuth 2.0提供者实现
- McpAgent:Cloudflare用于处理远程传输的MCP SDK
- 耐用物品:具有隔离存储的状态会话
- 工人KV:加密令牌存储
