io.github.praveensehgal/remarkable

io.github.praveensehgal/remarkable

MCP server that connects AI assistants to your reMarkable tablet, enabling reading, searching, and traversing handwritten and typed notes via OCR.

Category
Visit Server

README

reMarkable MCP Server

Unlock the full potential of your reMarkable tablet as a second brain for AI assistants. This MCP server lets Claude, VS Code Copilot, and other AI tools read, search, and traverse your entire reMarkable library — including handwritten notes via OCR.

<!-- mcp-name: io.github.praveensehgal/remarkable -->

Why remarkable-mcp?

Your reMarkable tablet is a powerful tool for thinking, note-taking, and research. But that knowledge stays trapped on the device. This MCP server changes that:

  • Full library access — Browse folders, search documents, read any file
  • Typed text extraction — Native support for Type Folio and typed annotations
  • Handwriting OCR — Convert handwritten notes to searchable text
  • PDF & EPUB support — Extract text from documents, plus your annotations
  • Smart search — Find content across your entire library
  • Second brain integration — Use with Obsidian, note-taking apps, or any AI workflow

Whether you're researching, writing, or developing ideas, remarkable-mcp lets you leverage everything on your reMarkable through AI.


Quick Install

🔌 USB Web Interface (Recommended)

Connect via USB and enable the web interface in your tablet's Storage Settings.

Install USB Web Mode in VS Code Install USB Web Mode in VS Code Insiders

Setup:

  1. Connect your reMarkable via USB
  2. On your tablet: Settings → Storage → Enable "USB web interface"
  3. Install via the button above

Why USB Web?

  • ✅ Fast offline access over USB
  • ✅ No subscription required
  • ✅ Simple — just enable in Storage Settings

<details> <summary>📋 Manual USB Web Configuration</summary>

Add to .vscode/mcp.json:

{
  "servers": {
    "remarkable": {
      "command": "uvx",
      "args": ["remarkable-mcp", "--usb"],
      "env": {
        "GOOGLE_VISION_API_KEY": "your-api-key"
      }
    }
  }
}

Troubleshooting:

  • Make sure your reMarkable is connected via USB and unlocked
  • Verify USB web interface is enabled in Settings → Storage
  • The tablet should be accessible at http://10.11.99.1

</details>


⚡ SSH Mode (Advanced)

For power users who need direct filesystem access. Faster than USB Web but requires developer mode (factory reset).

Install SSH Mode in VS Code Install SSH Mode in VS Code Insiders

Requirements: Developer mode enabled + USB connection to your reMarkable

<details> <summary>📋 Manual SSH Configuration</summary>

Add to .vscode/mcp.json:

{
  "servers": {
    "remarkable": {
      "command": "uvx",
      "args": ["remarkable-mcp", "--ssh"],
      "env": {
        "GOOGLE_VISION_API_KEY": "your-api-key"
      }
    }
  }
}

See SSH Setup Guide for detailed instructions.

</details>


☁️ Cloud Mode (Wireless)

For wireless or remote access when USB isn't available. Requires a reMarkable Connect subscription and is significantly slower than USB modes.

<details> <summary>📋 Cloud Mode Setup</summary>

1. Get a One-Time Code

Go to my.remarkable.com/device/desktop/connect and generate a code.

2. Convert to Token

uvx remarkable-mcp --register YOUR_CODE

3. Install

Install Cloud Mode in VS Code Install Cloud Mode in VS Code Insiders

Or configure manually in .vscode/mcp.json:

{
  "inputs": [
    {
      "type": "promptString",
      "id": "remarkable-token",
      "description": "reMarkable API Token",
      "password": true
    },
    {
      "type": "promptString",
      "id": "google-vision-key",
      "description": "Google Vision API Key",
      "password": true
    }
  ],
  "servers": {
    "remarkable": {
      "command": "uvx",
      "args": ["remarkable-mcp"],
      "env": {
        "REMARKABLE_TOKEN": "${input:remarkable-token}",
        "GOOGLE_VISION_API_KEY": "${input:google-vision-key}"
      }
    }
  }
}

</details>


<!-- Screenshots section - uncomment when screenshots are added

Screenshots

MCP Resources

Documents appear as resources that AI assistants can access directly:

Resources in VS Code

Tool Calls in Action

AI assistants use the tools to read documents, search content, and more:

Tool calls in VS Code -->


Connection Modes

Choose the connection method that works best for you:

