Sandbox
@adeze/raindrop-mcp

Raindrop.io MCP server for agent bookmark tools

This repository packages Raindrop.io as an MCP server so agents can search, organize, and edit your bookmarks. It exposes tools for collections, bookmarks, tags, highlights, bulk edits, and cleanup, with configs for multiple MCP clients.

184 starsβ€’27 forksβ€’TypeScriptβ€’Updated 1mo ago
Who it's for

Builders who want their agent to manage a Raindrop.io bookmark library from chat or terminal.

What it delivers

You can organize and audit your bookmark library without leaving your agent workflow.

What it does

Collection management

Create, update, delete, and browse collections, including a tree view with breadcrumb paths.

Bookmark search and editing

Search bookmarks by tags, domain, type, date, and pagination, then create, update, delete, or bulk edit them.

Tag and highlight tools

List, rename, merge, and delete tags, and read or manage bookmark highlights.

Library audit and cleanup

Find broken links, duplicates, and untagged items, then empty trash or remove duplicates with confirmation.

Agent-facing setup files

Includes MCP and client configs for Claude Code, Codex, Gemini CLI, Copilot, Claude Desktop, and Vercel Skills.

How to get it

  1. 1To add this server to your local skill directory
    npx skills add adeze/raindrop-mcp --global
  2. 2Set your API token as an environment variable and run
    export RAINDROP_ACCESS_TOKEN=YOUR_RAINDROP_ACCESS_TOKEN
    npx @adeze/raindrop-mcp

README

Raindrop.io MCP Server

smithery badge npm version Claude Desktop MCPB

Connect Raindrop.io to your AI assistant with a simple MCP server. Use it to organize, search, and manage bookmarks with natural language.

