Skip to main content
Glama
sachin-philip

Raindrop.io MCP Server

🌧️ Raindrop.io MCP Server

Smithery Badge

Overview

Raindrop.io is an all-in-one bookmark manager. This MCP server integration lets you manage your bookmarks programmatically—add, search, and organize your favorite links right from your LLM apps.


Related MCP server: Raindrop.io MCP Server

✨ Features

  • Add a bookmark (with tags, description, collection)

  • Get latest bookmarks

  • Search bookmarks by tag

  • Search bookmarks by keyword/text


🚀 Quickstart

Prerequisites

  • Python 3.11

  • UV package manager

curl -LsSf https://astral.sh/uv/install.sh | sh
uv activate && uv install

MCP Server Configuration

  1. Grab an API token from Raindrop.io Developer Portal

  2. Add the following to your MCP config:

{
  "mcpServers": {
    "Raindrop": {
      "command": "uv",
      "args": [
        "--directory",
        "<location to project clone>",
        "run",
        "raindrop.py"
      ],
      "env": {
        "RAINDROP_TOKEN": "<your_raindrop_token>"
      }
    }
  }
}
  1. Restart your LLM app (Claude, Cursor, etc.)


📦 Install via Smithery

Install automatically for Claude Desktop:

npx -y @smithery/cli install @sachin-philip/raindrop-io-mcp --client claude

🛠️ Supported Commands

  • Add a bookmark (with tags, description, collection)

  • Get latest bookmarks

  • Search bookmarks by tag

  • Search bookmarks by keyword/text

... More to follow

📝 License

MIT


🙌 Credits

Built by Sachin Philip

Available Tools

4 tools
add_bookmarkA

Add a new bookmark to Raindrop.io

Args:
    url: The URL to bookmark (required)
    title: Title for the bookmark (optional, will be extracted from URL if not provided)
    description: Description/excerpt for the bookmark (optional)
    tags: List of tags to apply to the bookmark (optional)
    collection_id: ID of the collection to add the bookmark to (default: 0 for Unsorted)
ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes
titleNo
descriptionNo
tagsNo
collection_idNo

TDQS

A3.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. Describes parameters but omits important behavioral traits like error handling, duplicate handling, rate limits, or idempotency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Efficient docstring format with clear one-line summary followed by structured Args list. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers parameter semantics well but lacks behavioral context (return value, errors, edge cases) and no output schema to supplement. Adequate but not complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema coverage, description fully compensates by explaining each parameter's purpose, optionality, and default behavior (e.g., title extracted from URL if not provided, collection_id default 0).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states verb 'Add' and resource 'bookmark' with platform 'Raindrop.io'. Distinct from sibling tools which are for searching or getting feed.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when-to-use or when-not-to-use guidance. Usage is implied by the action name, but lacks direct comparison to alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_latest_feedA

Get latest bookmarks from Raindrop.io feed.

Args:
    count: Number of bookmarks to fetch (default: 10)
ParametersJSON Schema
NameRequiredDescriptionDefault
countNo

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description implies a read-only operation through 'Get', but does not explicitly state it is non-destructive or mention any permissions or side effects. Annotations are absent, so more explicit transparency would be beneficial.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise with one sentence and a structured parameter list. No unnecessary words, but it could include a bit more context without being verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description does not explain the return format or error cases. It covers the basic purpose and parameter but lacks completeness for a tool that returns data.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description explains the 'count' parameter as 'Number of bookmarks to fetch' and notes the default value, adding value beyond the schema which only defines type and default. Since there is only one parameter, this coverage is good.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Get latest bookmarks from Raindrop.io feed.' The verb 'Get' and resource 'latest bookmarks' are specific, and it is distinct from siblings like add_bookmark or search_bookmarks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives. It does not mention when not to use it, or provide context for choosing between siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_bookmarksA

Search for bookmarks by keyword/text in Raindrop.io with optional date range filtering

