Skip to main content
Glama
lukaisailovic

remarkable-mcp

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PORTNoAlternate setting for the HTTP port.8080
MCP_HTTPNoSet to '1' to enable Streamable HTTP mode instead of stdio.off
MCP_HTTP_HOSTNoBind address for the HTTP server.127.0.0.1
MCP_HTTP_PORTNoHTTP port for the server.8080
REMARKABLE_KEYNoPath to a private key (or PEM content) for SSH authentication. If unset, ~/.ssh/id_ed25519 then id_rsa are tried.
REMARKABLE_FAKENoSet to '1' to use an in-memory fake tablet (for testing).off
REMARKABLE_HOSTNoSSH host of the reMarkable tablet.10.11.99.1
REMARKABLE_PORTNoSSH port.22
REMARKABLE_USERNoSSH user.root
REMARKABLE_FAKE_DIRNoLocal directory treated as a xochitl tree when using fake mode.
REMARKABLE_PASSWORDNoSSH password for the tablet.

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

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
remarkable_executeA

Run JavaScript against the reMarkable API (SSH tablet or rmfakecloud).

declare const rme: { list(args): Promise; // List notebooks, PDFs, EPUBs, and folders. Trash is hidden unless includeTrash is true. browse(args): Promise; // Browse one folder path (default /). Opening a notebook returns that item. search(args): Promise; // Search by notebook name or path, optionally filtered by tag. info(args): Promise; // Notebook/folder/PDF info. Notebooks include pages[].title from the first typed line. read(args): Promise; // Read a notebook page (native paragraphs + checkbox state). Omit page to read every page. PDFs/EPUBs return extracted text. download(args): Promise; // Download the raw PDF or EPUB as base64. exportPage(args): Promise; // Render ink on a notebook page to PNG or SVG (base64). Does not render typed text. upload(args): Promise; // Upload a PDF or EPUB (base64) into a folder. mkdir(args): Promise; // Create a folder. move(args): Promise; // Move a notebook or folder into another folder (folder: "/" for root). rename(args): Promise; // Rename a notebook or folder. remove(args): Promise; // Move a notebook or folder to trash. createNotebook(args): Promise; // Create a blank notebook with one page. addPage(args): Promise; // Append (or insert after N) a blank notebook page. Returns the new 1-based page number. removePage(args): Promise; // Delete a 1-based notebook page. writeInk(args): Promise; // Append pen/highlighter strokes to a page. Points are [x,y] in 0–1 from the top-left. writeMermaid(args): Promise; // Draw a Mermaid diagram as ink (flowchart, sequence, state, class, ER, xychart). Renders to SVG then strokes. pie/gantt/etc. error. writeText(args): Promise; // Append native Type Folio text to a notebook page (default: last page). style: title (big), heading, body (small), bullet, checkbox. checked:true ticks a checkbox. blocks: mixed styles in one call. replace:true overwrites typed text (ink stays). newPage:true adds a blank page first. Repeated calls stack as new paragraphs. tag(args): Promise; // Add or remove a notebook tag (or a page tag when page is set). tags(args): Promise; // List every tag used on the tablet. refresh(args): Promise; // Restart xochitl so the tablet UI reloads the library. };

Write an async arrow function. No TypeScript syntax. Example: async () => { const docs = await rme.list({}); return docs; }

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

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/lukaisailovic/remarkable-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server