Raindrop.io now also offers a hosted Streamable HTTP MCP endpoint (https://api.raindrop.io/rest/v2/ai/mcp) in beta for Pro users. Use that when its hosted toolset is sufficient; use this package for local stdio, self-hosted HTTP, and its additional library-management tools.

What it can do

  • Create, update, and delete collections and bookmarks
  • Search bookmarks by tags, domain, type, date, and more
  • Manage tags (list, rename, merge, delete)
  • Read highlights from bookmarks
  • Bulk edit bookmarks in a collection
  • Audit broken links and duplicates, and manage trash

Tools

  • diagnostics - Server diagnostic information and library health metrics
  • collection_list - List all collections as a flat list
  • get_collection_tree - Hierarchical view of collections with full breadcrumb paths
  • collection_manage - Create, update, or delete collections
  • bookmark_search - Advanced search with filters, tags, and pagination
  • bookmark_manage - Create, update, or delete bookmarks
  • get_raindrop - Fetch a single bookmark by ID
  • list_raindrops - List bookmarks for a collection with pagination
  • get_suggestions - AI-powered organization advice (tags/collections) for a URL or bookmark
  • suggest_tags - Suggest relevant tags from bookmark metadata using AI-assisted analysis
  • bulk_edit_raindrops - Bulk update, move, or remove bookmarks in a specific collection
  • tag_manage - Rename, merge, or delete tags
  • highlight_manage - Create, update, or delete highlights
  • library_audit - Scan library for broken links, duplicates, and untagged items
  • empty_trash - Permanently empty the trash (requires confirmation)
  • cleanup_collections - Remove empty collections (requires confirmation)
  • remove_duplicates - Find and remove duplicate bookmarks with safe confirmation flow

Install

Quick Start (One-Liners)

ToolOne-Liner Command
Gemini CLIgemini extensions install https://github.com/adeze/raindrop-mcp
Codex CLIcodex mcp add raindrop -- npx -y @adeze/raindrop-mcp
Claude Codeclaude mcp add raindrop -- npx -y @adeze/raindrop-mcp
GitHub Copilotgh copilot config mcp add raindrop -- npx -y @adeze/raindrop-mcp
Vercel Skillsnpx skills add adeze/raindrop-mcp

Note: For tools adding an MCP server via npx, you must have the RAINDROP_ACCESS_TOKEN environment variable set in your shell or the tool's environment config.

Vercel Skills (npx skills)

This project is compatible with the Vercel Skills system. All necessary manifests are present:

  • manifest.json: Standard MCP manifest for server definition.
  • SKILL.md: Standardized skill description for agent discovery.
  • mcp.json: Root configuration for MCP clients and registries.

To add this server to your local skill directory:

npx skills add adeze/raindrop-mcp --global

To contribute this to the Vercel Skills Registry, submit a Pull Request adding this repository URL to the registry.

Claude Desktop (MCPB)

Download the latest raindrop-mcp.mcpb from the GitHub Release and add it to Claude Desktop:

In Claude Desktop, add the bundle and set this environment variable:

  • RAINDROP_ACCESS_TOKEN (from your Raindrop.io integrations settings)

NPX (CLI)

Set your API token as an environment variable and run:

export RAINDROP_ACCESS_TOKEN=YOUR_RAINDROP_ACCESS_TOKEN
npx @adeze/raindrop-mcp

Manual MCP config (mcp.json)

Add this to your MCP client configuration:

{
  "servers": {
    "raindrop": {
      "type": "stdio",
      "command": "npx",
      "args": ["@adeze/raindrop-mcp@latest"],
      "env": {
        "RAINDROP_ACCESS_TOKEN": "YOUR_RAINDROP_ACCESS_TOKEN"
      }
    }
  }
}

Requirements

Support

Release

This repository uses semantic-release as the only supported release flow.

How publishing works

  • Releases run from pushes to master via .github/workflows/ci.yml.
  • semantic-release analyzes Conventional Commit messages, computes the next version, updates CHANGELOG.md, tags/releases on GitHub, and publishes npm.
  • During release preparation, .releaserc.json syncs manifest.json, mcp.json, and gemini-extension.json, then builds raindrop-mcp.mcpb so the GitHub Release includes the bundle.

Pre-release dry-run

  • Run .github/workflows/release-dry-run.yml with Run workflow before cutting a public release.
  • This validates semantic version calculation, registry auth, and release pipeline behavior without publishing.

Required secrets

  • GITHUB_TOKEN is provided by GitHub Actions for release automation.

npm trusted publishing

  • npm publishing is configured via GitHub Actions OIDC trusted publishing.
  • NPM_TOKEN is not required for the standard CI release path.

Local validation before merge

bun run lint
bun run type-check
bun run test
bun run build

Commit message examples

  • fix: handle empty tag merge payload
  • feat: add collection path filter
  • feat!: remove deprecated search parameter

Do not manually bump versions, push release tags, or run manual npm publish commands for normal releases.

πŸ“‹ Recent Enhancements (v2.4.x)

Smart Organization & Hierarchy

  • AI Suggestions: New get_suggestions tool provides organizational advice using Raindrop's API and MCP Sampling.
  • Collection Tree: get_collection_tree tool provides a hierarchical view with full breadcrumb paths.
  • Bulk Move: Added move operation to bulk_edit_raindrops for efficient library organization.
  • Pagination Support: Standardized list_raindrops and bookmark_search with pagination for large libraries.

Safety & Quality

  • Confirmation Logic: Destructive tools (empty_trash, cleanup_collections) now require explicit confirmation.
  • Standardized Naming: All tools now use consistent snake_case naming conventions.
  • CI/CD Pipeline: Enhanced GitHub Actions with automated linting, type-checking, and cross-transport tests.
  • Code Quality: Established ESLint and Prettier configurations for maintainable development.

πŸ“‹ Previous Enhancements (v2.3.3)

Advanced Cleanup & Library Audit

πŸ“‹ Previous Enhancements (v2.3.2)

MCP Resource Links Implementation

  • Modern resource content following current MCP SDK best practices
  • Efficient data access: tools return lightweight links instead of full payloads
  • Better performance: clients fetch full bookmark/collection data only when needed
  • Seamless integration with dynamic resource system (mcp://raindrop/{id})

SDK & API Updates

  • Updated to the latest supported MCP SDK in this repository
  • Modern tool registration with improved descriptions
  • Fixed API endpoints and path parameters
  • All core tools fully functional

Tool Optimization

  • Resource-efficient responses for bookmark/collection lists
  • Dynamic resource access via mcp://collection/{id} and mcp://raindrop/{id}
  • Better client UX with lighter list payloads
  • Full MCP compliance with official SDK patterns

Service Layer Improvements

  • Reduced code through extracted common helpers
  • Consistent error handling and response processing
  • Enhanced type safety with generic handlers
  • Centralized endpoint building

Testing Improvements

  • Stronger end-to-end coverage for MCP tool execution
  • Expanded integration tests for real-world client flows

MCP 2.0 Preparation (Bulk Ops)

  • Laying groundwork for MCP 2.0 bulk-operation workflows and tooling

OAuth (Coming Soon)

  • OAuth-based auth flow to simplify setup without manual tokens

Note

Apologies to anyone affected by the last couple of builds. Thank you for the patience and reports.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Files in the repo

Repository payloadβ€’42 top-level entries
  • .claude
  • .codex
  • .github
  • .husky
  • .vscode
  • conductor
  • docs
  • scripts
  • src
  • tests
  • .env.example
  • .gitignore
  • .mcpbignore
  • .npmrc
  • .prettierignore
  • .prettierrc.json
  • .releaserc.json
  • AGENTS.md
  • bun.lock
  • CHANGELOG.md
  • CLAUDE.md
  • eslint.config.js
  • gemini-extension.json
  • GEMINI.md
  • icon_128.png
  • LICENSE
  • LOGGING_DIAGNOSTICS.md
  • manifest.json
  • mcp.json
  • nightwatch.conf.cjs
  • openapitools.json
  • package.json
  • raindrop-complete.yaml
  • raindrop.yaml
  • README.md
  • REFACTORING_SUMMARY.md
  • SKILL.md
  • smithery.yaml
  • tsconfig.json
  • tsdoc.json
  • typedoc.json
  • vitest.config.ts

Discussion (0)

Ask about usage, or say what you built with it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More connectors

Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface

86k

High-performance code intelligence MCP server. Indexes codebases into a persistent knowledge graph β€” average repo in milliseconds. 158 languages, sub-ms queries, 99% fewer tokens. Single static binary, zero dependencies.

43k

Universal provider proxy for OpenAI Codex & Claude Code β€” use any LLM (Claude, Gemini, Grok, DeepSeek, Ollama…) with Codex CLI, App, SDK, and Claude Code

14k
okf-memory/
okf-agent-memory

Git-native persistent memory for AI coding agents. Implements Google OKF v0.2 with sub-300Β΅s in-memory BM25 search, embedded MCP server, and progressive disclosure. Slashes token bloat by 80% with zero external databases or dependencies. Built in pure Go.

547
tirth8205/
code-review-graph

Local-first code intelligence graph for MCP and CLI. Builds a persistent map of your codebase so AI coding tools read only what matters, with benchmarked context reductions on reviews and large-repo workflows.

31k
2akouwu/
reverify

Stop your AI from making things up β€” it proposes, deterministic tools decide, every claim checked against ground truth with evidence. Grounded facts and context survive resets. Reverse engineering is the proving ground. MCP server + CLI.

1.1k