reMarkable MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| REMARKABLE_TOKEN | No | reMarkable API token (required for cloud mode) | |
| REMARKABLE_CACHE_DIR | No | Directory for cached blobs (default ~/.remarkable/cache/blobs) | |
| REMARKABLE_READ_ONLY | No | Set to '1' to run in read-only mode (disables write tools) | |
| REMARKABLE_ROOT_PATH | No | Limit server to a specific folder on the tablet | |
| GOOGLE_VISION_API_KEY | No | Google Vision API key for handwriting OCR (recommended) | |
| REMARKABLE_OCR_BACKEND | No | OCR backend: 'sampling', 'google', 'tesseract', or 'auto' | |
| REMARKABLE_RETRY_DELAY | No | Base delay in seconds for retry backoff (default 2.0) | |
| REMARKABLE_SKIP_CONFIRM | No | Set to '1' to skip delete confirmation prompts | |
| REMARKABLE_SYNC_WORKERS | No | Parallel workers for cloud fetches (default 16, max 64) | |
| REMARKABLE_DISABLE_CACHE | No | Set to '1' to disable the on-disk blob cache | |
| REMARKABLE_CACHE_MAX_BLOB | No | Maximum blob size in bytes to cache (default 4194304) | |
| REMARKABLE_RETRY_ATTEMPTS | No | Maximum number of request retries (default 3) | |
| REMARKABLE_BACKGROUND_COLOR | No | Default background color for page images (e.g., '#FFFFFF') | |
| REMARKABLE_DISABLE_CLOUD_FALLBACK | No | Set to '1' to disable automatic cloud fallback |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| completions | {} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| remarkable_readA | Read and extract text content from a reMarkable document. Extracts content from a document with pagination to preserve context window. Content types:
Use pagination to read large documents without overwhelming context:
Use grep to search for specific content on the current page. OCR uses Google Vision when configured, otherwise Tesseract.
|
| remarkable_browseA | Browse your reMarkable library or search for documents. Three modes:
Results include document names, types, modification dates, and tags. Note: If REMARKABLE_ROOT_PATH is configured, only documents within that folder are accessible. Paths are relative to the root path.
|
| remarkable_recentA | Get your most recently modified documents. Returns documents sorted by modification date (newest first). Optionally includes a text preview of each document's content. Use this to quickly find what you were working on recently. Note: If REMARKABLE_ROOT_PATH is configured, only documents within that folder are included.
|
| remarkable_searchA | Search across multiple documents and return matching content. Searches document names for the query, then optionally searches content with grep. Can filter by tags to narrow results. Returns summaries from multiple documents in a single call. This is efficient for finding information across your library without making many individual tool calls. Limits:
|
| remarkable_statusA | Check connection status, active transport, and write capabilities. Returns authentication status, the active transport (cloud, local-dir, ssh, or usb-web), the document count, and a capability matrix describing what each transport can do. Use this to verify your connection, choose a transport, or troubleshoot. Capability notes:
|
| remarkable_imageA | Get an image of a specific page from a reMarkable document. Renders a notebook or document page as an image (PNG or SVG). This is useful for:
Merged PDF + Annotation RenderingPNG pages backed by an imported PDF automatically composite the PDF page with its reMarkable annotations. Set render_merged=False for an annotation-only render, or True to explicitly request compositing. SVG remains annotation-only. Response FormatsBy default, images are returned as embedded resources (EmbeddedResource) which include the full image data inline:
If your client doesn't support embedded resources in tool responses, set compatibility=True to receive a JSON response with just the resource URI. The client can then fetch the resource separately. Optionally, enable include_ocr=True to extract text from the image using OCR. Google Vision is used when configured; otherwise OCR runs locally with Tesseract. Note: Native notebooks retain their existing stroke rendering behavior. If older USB firmware returns only a native PDF export, PNG remains available; SVG and explicit annotation-only rendering require an rmdoc archive and return a clear error when it is unavailable.
|
| remarkable_exportA | Export one reMarkable document as a reusable PDF or Markdown file. Exports a single document without modifying the tablet or its library. The generated file is written to a server-managed temporary directory and returned as an MCP ResourceLink. The tool response stays small: it never embeds the PDF/Markdown as base64 and never writes to an arbitrary host path. The resource expires after 15 minutes and may be evicted earlier when more than eight exports are retained. Fetch and save the linked resource for durable use. PDF behavior:
Markdown behavior:
|
| remarkable_uploadA | Upload a PDF or EPUB file to the reMarkable tablet. Uploads a local file to the tablet. Only PDF and EPUB formats are supported. Works in all three transports:
Requires write mode (the default; disabled with --read-only).
|
| remarkable_markdown_to_pdfA | Render Markdown text as a PDF and upload it to the reMarkable tablet. Use this when the user wants notes, reports, summaries, or other Markdown content written back to the tablet without first creating a local file. Headings, lists, tables, links, blockquotes, and code blocks are rendered into a paginated A4 PDF. Raw HTML is escaped and image assets are omitted so rendering never reads local files or fetches remote content. Works in all three transports:
Requires write mode (the default; disabled with --read-only).
|
| remarkable_mkdirA | Create a new folder on the reMarkable tablet. Creates a folder in the tablet's document hierarchy. In SSH mode the folder appears after xochitl restarts; in cloud mode it syncs to all your devices. Works in cloud and SSH modes (default; --read-only disables). Not available over the USB web interface (the firmware exposes no folder-create endpoint).
|
| remarkable_moveA | Move a document or folder to a different location. Moves a document or folder by updating its parent reference in the metadata. Find the document name with remarkable_browse() first. Works in cloud and SSH modes (default; --read-only disables). Not available over the USB web interface.
|
| remarkable_renameA | Rename a document or folder on the reMarkable tablet. Changes the display name of a document or folder by updating its metadata. Find the document name with remarkable_browse() first. Works in cloud and SSH modes (default; --read-only disables). Not available over the USB web interface.
|
| remarkable_deleteA | Delete a document or folder on the reMarkable tablet. DESTRUCTIVE operation. By default the item is moved to the tablet's Trash and remains recoverable. In SSH mode only, permanent=True removes the resolved UUID and all sidecar files instead; use that only when the user explicitly asked for permanent deletion. Works in cloud and SSH modes (default; --read-only disables). Not available over the USB web interface. If the client supports elicitation, this tool asks the user to confirm before deleting. If the client cannot show a confirmation prompt, the delete is refused unless REMARKABLE_SKIP_CONFIRM=1 is set (for headless automation).
|
| remarkable_canvasA | Open a reMarkable page in an interactive canvas viewer. Renders a notebook or document page and, in clients that support MCP Apps interactive UI, opens a canvas viewer that lets the user page through the document. This is the entry point for the interactive viewer. The canvas is currently a read-only viewer (render + page navigation). For plain image extraction without the interactive surface, use remarkable_image instead. Clients that do not support MCP Apps still get the rendered page back as an embedded PNG image, so this tool is useful everywhere; it just won't open the interactive panel.
|
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| summarize_recent | Get an AI summary of your recent reMarkable notes |
| find_notes | Search your reMarkable tablet for notes on a specific topic |
| daily_review | Review what you worked on today in your reMarkable tablet |
| export_document | Extract and format content from a specific document |
| organize_library | Get suggestions for organizing your reMarkable library |
| meeting_notes | Find and extract meeting notes from your reMarkable |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| remarkable_canvas_ui | HTML for the reMarkable interactive canvas app (MCP Apps surface). |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/SamMorrowDrums/remarkable-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server