Mode Setup Difficulty Speed Requirements Best For
🔌 USB Web (Recommended) ✅ Easy Fast USB cable, enable in Storage Settings Everyone
⚡ SSH ⚠️ Advanced Very Fast Developer mode, USB connection Power users
☁️ Cloud ✅ Easy Slow reMarkable Connect subscription Remote/wireless access

📖 Detailed Setup Guides:

  • USB Web Interface Setup — Recommended — simple setup, full feature support
  • SSH Setup Guide — For advanced users who need filesystem access
  • Cloud setup is documented in the Quick Install section above

OpenClaw Integration

remarkable-mcp works as an OpenClaw skill. Add to your openclaw.json:

{
  "mcpServers": {
    "remarkable": {
      "command": "uvx",
      "args": ["remarkable-mcp", "--usb"]
    }
  }
}

Install from ClawHub:

clawhub install remarkable-mcp

Or copy the SKILL.md from this repository into your ~/.openclaw/skills/remarkable-mcp/ directory.


Tools

Tool Description
remarkable_read Read and extract text from documents (with pagination and search)
remarkable_browse Navigate folders, search by document name, or filter by tags
remarkable_search Search content across multiple documents (with tag filtering)
remarkable_recent Get recently modified documents
remarkable_status Check connection status
remarkable_image Get PNG/SVG images of pages (supports OCR via sampling)
remarkable_upload Upload a PDF or EPUB file to a folder on the tablet
remarkable_mkdir Create folders with nested path support (mkdir -p)
remarkable_delete Delete a document or folder (destructive)
remarkable_move Move or rename documents and folders

All tools return structured JSON with hints for next actions.

📖 Full Tools Documentation

Claude Code Integration

Add to your ~/.claude/settings.json:

{
  "mcpServers": {
    "remarkable": {
      "command": "uvx",
      "args": ["remarkable-mcp-rw", "--wifi"],
      "env": {
        "REMARKABLE_HOST": "http://YOUR_TABLET_IP"
      }
    }
  }
}

WiFi Setup

  1. On your reMarkable: Settings → Storage → Enable "USB web interface"
  2. Find your tablet's IP: Settings → General → About → IP address
  3. Set REMARKABLE_HOST to http://YOUR_IP in the config above
  4. The USB web interface works over both USB and WiFi on the same network

Smart Features

  • Auto-redirect — Browsing a document path returns its content automatically
  • Auto-OCR — Notebooks with no typed text automatically enable OCR
  • Batch search — Search across multiple documents in one call
  • Vision support — Get page images for visual context (diagrams, mockups, sketches)
  • Sampling OCR — Use client's AI for OCR on images (no API key needed)
  • Tag support — Filter and organize documents by tags

Example Usage

# Read a document
remarkable_read("Meeting Notes")

# Search for keywords
remarkable_read("Project Plan", grep="deadline")

# Enable OCR for handwritten notes
remarkable_read("Journal", include_ocr=True)

# Browse your library
remarkable_browse("/Work/Projects")

# Filter by tags
remarkable_browse("/", tags=["important"])
remarkable_browse("/Work", tags=["project", "active"])

# Search across documents
remarkable_search("meeting", grep="action items")

# Search with tag filter
remarkable_search("project", tags=["work"])

# Get recent documents
remarkable_recent(limit=10)

# Get a page image (for visual content like UI mockups or diagrams)
remarkable_image("UI Mockup", page=1)

# Get SVG for editing in design tools
remarkable_image("Wireframe", output_format="svg")

# Get image with OCR text extraction (uses sampling if configured)
remarkable_image("Handwritten Notes", include_ocr=True)

# Transparent background for compositing
remarkable_image("Logo Sketch", background="#00000000")

# Compatibility mode: return resource URI instead of embedded resource
remarkable_image("Diagram", compatibility=True)

Resources

Documents are automatically registered as MCP resources:

URI Scheme Description
remarkable:///{path}.txt Extracted text content
remarkableraw:///{path}.pdf Original PDF file (SSH only)
remarkableraw:///{path}.epub Original EPUB file (SSH only)
remarkableimg:///{path}.page-{N}.png PNG image of page N (notebooks only)
remarkablesvg:///{path}.page-{N}.svg SVG vector image of page N (notebooks only)

📖 Full Resources Documentation


OCR for Handwriting

For handwritten content, remarkable-mcp offers several OCR backends. Choose based on your setup and requirements:

Backend Setup Quality Offline Best For
Sampling No API key Depends on client model ✅ Users with capable AI clients
Google Vision API key Excellent ❌ Best handwriting accuracy
Tesseract System install Poor for handwriting ✅ Printed text, offline fallback

