About Raindrop.io MCP Server
Raindrop.io MCP Server connects an AI assistant to a Raindrop.io bookmark library. It is for users who want to search, organize, and maintain bookmarks through natural language, with tools for collections, tags, highlights, and bulk operations.
Key features
- 01Create, update, and delete bookmarks and collections
- 02Search by tags, domain, type, and date
- 03Manage tags and bookmark highlights
- 04Bulk-edit bookmarks in a collection
- 05Audit broken links and duplicates
Use cases
- 01Find bookmarks by tag or date
- 02Move or organize bookmarks in bulk
- 03Clean up duplicate or broken links
MCP support
This MCP server exposes Raindrop.io bookmark search and management through tools and resources to MCP clients. It supports stdio and can also serve over HTTP.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMERaindrop.io MCP Server
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)
| Tool | One-Liner Command |
|---|---|
| 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 |
Note: For tools adding an MCP server via
npx, you must have theRAINDROP_ACCESS_TOKENenvironment 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"
}
}
}
}
HTTP
bun run start:http serves /mcp on 127.0.0.1:3002; set HTTP_PORT to
change the port. HTTP tools use the server's RAINDROP_ACCESS_TOKEN. Host and
Origin checks prevent DNS rebinding but do not authenticate callers. For remote
access, place an authenticated reverse proxy in front of the loopback endpoint.
Requirements
- A Raindrop.io account
- A Raindrop.io API Access Token: https://app.raindrop.io/settings/integrations
Support
Release
This repository uses semantic-release as the only supported release flow.
How publishing works
- Releases run from pushes to
mastervia.github/workflows/publish.ymlafter validation passes. - Release runs are serialized; only the release job receives repository write and OIDC permissions.
semantic-releaseanalyzes Conventional Commit messages, computes the next version, updatesCHANGELOG.md, tags/releases on GitHub, and publishes npm.- During release preparation,
.releaserc.jsonsyncsmanifest.json,mcp.json, andgemini-extension.json, then buildsraindrop-mcp.mcpbso the GitHub Release includes the bundle.
Pre-release dry-run
- In GitHub Actions, select Validate and Publish → Run workflow on
master. Leavedry_runenabled to preview a release; disable it to run semantic-release publishing. - This validates semantic version calculation, registry auth, and release pipeline behavior without publishing.
Required secrets
GITHUB_TOKENis provided by GitHub Actions for release automation.
npm trusted publishing
- npm publishing is configured via GitHub Actions OIDC trusted publishing.
- Keep the trusted publisher workflow filename set to
publish.yml, including manual dry runs. NPM_TOKENis not required for the standard CI release path.
Local validation before merge
Use Node 24.15+ and Bun 1.4.3+. The published server requires Node 22.19+.
Vite+ 1.1 manages lint, formatting, type checks, tests, and packaging through
vite.config.ts; Bun remains the package manager.
bun install --frozen-lockfile
bun run check
bun run test
bun run test:coverage
bun run docs
bun run build runs vp pack, preserving build/index.js, build/server.js,
source maps, and bundled dependencies. Tests build first so package checks work
from a clean checkout. bun run dev and bun run dev:http retain Bun's server
watch mode; bunx vp run dev runs the same script. vp dev starts a Vite web
server and is not this MCP server's development command.
The server uses TypeScript 7.0.2. TypeDoc and OpenAPI type generation currently need the TypeScript 6 compiler
API, so tooling/compiler-api keeps its own TypeScript 6.0.3 dependency. Install from the
root; bun run docs still generates the existing documentation.
bun run update:deps refreshes dependencies while keeping coverage aligned with
Vite+'s bundled Vitest 5.0.3. Update those pins together when upgrading Vite+.
The migration removed the generated clearMocks: false setting after the same
61 tests passed with Vitest 5 defaults. Coverage resolves the same 16 files as
Vitest 4; no thresholds or exclusions were relaxed. No tsdown compatibility
settings were needed because the original build used Bun.
The unused Java/Axios generator stack was removed; typed openapi-fetch remains
the shared client. Both current OpenAPI generators tested require the older
TypeScript compiler API: Hey API 0.99.0 fails under TypeScript 7 before CLI help.
The isolated, tested generator avoids changes to authentication, rate limiting
and cache behavior.
Release tooling still pulls braces 3.0.3, affected by
GHSA-vfj7-8cjw-p6xm;
no patched version is published. This dependency is not included in the server
bundle. Do not feed untrusted glob patterns to release tooling.
Breaking changes and reviewed fixes
- Deleting bookmarks, collections, tags or highlights, and bulk removal now
requires
confirm: true. Cleanup tools keep their existing preview flow. - HTTP binds to
127.0.0.1; OAuth callbacks require matching, unexpired, single-use browser state. Remote access requires an authenticated proxy. - Bulk moves/updates/removals use the source collection's API endpoint.
Bookmark updates preserve
collectionId; omit URL/title when changing only other fields. Collection0means All and cannot be used for bulk mutations;-1means Unsorted. - Tags use upstream search operators, preserving pagination and total counts. Collection paths no longer depend on API ordering; mutations invalidate affected bookmark, search and collection-count caches.
- Permanent upstream errors are not retried. Resource templates use the MCP SDK; unsupported resource subscriptions are no longer advertised.
- MCPB packages contain bundled runtime code rather than development dependencies. Environment files, logs and local Codex state are excluded.
These fixes address the substance of PR #52 and issues #54/#55. Older SDK v1/Zod 3 migrations are superseded by this SDK v2 setup. Framework replacement was unnecessary: existing SDK APIs and shared service helpers eliminated redundant code. Live Raindrop mutations and OAuth provider login remain manual validation steps.
Commit message examples
fix: handle empty tag merge payloadfeat: add collection path filterfeat!: 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_suggestionstool provides organizational advice using Raindrop's API and MCP Sampling. - Collection Tree:
get_collection_treetool provides a hierarchical view with full breadcrumb paths. - Bulk Move: Added
moveoperation tobulk_edit_raindropsfor efficient library organization. - Pagination Support: Standardized
list_raindropsandbookmark_searchwith 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
resourcecontent 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}andmcp://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.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.