reMarkable云文档管理Docker容器

为reMarkable云文档提供Docker容器化管理的工具,支持笔记本渲染、手写OCR和文档搜索等功能。

  • by khwerhahn
  • Makefile
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 khwerhahn/remarkable-mcp-docker

使用说明

卓越的mcp docker

Docker打包 卓越的mcp 通过 萨姆·莫罗,针对 Docker MCP工具包.

注: 此存储库仅提供Docker容器化。核心MCP服务器由Sam Morrow开发和维护。请向报告MCP服务器问题 上游项目.

特性

  • 仅限云API -连接到可重新标记的云(容器中不支持SSH/USB模式)
  • 多阶段构建 -最终图像尺寸更小
  • 笔记本渲染 -完全支持通过以下方式将手写笔记本渲染为PNG/SVG rmc 命令行界面
  • 手写OCR -谷歌视觉API用于精确的手写识别,Tesseract作为后备
  • 持久缓存 -跨会话缓存文档元数据,以加快启动速度
  • 长寿命集装箱 -继续运行以获得更好的性能
  • 健康检查 -内置Docker健康监控

注: 此Docker镜像仅支持 云API模式.SSH模式(直接通过USB/网络连接到您的reMarkable)不受支持,因为容器无法访问主机USB设备或本地网络服务。如果需要SSH模式,请运行 卓越的mcp 直接在你的主机上。

先决条件

  • 启用MCP工具包的Docker桌面4.48+
  • reMarkable帐户(用于云API访问)
  • Google Cloud帐户(可选,用于手写OCR)

快速开始

git clone https://github.com/khwerhahn/remarkable-mcp-docker.git
cd remarkable-mcp-docker

make setup              # Creates .env, shows instructions
make register           # Get token from reMarkable Cloud
# Copy token to .env
make install            # Build and install
docker mcp server enable remarkable
# Restart your AI client
make verify             # Check everything works

获取您的代币

可标记令牌(必填)

  1. 首选https://my.remarkable.com/device/desktop/connect
  2. 复制一次性代码(8个字符)
  3. 跑 make register 并粘贴代码
  4. 将返回的JSON令牌复制到 .env:
    REMARKABLE_TOKEN={"devicetoken": "eyJ...", "usertoken": ""}
    

Google Vision API密钥(可选,用于OCR)

  1. 首选https://console.cloud.google.com/
  2. 创建或选择项目
  3. 启用 云视觉API API和服务→ 图书馆
  4. 在API和服务中创建API密钥→ 凭证
  5. 添加 .env:
    GOOGLE_VISION_API_KEY=AIzaSy...
    

命令

命令 描述
make setup 创建.env并显示安装说明
make register 获取可重新标记的云令牌
make install 构建并安装到Docker MCP
make update 使用最新版本重建
make verify 检查一切正常
make clean 删除图像和缓存

可用的MCP工具

工具 说明
remarkable_browse 浏览文件夹和文档
remarkable_read 使用分页读取文档内容
remarkable_search 按名称搜索文档
remarkable_recent 获取最近修改的文档
remarkable_status 检查连接状态
remarkable_image 使用OCR将页面导出为PNG/SVG图像

使用示例

浏览您的库:

remarkable_browse("/")                    # List root folder
remarkable_browse("/Projects")            # List specific folder
remarkable_browse(query="meeting")        # Search by name

读取文档内容:

remarkable_read("Document Name")          # Read first page
remarkable_read("Document", page=2)       # Read specific page
remarkable_read("Notes", grep="keyword")  # Search within document

渲染手写笔记本:

remarkable_image("Notebook Name")                    # Get PNG image
remarkable_image("Notes", include_ocr=True)          # With OCR text extraction
remarkable_image("Sketch", output_format="svg")      # Get SVG vector format

获取最新文档:

remarkable_recent()                       # Last 10 modified
remarkable_recent(limit=5, include_preview=True)  # With content preview

VS代码/光标设置

添加 .vscode/mcp.json:

{
  "servers": {
    "remarkable": {
      "command": "uvx",
      "args": ["remarkable-mcp"],
      "env": {
        "REMARKABLE_TOKEN": "{\"devicetoken\": \"eyJ...\", \"usertoken\": \"\"}"
      }
    }
  }
}

Claude桌面设置

安装后,服务器可以通过Docker MCP网关访问。

建筑