Quick Setup

Set REMARKABLE_OCR_BACKEND in your MCP config:

{
  "env": {
    "REMARKABLE_OCR_BACKEND": "sampling"
  }
}

Options: sampling, google, tesseract, auto

<details> <summary>📖 Sampling OCR (No API Key)</summary>

Uses your MCP client's AI model for OCR. Works with clients that support MCP sampling (VS Code + Copilot, Claude Desktop, etc.).

Pros:

  • No additional API keys needed
  • Quality depends on your client's model (GPT-4, Claude, etc.)
  • Private — handwriting stays local to your client

Cons:

  • Only available with sampling-capable clients
  • Falls back to Google Vision (if API key configured) or Tesseract if sampling unavailable

</details>

<details> <summary>📖 Google Cloud Vision</summary>

Provides consistently excellent handwriting recognition.

Setup:

  1. Enable Cloud Vision API
  2. Create an API key
  3. Add to config: "GOOGLE_VISION_API_KEY": "your-key"

Cost: 1,000 free requests/month, then ~$1.50 per 1,000.

📖 Full Google Vision Setup Guide

</details>

<details> <summary>📖 Tesseract (Fallback)</summary>

Open-source OCR designed for printed text. Poor results with handwriting, but useful as an offline fallback.

# Install Tesseract
# macOS
brew install tesseract

# Ubuntu/Debian
sudo apt install tesseract-ocr

# Windows
choco install tesseract

</details>

Default Behavior (auto)

When REMARKABLE_OCR_BACKEND=auto (default):

  1. Google Vision (if GOOGLE_VISION_API_KEY is set)
  2. Tesseract (fallback)

SSH vs Cloud Comparison

Feature SSH Mode Cloud API
Speed ⚡ 10-100x faster Slower
Offline ✅ Yes ❌ No
Subscription ✅ Not required ❌ Connect required
Raw files ✅ PDFs, EPUBs ❌ Not available
Setup Developer mode One-time code

📖 SSH Setup Guide


Advanced Configuration

Root Path Filtering

Limit the MCP server to a specific folder on your reMarkable. All operations will be scoped to this folder:

{
  "servers": {
    "remarkable": {
      "command": "uvx",
      "args": ["remarkable-mcp", "--ssh"],
      "env": {
        "REMARKABLE_ROOT_PATH": "/Work",
        "GOOGLE_VISION_API_KEY": "your-api-key"
      }
    }
  }
}

With this configuration:

  • remarkable_browse("/") shows contents of /Work
  • remarkable_browse("/Projects") shows /Work/Projects
  • Documents outside /Work are not accessible

Useful for:

  • Focusing on work documents during office hours
  • Separating personal and professional notes
  • Limiting scope for specific AI workflows

Custom Background Color

Set the default background color for image rendering:

{
  "servers": {
    "remarkable": {
      "command": "uvx",
      "args": ["remarkable-mcp", "--ssh"],
      "env": {
        "REMARKABLE_BACKGROUND_COLOR": "#FFFFFF"
      }
    }
  }
}

Supported formats:

  • #RRGGBB — RGB hex (e.g., #FFFFFF for white)
  • #RRGGBBAA — RGBA hex (e.g., #00000000 for transparent)

Default is #FBFBFB (reMarkable paper color). This affects both the remarkable_image tool and image resources.


Use Cases

Research & Writing

Use remarkable-mcp while working in an Obsidian vault or similar to transfer knowledge from your handwritten notes into structured documents. AI can read your research notes and help develop your ideas.

Daily Review

Ask your AI assistant to summarize your recent notes, find action items, or identify patterns across your journal entries.

Document Search

Find that half-remembered note by searching across your entire library — including handwritten content.

Knowledge Management

Treat your reMarkable as a second brain that AI can access. Combined with tools like Obsidian, you can build a powerful personal knowledge system.


Documentation

Guide Description
SSH Setup Enable developer mode and configure SSH
Google Vision Setup Set up handwriting OCR
Tools Reference Detailed tool documentation
Resources Reference MCP resources documentation
Capability Negotiation MCP protocol capabilities
Development Contributing and development setup
Future Plans Roadmap and planned features

Development

git clone https://github.com/SamMorrowDrums/remarkable-mcp.git
cd remarkable-mcp
uv sync --all-extras
uv run pytest test_server.py -v

📖 Development Guide


License

MIT


Built with rmscene, PyMuPDF, and inspiration from ddvk/rmapi.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured