reMarkable MCP Server (Read/Write)

io.github.praveensehgalPublished by GitHub account praveensehgalv0.2.3Updated Oct 24, 2026

Read, write, and manage your reMarkable tablet — browse, upload, create folders, move, delete, OCR

VerifiedSTDIODesktop onlyFiles & StorageKnowledge & Memory

Overview

AI-generated overview

A local MCP server that lets an AI assistant browse, read, search, OCR, upload, move and delete documents on a reMarkable tablet.

What you can do
Browse, search and list documents: navigate folders, filter by tags, find recently modified files and check connection status, with content search across multiple documents and grep within a document. Read and extract text: pull typed text, PDF and EPUB content, and page images as PNG or SVG. Convert handwriting: OCR handwritten notes through client sampling, Google Vision or Tesseract. Manage the library: upload PDFs or EPUBs, create nested folders, move or rename items, and delete documents or folders. Expose documents as MCP resources for text, raw PDF/EPUB and page images.
When to use it
Useful when you keep notes, research or journals on a reMarkable tablet and want an assistant to read, search or summarize them, including handwritten pages, or to file uploads and reorganize the library. Best for personal knowledge workflows such as pairing notes with Obsidian.
Requirements
Runs locally as a Python package (uvx) over stdio on desktop. Needs a reachable reMarkable tablet: USB web interface enabled, SSH mode with developer mode, or Cloud mode with a reMarkable Connect subscription and a registered token. SSH mode uses REMARKABLE_SSH_HOST and the REMARKABLE_SSH_PASSWORD secret. Optional Google Vision OCR needs GOOGLE_VISION_API_KEY.
Before you install
The server can write to the tablet: upload, create folders, move, rename and delete, and delete is destructive. SSH mode requires developer mode, which the README says involves a factory reset. The SSH password is a device credential; keep it out of shared configs. Google Vision OCR sends page images to a paid third-party service after the free monthly quota. Cloud mode needs a subscription.

Installation

In SourceWeft

  1. Open reMarkable MCP Server (Read/Write) in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

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.

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
📋 Manual USB Web Configuration

Add to .vscode/mcp.json:

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

⚡ 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

📋 Manual SSH Configuration

Add to .vscode/mcp.json:

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

See SSH Setup Guide for detailed instructions.


☁️ 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.

📋 Cloud Mode Setup
1. Get a One-Time Code

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

2. Convert to Token
bash
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:

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}"      }    }  }}


Connection Modes

Choose the connection method that works best for you:

ModeSetup DifficultySpeedRequirementsBest For
🔌 USB Web (Recommended)✅ EasyFastUSB cable, enable in Storage SettingsEveryone
⚡ SSH⚠️ AdvancedVery FastDeveloper mode, USB connectionPower users
☁️ Cloud✅ EasySlowreMarkable Connect subscriptionRemote/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:

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

Install from ClawHub:

bash
clawhub install remarkable-mcp

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


Tools

ToolDescription
remarkable_readRead and extract text from documents (with pagination and search)
remarkable_browseNavigate folders, search by document name, or filter by tags
remarkable_searchSearch content across multiple documents (with tag filtering)
remarkable_recentGet recently modified documents
remarkable_statusCheck connection status
remarkable_imageGet PNG/SVG images of pages (supports OCR via sampling)
remarkable_uploadUpload a PDF or EPUB file to a folder on the tablet
remarkable_mkdirCreate folders with nested path support (mkdir -p)
remarkable_deleteDelete a document or folder (destructive)
remarkable_moveMove 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:

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

python
# Read a documentremarkable_read("Meeting Notes")
# Search for keywordsremarkable_read("Project Plan", grep="deadline")
# Enable OCR for handwritten notesremarkable_read("Journal", include_ocr=True)
# Browse your libraryremarkable_browse("/Work/Projects")
# Filter by tagsremarkable_browse("/", tags=["important"])remarkable_browse("/Work", tags=["project", "active"])
# Search across documentsremarkable_search("meeting", grep="action items")
# Search with tag filterremarkable_search("project", tags=["work"])
# Get recent documentsremarkable_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 toolsremarkable_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 compositingremarkable_image("Logo Sketch", background="#00000000")
# Compatibility mode: return resource URI instead of embedded resourceremarkable_image("Diagram", compatibility=True)

Resources

Documents are automatically registered as MCP resources:

URI SchemeDescription
remarkable:///{path}.txtExtracted text content
remarkableraw:///{path}.pdfOriginal PDF file (SSH only)
remarkableraw:///{path}.epubOriginal EPUB file (SSH only)
remarkableimg:///{path}.page-{N}.pngPNG image of page N (notebooks only)
remarkablesvg:///{path}.page-{N}.svgSVG 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:

BackendSetupQualityOfflineBest For
SamplingNo API keyDepends on client model✅Users with capable AI clients
Google VisionAPI keyExcellent❌Best handwriting accuracy
TesseractSystem installPoor for handwriting✅Printed text, offline fallback

Quick Setup

Set REMARKABLE_OCR_BACKEND in your MCP config:

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

Options: sampling, google, tesseract, auto

📖 Sampling OCR (No API Key)

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
📖 Google Cloud Vision

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

📖 Tesseract (Fallback)

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

bash
# Install Tesseract# macOSbrew install tesseract
# Ubuntu/Debiansudo apt install tesseract-ocr
# Windowschoco install tesseract

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

FeatureSSH ModeCloud API
Speed⚡ 10-100x fasterSlower
Offline✅ Yes❌ No
Subscription✅ Not required❌ Connect required
Raw files✅ PDFs, EPUBs❌ Not available
SetupDeveloper modeOne-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:

json
{  "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:

json
{  "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

GuideDescription
SSH SetupEnable developer mode and configure SSH
Google Vision SetupSet up handwriting OCR
Tools ReferenceDetailed tool documentation
Resources ReferenceMCP resources documentation
Capability NegotiationMCP protocol capabilities
DevelopmentContributing and development setup
Future PlansRoadmap and planned features

Development

bash
git clone https://github.com/SamMorrowDrums/remarkable-mcp.gitcd remarkable-mcpuv sync --all-extrasuv run pytest test_server.py -v

📖 Development Guide


License

MIT


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

Source: README.md at commit d385834

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.2.3LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts