返回市场
雨滴-mcp-python

雨滴-mcp-python

作者:ddltn7 星标更新:2025-05-27

项目介绍

Raindrop MCP Server

这是一个由Python MCP SDK支持的Raindrop.io模型上下文协议(MCP)服务器。它提供了一种简单的方式来使用人类语言读取和更新Raindrop个人知识管理系统中的书签。此服务器可以与Firecrawl MCP服务器配对,以读取与您的书签相关的URL并对其进行分类。

要求

设置

1. 获取Raindrop API令牌

  1. 前往Raindrop.io开发者门户
  2. 创建一个新应用
  3. 复制您的API令牌

2. 设置您的API令牌

将您的Raindrop API令牌设置为环境变量:

  1. 在根目录下创建一个.env文件
  2. 添加新行:RAINDROP_TOKEN="your_token_here"

开发

要在开发模式下运行服务器:

uv run mcp dev server.py

安装

要将服务器安装到Claude Desktop:

uv run mcp install server.py

这将在本地启动服务器,并允许您测试更改。

功能

该服务器提供了:

  • 通过能力访问您的Raindrop集合和雨滴数据
  • 支持查看根集合、子集合或通过ID查看特定集合
  • 创建、更新和删除集合及雨滴的工具
  • 创建和更新新标签的工具

示例查询

在将服务器安装到Claude Desktop后,您可以向Claude提问和发出命令,例如:

  • "显示我所有的Raindrop集合"
  • "我有与编程相关的集合吗?"
  • "将这个标签添加到这个集合中的所有雨滴"
  • "显示我的Raindrop集合ID 12345的详细信息"
  • "我在Raindrop中有哪些子集合?"
  • "创建一个新的名为'Claude资源'的Raindrop集合"

这是在Claude Desktop中的一些示例用法(与Firecrawl MCP服务器配对):

输入到Claude Desktop作为分类系统: classifier

从Claude Desktop输出: classifier-output

工具

该服务器提供了以下MCP工具,使Claude Desktop能够对您的Raindrop集合执行操作:

create_collection

在Raindrop.io中创建一个新的集合。

参数:

  • title(必需):集合名称
  • view:视图类型(列表、网格、马赛克、简单)
  • public:是否公开集合
  • parent_id:父集合的ID(省略以创建根集合)

update_collection

更新Raindrop.io中的现有集合。

参数:

  • collection_id(必需):要更新的集合ID
  • title:集合的新名称
  • view:视图类型(列表、网格、马赛克、简单)
  • public:是否公开集合
  • parent_id:父集合的ID(省略以创建根集合)
  • expanded:是否展开集合

delete_collection

从Raindrop.io中删除一个集合。雨滴将被移动到回收站。

参数:

  • collection_id(必需):要删除的集合ID

empty_trash

清空Raindrop.io中的回收站,永久删除其中的所有雨滴。

get_raindrop

根据ID从Raindrop.io获取单个雨滴。

参数:

  • raindrop_id(必需):要获取的雨滴ID

get_raindrops

从Raindrop.io集合中获取多个雨滴。

参数:

  • collection_id(必需):要获取雨滴的集合ID。使用0表示所有雨滴,-1表示未排序,-99表示回收站。
  • search:可选搜索查询
  • sort:排序顺序(选项:-created, created, score, -sort, title, -title, domain, -domain)
  • page:页码(从0开始)
  • perpage:每页项目数(最大50)
  • nested:是否包含嵌套集合中的雨滴

get_tags

从Raindrop.io获取标签。

参数:

  • collection_id:可选的集合ID,用于获取标签。当未指定时,将检索来自所有集合的所有标签。

update_raindrop

更新Raindrop.io中的现有雨滴(书签)。

参数:

  • raindrop_id(必需):要更新的雨滴ID
  • title:雨滴的新标题
  • excerpt:新的描述/摘录
  • link:新的URL
  • important:设为True以标记为收藏
  • tags:分配的标签列表
  • collection_id:要移动雨滴到的集合ID
  • cover:封面图片的URL
  • type:雨滴的类型
  • order:排序顺序(升序)- 设为0以移到第一位
  • pleaseParse:设为True以在后台重新解析元数据(封面、类型)

update_many_raindrops

一次更新集合内的多个雨滴。

参数:

  • collection_id(必需):包含要更新雨滴的集合ID
  • ids:要更新的具体雨滴ID列表
  • important:设为True以标记为收藏,False以取消收藏
  • tags:要添加的标签列表(或空列表以移除所有标签)
  • cover:封面图片的URL(使用'<screenshot>'为所有设置截图)
  • target_collection_id:要移动雨滴到的集合ID
  • nested:包括嵌套集合中的雨滴
  • search:可选的搜索查询,用于筛选要更新的雨滴

依赖项

请参见pyproject.toml中的依赖项。

这些依赖项会在使用uv run mcp installuv run mcp dev时自动安装。

贡献

欢迎贡献!以下是您如何为此项目做出贡献的方法:

  1. 分叉仓库
  2. 创建一个新分支(git checkout -b feature/your-feature-name
  3. 进行您的更改
  4. 验证它们按预期工作
  5. 提交您的更改(git commit -m 'Add some feature'
  6. 推送到分支(git push origin feature/your-feature-name
  7. 打开一个拉取请求

请确保您的代码遵循现有的风格,并包含适当的文档。

许可证

本项目采用MIT许可证 - 详情请参阅LICENSE.txt文件。