npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@briansunter/raindrop-mcp

v1.1.7

Published

MCP server for Raindrop.io API integration

Readme

Raindrop MCP Server

A Model Context Protocol server for Raindrop.io - manage your bookmarks, collections, tags, and highlights through Claude and other MCP clients.

Quick Start

  1. Get your API token from Raindrop.io Settings

  2. Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "raindrop": {
      "command": "npx",
      "args": ["-y", "@briansunter/raindrop-mcp"],
      "env": {
        "RAINDROP_TOKEN": "your-token-here"
      }
    }
  }
}
  1. Restart Claude Desktop

That's it! You can now ask Claude to manage your Raindrop bookmarks.

What You Can Do

Bookmarks

  • Search and list your bookmarks with powerful filters
  • Create bookmarks from URLs (with auto-parsing)
  • Update and organize existing bookmarks
  • Bulk operations with field filtering

Collections

  • Browse and manage your collections
  • Create nested collection structures
  • Move bookmarks between collections

Tags

  • List and search tags
  • Merge or rename tags across your library
  • Clean up tag organization

Advanced

  • Parse metadata from any URL
  • Check if URLs already exist in your library
  • Access and manage highlights

Common Examples

Save a bookmark

"Save this article to my Reading List collection"
https://example.com/article

Search your library

"Find all GitHub repositories I've bookmarked about Python"

Organize tags

"Rename the tag 'js' to 'javascript' across all my bookmarks"

Bulk operations

"List all my bookmarks tagged with #productivity, but only show me the titles and links"

Available Tools

Bookmarks (Raindrops)

  • list-raindrops - List bookmarks from a collection
  • get-raindrop - Get a specific bookmark by ID
  • create-raindrop - Save a new bookmark
  • update-raindrop - Modify an existing bookmark
  • delete-raindrop - Remove a bookmark
  • search-raindrops - Search with advanced syntax

Collections

  • list-collections - Get all collections
  • get-collection - Get collection details
  • create-collection - Create a new collection
  • update-collection - Modify a collection
  • delete-collection - Remove a collection

Tags

  • list-tags - Get all tags with client-side pagination support
  • merge-tags - Merge or rename tags
  • delete-tags - Remove tags

Utilities

  • parse-url - Extract metadata from a URL
  • check-url-exists - Check if URLs are already saved
  • list-highlights - Get highlights from bookmarks

Advanced Usage

Search Operators

Use Raindrop.io's powerful search syntax:

  • #tag - Filter by tag
  • site:example.com - Filter by domain
  • type:article - Filter by type (article, image, video, document, audio)
  • important:true - Only favorites
  • created:>2024-01-01 - Filter by date

Example: #programming site:github.com type:article

Field Filtering

Reduce response size by selecting only the fields you need:

Presets (for raindrops):

  • minimal - Just ID, link, and title
  • basic - Common fields (adds excerpt, tags, created, domain)
  • standard - Most useful fields (adds note, type, cover, lastUpdate, important)

Custom fields:

{
  "fields": ["_id", "title", "link", "tags"]
}

Pagination

For large result sets:

  • page - Page number (starts at 0)
  • perpage - Items per page (max 50, default 25)

Note: The list-tags endpoint implements client-side pagination (fetches all tags from API, then paginates in MCP) since the Raindrop.io API doesn't support server-side pagination for tags. The response includes total, count, and hasMore fields for pagination metadata.

Minimal Responses

Add minimal: true to any create/update/delete operation to just get "ok" back instead of the full response - useful for bulk operations.

Special Collection IDs

  • 0 - All bookmarks (except Trash)
  • -1 - Unsorted bookmarks
  • -99 - Trash

Installation Options

NPX (Recommended)

npx @briansunter/raindrop-mcp

Bunx (Bun users)

bunx @briansunter/raindrop-mcp

Global Install

npm install -g @briansunter/raindrop-mcp

Or with Bun:

bun install -g @briansunter/raindrop-mcp

Local Development

git clone https://github.com/briansunter/raindrop-mcp.git
cd raindrop-mcp
npm install
npm run build

Configuration

Claude Desktop

Edit your Claude Desktop config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%/Claude/claude_desktop_config.json

Using NPX (Node.js):

{
  "mcpServers": {
    "raindrop": {
      "command": "npx",
      "args": ["@briansunter/raindrop-mcp"],
      "env": {
        "RAINDROP_TOKEN": "your-token-here"
      }
    }
  }
}

Using Bunx (Bun):

{
  "mcpServers": {
    "raindrop": {
      "command": "bunx",
      "args": ["@briansunter/raindrop-mcp"],
      "env": {
        "RAINDROP_TOKEN": "your-token-here"
      }
    }
  }
}

Using local installation:

{
  "mcpServers": {
    "raindrop": {
      "command": "node",
      "args": ["/absolute/path/to/raindrop-mcp/dist/index.js"],
      "env": {
        "RAINDROP_TOKEN": "your-token-here"
      }
    }
  }
}

Other MCP Clients

Set the RAINDROP_TOKEN environment variable and run with your preferred package runner:

With NPX:

npx @briansunter/raindrop-mcp

With Bunx:

bunx @briansunter/raindrop-mcp

The server runs on stdio transport and works with any MCP-compatible client.

Troubleshooting

"Incorrect access_token" Error

Your token is invalid. Common fixes:

  1. Get a fresh token from https://app.raindrop.io/settings/integrations
  2. Check for extra spaces - copy/paste carefully
  3. Use a Test Token from the Integrations page, not an app password

Test your token:

curl -H "Authorization: Bearer YOUR_TOKEN" \
  https://api.raindrop.io/rest/v1/user

Valid tokens return your user data. Invalid tokens return a 401 error.

Server Not Appearing in Claude

  1. Restart Claude Desktop completely
  2. Check the config file location is correct
  3. Verify the JSON is valid (no trailing commas, proper quotes)
  4. Check Claude's MCP logs for errors

API Documentation

This server implements the Raindrop.io REST API.

Contributing

See CONTRIBUTING.md for development guidelines.

License

MIT - See LICENSE for details.