reMarkable MCP Server について
reMarkable MCP Server は、reMarkable タブレットに保存された文書と手書きノートを AI アシスタントから読み取り、検索できるようにするサーバーです。デバイスの内容を AI ワークフローに組み込みたいユーザー向けで、クライアントのモデルを使った手書き OCR に対応しています。
主な機能
- 01フォルダの閲覧と文書の読み取り
- 02PDF と EPUB からのテキスト抽出
- 03クライアントのサンプリングによる手書き OCR
- 04ライブラリ全体の全文検索
- 05削除を伴わないフォルダの名前変更・移動・作成
活用シーン
- 01最近のノートの要約と未完了項目の抽出
- 02過去の手書きノートを内容から検索
- 03Obsidian などのツールとデバイス内のノートを連携
MCP 対応
本プロジェクトは MCP サーバーであり、reMarkable ライブラリの読み取り、検索、閲覧のためのツールとリソースを Claude などの MCP クライアントに提供します。OCR はクライアントのサンプリング機能を通じて実行されます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
reMarkable MCP サーバー
reMarkable タブレットを、AI アシスタントの第二の脳として最大限に活用しましょう。この MCP サーバーを使うと、Claude、VS Code Copilot、その他の AI ツールから、手書きメモの OCR を含む reMarkable ライブラリ全体を読み取り、検索し、閲覧できます。
rm-mcp を使う理由
reMarkable タブレットは、思考、メモ取り、調査に役立つ強力なツールです。しかし、そこにある知識はデバイス内に閉じ込められています。この MCP サーバーがその状況を変えます。
- ライブラリ全体にアクセス — フォルダーの閲覧、ドキュメントの検索、あらゆるファイルの読み取りができます
- 入力テキストの抽出 — Type Folio と入力された注釈に標準で対応しています
- 手書き文字の OCR — 手書きメモを検索可能なテキストに変換します
- PDF と EPUB に対応 — ドキュメントからテキストや注釈を抽出します
- スマート検索 — ライブラリ全体からコンテンツを見つけます
- ライブラリを整理 — 名前の変更、移動、フォルダーの作成ができます(削除されるものはありません)
- 第二の脳として連携 — Obsidian、メモアプリ、あらゆる AI ワークフローで活用できます
調査、執筆、アイデアの展開など、rm-mcp を使えば、reMarkable にあるすべてを AI 経由で活用できます。
クイックインストール
reMarkable Cloud API を使用します。reMarkable Connect のサブスクリプションが必要です。
1 コマンドでセットアップ(推奨)
uvx rm-mcp --setup
ブラウザーが開き、ワンタイムコードの入力が求められます。その後、Claude Code と Claude Desktop 用の、そのまま貼り付けられる設定が表示されます。
手動セットアップ
1. ワンタイムコードを取得する
my.remarkable.com/device/browser/connect にアクセスして、コードを生成します。
2. トークンに変換する
uvx rm-mcp --register YOUR_CODE
3. MCP クライアントに追加する
Claude Code:
claude mcp add remarkable \
-e REMARKABLE_TOKEN='<paste token from step 2>' \
-e REMARKABLE_OCR_BACKEND=sampling \
-- uvx rm-mcp@latest
Claude Desktop — claude_desktop_config.json に追加します(uvx のフルパスを指定します。例:which uvx で確認):
{
"mcpServers": {
"remarkable": {
"command": "/Users/YOU/.local/bin/uvx",
"args": ["rm-mcp@latest"],
"env": {
"REMARKABLE_TOKEN": "<paste token from step 2>"
}
}
}
}
ツール
| ツール | 説明 |
|---|---|
remarkable_read | ドキュメントを読み取り、テキストを抽出します(ページ指定と検索に対応) |
remarkable_browse | ライブラリ内のフォルダーを閲覧します |
remarkable_search | 複数のドキュメントを横断してコンテンツを検索します |
remarkable_recent | 最近変更されたドキュメントを取得します |
remarkable_status | 接続状態を確認します |
remarkable_image | ページの PNG/SVG 画像を取得します(サンプリング OCR に対応) |
すべてのツールは読み取り専用で、次の操作のヒントを含む構造化 JSON を返します。
スマート機能
- 複数ページの読み取り —
pages="all"ですべてのページを一度に読み取るか、pages="1-3"のように範囲を指定できます - Grep による自動リダイレクト —
grepを使うと、一致するページを自動的に見つけて移動します - 自動リダイレクト — ドキュメントのパスを閲覧すると、コンテンツが自動的に返されます
- 自動 OCR — 入力テキストのないノートブックでは OCR が自動的に有効になります(
auto_ocr=Falseで無効化できます) - 全文検索 — ドキュメントを読み取ると、その内容がインデックス化され、以後すばやく検索できます
- コンパクトモード —
compact_output=Trueを使うと、応答でのトークン使用量を減らせます - 一括検索 — 1 回の呼び出しで複数のドキュメントを横断して検索できます
- ビジョン対応 — 視覚的なコンテキスト(図、モックアップ、スケッチ)としてページ画像を取得できます
- サンプリング OCR — クライアントの AI を使って画像の OCR を実行できます(API キーは不要です)
使用例
# Read a document
remarkable_read("Meeting Notes")
# Read all pages at once
remarkable_read("Meeting Notes", pages="all")
# Read a range of pages
remarkable_read("Research Paper", pages="1-3")
# Search for keywords (auto-redirects to matching page)
remarkable_read("Project Plan", grep="deadline")
# Enable OCR for handwritten notes
remarkable_read("Journal", include_ocr=True)
# Browse your library
remarkable_browse("/Work/Projects")
# Search across documents
remarkable_search("meeting", grep="action items")
# Get recent documents with previews
remarkable_recent(limit=5, include_preview=True)
# Get a page image
remarkable_image("UI Mockup", page=1)
# Get image with OCR text extraction
remarkable_image("Handwritten Notes", include_ocr=True)
リソース
ドキュメントは MCP リソースとして自動的に登録されます。
| URI スキーム | 説明 |
|---|---|
remarkable:///{path}.txt | 抽出されたテキストコンテンツ |
remarkableimg:///{path}.page-{N}.png | ページ N の PNG 画像(ノートブックのみ) |
remarkablesvg:///{path}.page-{N}.svg | ページ N の SVG ベクター画像(ノートブックのみ) |
手書き文字の OCR
rm-mcp はサンプリング OCRを使用します。MCP クライアントの AI モデルが、手書きメモからテキストを抽出します。追加の API キーやサービスは必要ありません。
仕組み
include_ocr=True を指定すると、rm-mcp は MCP サンプリングを介してページ画像をクライアントの LLM(Claude、GPT-4 など)に送信します。モデルが手書き文字を読み取り、テキストを返します。
使い方
# OCR on a page image
remarkable_image("Handwritten Notes", include_ocr=True)
# OCR when reading a notebook
remarkable_read("Journal", include_ocr=True)
要件
- MCP クライアントはサンプリング機能をサポートしている必要があります(VS Code + Copilot、Claude Desktop など)。
REMARKABLE_OCR_BACKEND=sampling(デフォルト)
詳細設定
ルートパスによるフィルタリング
reMarkable 上の特定のフォルダーに MCP サーバーの対象を限定します。すべての操作はこのフォルダー内で行われます。
{
"servers": {
"remarkable": {
"command": "uvx",
"args": ["rm-mcp"],
"env": {
"REMARKABLE_TOKEN": "your-token",
"REMARKABLE_ROOT_PATH": "/Work"
}
}
}
}
この設定では、次のようになります。
remarkable_browse("/")は/Workの内容を表示します。remarkable_browse("/Projects")は/Work/Projectsを表示します。/Workの外にあるドキュメントにはアクセスできません。
次の用途に便利です。
- 勤務時間中に仕事のドキュメントに集中する
- 個人用と仕事用のノートを分ける
- 特定の AI ワークフローの対象範囲を限定する
カスタム背景色
画像をレンダリングする際のデフォルトの背景色を設定します。
{
"servers": {
"remarkable": {
"command": "uvx",
"args": ["rm-mcp"],
"env": {
"REMARKABLE_TOKEN": "your-token",
"REMARKABLE_BACKGROUND_COLOR": "#FFFFFF"
}
}
}
}
サポートされている形式:
#RRGGBB— RGB 16 進数(例:白は#FFFFFF)#RRGGBBAA— RGBA 16 進数(例:透明は#00000000)
デフォルトは #FBFBFB(reMarkable の用紙の色)です。この設定は remarkable_image ツールと画像リソースの両方に適用されます。
すべての環境変数
| 変数 | デフォルト | 説明 |
|---|---|---|
REMARKABLE_TOKEN | (必須) | uvx rm-mcp --setup で取得する認証トークン |
REMARKABLE_ROOT_PATH | / | アクセスを特定のフォルダーに限定します |
REMARKABLE_READ_ONLY | (オフ) | 1 に設定すると、名前の変更、移動、フォルダーの作成を無効にします |
REMARKABLE_OCR_BACKEND | sampling | OCR バックエンド(sampling) |
REMARKABLE_BACKGROUND_COLOR | #FBFBFB | レンダリング画像の背景色(#RRGGBB または #RRGGBBAA) |
REMARKABLE_CACHE_TTL | 60 | コレクションキャッシュの TTL(秒) |
REMARKABLE_COMPACT | (オフ) | 1 または true に設定すると、すべての応答からヒントを省略します |
REMARKABLE_MAX_OUTPUT_CHARS | 50000 | ツール応答の最大文字数 |
REMARKABLE_PAGE_SIZE | 8000 | PDF/EPUB ページの文字数 |
REMARKABLE_PARALLEL_WORKERS | 5 | メタデータ取得に使用する並列ワーカー数 |
REMARKABLE_INDEX_CONTENT | 1 | 0 に設定すると、PDF/EPUB テキストのバックグラウンドインデックス作成を無効にします |
REMARKABLE_INDEX_PATH | ~/.cache/rm-mcp/index.db | SQLite 全文検索インデックスの保存場所 |
REMARKABLE_INDEX_REBUILD | (オフ) | 1 に設定すると、起動時にインデックスを強制的に再構築します |
ほとんどのユーザーに必要なのは REMARKABLE_TOKEN だけです。その他の変数は詳細な調整に使用します。
ユースケース
調査と執筆
Obsidian の保管庫などで作業しながら rm-mcp を使い、手書きのノートの内容を構造化されたドキュメントに移します。AI は調査ノートを読み取り、アイデアの発展を支援できます。
日々の振り返り
最近のノートの要約、アクションアイテムの検索、日記の記録に見られるパターンの特定を AI アシスタントに依頼できます。
ドキュメント検索
手書きの内容も含め、ライブラリ全体を検索して、うろ覚えのノートを見つけられます。
ナレッジマネジメント
AI がアクセスできる「第2の脳」として reMarkable を活用します。Obsidian などのツールと組み合わせることで、強力な個人向けナレッジシステムを構築できます。
ドキュメント
| ガイド | 説明 |
|---|---|
| ツールリファレンス | ツールの詳細なドキュメント |
| リソースリファレンス | MCP リソースのドキュメント |
| 機能ネゴシエーション | MCP プロトコルの機能 |
| 開発 | コントリビューションと開発環境のセットアップ |
| 今後の計画 | ロードマップと予定している機能 |
開発
git clone https://github.com/wavyrai/rm-mcp.git
cd rm-mcp
uv sync --all-extras
uv run pytest test_server.py -v
📖 開発ガイド
ライセンス
MIT
rmscene、PyMuPDF、および ddvk/rmapi から着想を得て開発されました。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。