┌─────────────────────────────────────────────┐
│ Docker MCP Gateway                          │
│   └── remarkable-mcp container              │
│       ├── Python 3.11 runtime               │
│       ├── remarkable-mcp from PyPI          │
│       ├── rmc CLI (notebook → SVG/PNG)      │
│       ├── cairosvg (SVG → PNG conversion)   │
│       ├── Tesseract OCR (fallback)          │
│       └── /app/cache (persistent volume)    │
└─────────────────────────────────────────────┘

渲染管线

.rm file → rmc → SVG → cairosvg → PNG → Google Vision OCR → Text

更新

当新版本的卓越mcp发布时:

cd remarkable-mcp-docker

# Rebuild with latest from PyPI (no cache)
make update

# Verify everything still works
make verify

这 make update 命令使用以下命令重建映像 --no-cache 从PyPI中提取最新的卓越mcp。

性能提示

  • 第一次加载速度慢 -服务器在首次启动时从reMarkable Cloud下载文档元数据
  • 使用缓存卷 -The remarkable-cache Docker卷在重启过程中保存文档元数据
  • 长寿命模式 -容器保持运行,以避免重复的启动开销
  • 如果需要,清除缓存 -快跑 make clear-cache 如果文档似乎不同步

故障排除

令牌问题

令牌过期或无效?

make register

然后更新 .env 然后跑 make secrets.

演出

第一次加载很慢? 首次运行正常。正在从reMarkable Cloud下载文档元数据。后续启动将使用缓存。

清除过时缓存:

make clear-cache

Docker MCP工具包问题

检查服务器状态:

make status
docker mcp server ls

重要提示: 服务器显示“启用”和“✓完成”表示机密 不 保证工具正常工作。这仅意味着配置已设置,而不是连接处于活动状态。

验证服务器是否实际工作:

make verify

这测试了整个MCP管道,包括初始化和工具列表。

工具没有出现在你的AI客户端中?

Docker MCP Toolkit可能会显示服务器已启用,但工具可能不会暴露给您的客户端。尝试:

  1. 重新启动Docker桌面
  2. 禁用并重新启用服务器:
    docker mcp server disable remarkable
    docker mcp server enable remarkable
    
  3. 检查Docker桌面中的Docker MCP工具包日志

已知的Docker MCP工具包限制:

  • docker mcp server inspect 可能返回协议错误
  • docker mcp tools ls 可能会挂在某些设置上
  • 工具命名空间映射到AI客户端可能不一致

如果您在Docker MCP Toolkit(而非卓越的MCP服务器本身)中遇到持续问题,请向以下人员报告:

文件结构

remarkable-mcp-docker/
├── Dockerfile              # Multi-stage container build
├── Makefile                # Build/install/update commands
├── tools.json              # Static tool definitions for AI discovery
├── docker-mcp-server.yaml  # MCP catalog entry template
├── .env                    # Your API keys (git-ignored)
├── .env.example            # Template for .env
├── LICENSE                 # MIT License
└── README.md               # This file

工具发现

这 tools.json 该文件提供了静态工具定义,允许AI客户端在不启动服务器的情况下发现可用工具。这提高了工具发现速度,并帮助AI代理了解每个工具的功能。

运作原理

卓越的mcp服务器配置在自定义Docker mcp目录中:

~/.docker/mcp/catalogs/custom.yaml

这 make install 命令会自动创建此目录并添加显著的服务器条目。Docker MCP网关(v0.19.0+)自动加载所有已注册的目录,无需额外配置。

主要特点:

  • longLived: true -容器保持不变,以实现更快的后续调用
  • volumes: remarkable-cache:/app/cache -文档元数据已缓存
  • Docker Desktop的秘密存储区中存储的秘密

贡献

我们欢迎并衷心感谢您的贡献!无论是bug修复、新功能、文档改进,还是仅仅是建议,所有的输入都有助于使这个项目变得更好。

贡献方式:

  • 报告错误 -打开一个 问题 关于问题的详细信息
  • 建议功能 -有主意吗?打开一个问题进行讨论
  • 提交PR -分叉仓库,进行更改,并提交拉取请求
  • 改进文档 -发现什么不清楚的?文档修复总是受欢迎的

在提交PR之前:

  1. 分叉并克隆存储库
  2. 为您的更改创建一个分支(git checkout -b feature/my-improvement)
  3. 使用测试您的更改 make verify
  4. 以明确的信息承诺
  5. 推送并打开PR

对于核心MCP服务器功能(非Docker特定)的问题,请向 上游项目.

学分

许可证

MIT许可证-请参阅 许可证 文件。

此项目包 卓越的mcp 该公司也获得了麻省理工学院的许可。