Args:
    query: The search term to look for in bookmarks (required)
    collection_id: ID of the collection to search in (default: 0 for all collections)
    count: Maximum number of bookmarks to return (default: 10)
    from_date: Start date in YYYY-MM-DD format (optional)
    to_date: End date in YYYY-MM-DD format (optional)
ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
collection_idNo
countNo
from_dateNo
to_dateNo

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. It mentions defaults for collection_id and count and date format, but does not cover pagination, ordering, or behavior when no results are found.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is structured with an Args block but is somewhat verbose. It could be more concise while retaining clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema is provided, and the description does not hint at the return format (e.g., list of bookmark objects). Missing information about ordering or result structure makes it incomplete for a search tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description adds significant value by explaining each parameter's purpose, defaults, and date format. It compensates well for the lacking schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool searches for bookmarks by keyword/text with optional date range filtering. It specifies the resource (bookmarks) and action (search), distinguishing it from siblings like search_by_tag which searches by tag.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for keyword/text search but does not explicitly state when to use this tool versus alternatives like search_by_tag or add_bookmark. No when-not or exclusions are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_by_tagB

Search for bookmarks with a specific tag in Raindrop.io with optional date range filtering

Args:
    tag: The tag to search for (required)
    collection_id: ID of the collection to search in (default: 0 for all collections)
    count: Maximum number of bookmarks to return (default: 10)
    from_date: Start date in YYYY-MM-DD format (optional)
    to_date: End date in YYYY-MM-DD format (optional)
ParametersJSON Schema
NameRequiredDescriptionDefault
tagYes
collection_idNo
countNo
from_dateNo
to_dateNo

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description must carry the burden. It describes parameters but does not disclose whether the tool is read-only, destructive, or has rate limits. The return behavior is not mentioned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with a clear header followed by a bulleted list of arguments. No unnecessary words or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Input parameters are adequately described with defaults and format hints, but the absence of output schema means return values are not explained. Adequate for a 5-parameter tool with no nested objects.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema coverage, the description adds some value by clarifying defaults and date formats (e.g., 'YYYY-MM-DD'), but does not provide deep meaning beyond the schema for all 5 parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool searches for bookmarks by tag with optional date range filtering, which is a specific verb-resource combination that distinguishes it from sibling tools like 'search_bookmarks'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives (e.g., 'search_bookmarks' for full-text search). It does not specify exclusions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updatesv0.1.0
    • First observedadd_bookmark
    • First observedget_latest_feed
    • First observedsearch_bookmarks
    • First observedsearch_by_tag

TDQS

A3.6/5.0

Scored across 4 tools

Disambiguation5/5

Each tool has a distinct purpose: adding a bookmark, retrieving recent feed, searching by keyword, and searching by tag. No overlap or ambiguity.

Naming Consistency5/5

All tool names follow a consistent verb_noun snake_case pattern (add_bookmark, get_latest_feed, search_bookmarks, search_by_tag), making them predictable and easy to understand.

Tool Count4/5

With 4 tools, the server is scoped to essential bookmarking operations: add, feed, and search. This is slightly minimal but still reasonable for a basic integration.

Completeness2/5

The tool set lacks update/delete functionality and any way to list bookmarks beyond the feed or search. There is no tool for managing collections, leaving notable gaps for full CRUD operations.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to access and manage Raindrop.io bookmarks, collections, tags, and highlights through the Model Context Protocol. Supports CRUD operations, advanced search, file uploads, and bulk editing of bookmarks.
    37 npm
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables language models to access and manage Raindrop.io bookmarks, collections, tags, and highlights through the Model Context Protocol.
    15 npm
    MIT
  • A
    license
    B
    quality
    A
    maintenance
    Exposes the Raindrop.io API as Claude tools for managing bookmarks, collections, tags, and bulk operations, with proper collection move support.
    19
    1
    MIT