Agent-Native Calendar
Agent-Native Google Calendar - manage events, sync, and public booking
作者による説明(英語の原文)
Capture the screen, read/render notes, and upload files on a Ratta Supernote from an AI agent.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
SUPERNOTE_IP, SUPERNOTE_DISCOVER必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"supernote": {
"command": "npx",
"args": [
"-y",
"supernote-mcp"
],
"env": {
"SUPERNOTE_IP": "your-value",
"SUPERNOTE_DISCOVER": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add supernote --env SUPERNOTE_IP=your-value --env SUPERNOTE_DISCOVER=your-value -- npx -y supernote-mcp動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"supernote": {
"command": "npx",
"args": [
"-y",
"supernote-mcp"
],
"env": {
"SUPERNOTE_IP": "your-value",
"SUPERNOTE_DISCOVER": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"supernote": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"supernote-mcp"
],
"env": {
"SUPERNOTE_IP": "your-value",
"SUPERNOTE_DISCOVER": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
SUPERNOTE_IP envSUPERNOTE_DISCOVER envこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月6日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント ridget で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.2.2)がレジストリに届いたのは5 か月前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
同じカテゴリには:Agent-Native Calendar, Excel MCP Server, MCP Server for Excel
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
Agent-Native Google Calendar - manage events, sync, and public booking
Create and edit Excel files with AI: charts, PivotTables, formulas. No Excel needed.
Excel automation for AI - Sheets, Power Query, DAX, VBA, Tables, Ranges and more. Windows only.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
An MCP server for the Ratta Supernote e-ink tablet. It lets an AI agent see and work with your Supernote over the local Wi-Fi network:
The idea is collaborative prompting: handwrite on the tablet during a planning session and pull it straight into the conversation, or have the agent read and reason over notes you saved earlier.
Every tool is lazy — it touches the device only when invoked, so a session that never calls one makes no network calls to the tablet.
[!IMPORTANT]
**Unofficial, community-built project — not affiliated with, authorised by, or endorsed by
Ratta / Supernote.** "Supernote" and "Ratta" are trademarks of their respective owner, used here
only for identification. It relies on reverse-engineered, undocumented LAN interfaces (screen
mirror + Browse & Access) that may change or break with firmware updates. Provided as-is under
the MIT license — use at your own risk.
Built on supernote-typescript for screen capture and .note parsing.
npx install path: Node.js ≥ 18. For bunx: Bun. The standalone binary needs neither.192.168.1.42. That's the device IP. The mirror serves on port 8080 (http:// :8080/screencast.mjpeg); the server appends :8080 for you.Set the IP once via the SUPERNOTE_IP environment variable, or pass it per-call as the tool's ip argument (an explicit argument wins over the env var).
supernote_list_files (and the note tools) use a separate device feature from screen mirroring: Browse & Access, the built-in Wi-Fi file server on port 8089.
http://192.168.1.42:8089 and stays open while it's active. The device IP is the same as for mirroring; the tools target port 8089 automatically.Browse & Access and Screen Mirroring are independent toggles — enable whichever the task needs (or both). Discovery probes each port, so the device can be found with only one of them on.
The mirror address is a DHCP lease and can change between sessions. Two ways to stay robust:
SUPERNOTE_IP never goes stale.SUPERNOTE_IP. The scan only runs as a fallback (never on the fast path) and probes port 8080 across your subnet for the mirror's multipart stream. Disable it with SUPERNOTE_DISCOVER=0 if you'd rather it fail fast than scan the LAN.Pick whichever distribution suits you — none require this repo to be checked out.
# Recommended: published npm package via Node's npx
claude mcp add supernote --scope user --env SUPERNOTE_IP=192.168.1.42 -- npx -y supernote-mcp
claude mcp add supernote --scope user --env SUPERNOTE_IP=192.168.1.42 -- bunx supernote-mcp
chmod +x ./supernote-mcp-darwin-arm64 claude mcp add supernote --scope user --env SUPERNOTE_IP=192.168.1.42 -- /path/to/supernote-mcp-darwin-arm64
Restart Claude Code, then try: *"Snapshot my Supernote and tell me what I drew."*
On macOS the downloaded binary is unsigned; the first run may be blocked by Gatekeeper.
Right-click → Open once, or run
xattr -d com.apple.quarantine /path/to/supernote-mcp-darwin-arm64.
All tools accept an optional ip (device IP, optionally :port; defaults to SUPERNOTE_IP, else a LAN scan) and return a clear, actionable message on failure rather than hanging.
| Tool | Needs | Input | Returns |
|---|---|---|---|
supernote_snapshot | Screen Mirroring (8080) | ip? | the live screen as image/png |
supernote_list_files | Browse & Access (8089) | ip?, path? | a listing — name, folder?, size, date, and a path to pass on |
supernote_read_note | Browse & Access (8089) | ip?, path | a note's recognized handwriting/text per page (or a note that recognition hasn't run) |
supernote_render_note | Browse & Access (8089) | ip?, path, pages? | note pages as image/png (all pages, capped at 20, or the pages you pick) |
supernote_download_file | Browse & Access (8089) | ip?, path, out? | downloads a file from the device to the local filesystem |
supernote_upload_file | Browse & Access (8089) | ip?, path, directory?, filename? | uploads a local file to the device (the only tool that writes to it) |
Failures point at the usual causes — wrong IP, the relevant feature turned off, or the host/device not sharing a VPN-free Wi-Fi network — and time out fast (10s) rather than hanging.
All tools except supernote_upload_file are read-only. supernote_upload_file writes a file to the device (it reads a local file the server can access and POSTs it over Browse & Access). supernote_download_file reads a file from the device and saves it locally — use it to retrieve annotated PDFs, exported notes, or any file stored on the tablet.
The server also ships this routing as MCP instructions, so a connected agent picks the right tool on its own. The map:
| You want… | Say something like | Tool |
|---|---|---|
| What's on the screen *right now* | "what did I just draw?", "look at my screen" | supernote_snapshot |
| To find a saved note | "what notes do I have?", "find my note about X" | supernote_list_files |
| To read a note's words | "read / summarise my meeting notes" | supernote_read_note |
| To see a note's pages | "show me that sketch", "look at page 2" | supernote_render_note |
| To put a file on the tablet | "send this PDF to my Supernote" | supernote_upload_file |
| To get a file off the tablet | "download my annotated PDF" | supernote_download_file |
Saved-note flow: supernote_list_files → take the entry's path → supernote_read_note (text, cheap — prefer for words) or supernote_render_note (images, for drawings or notes without recognized text). supernote_snapshot is separate — it's the *current screen*, not a saved file.
Download flow: supernote_list_files → find the file → supernote_download_file with the entry's path → file is saved locally for processing (e.g. rendering an annotated PDF's pages).
Bun is used only to run, typecheck, and build — it is not required by end users. This repo ships an optional devbox environment that provides Bun reproducibly; you can equally use a system Bun install.
bun install
bun run src/capture.ts --ip 192.168.1.42 --out frame.png
bun run src/browse.ts list --ip 192.168.1.42 --path /Note bun run src/browse.ts get --ip 192.168.1.42 --path /Note/obsidian/x.note --out x.note bun run src/browse.ts put --ip 192.168.1.42 --path ./doc.pdf --dir /INBOX
bun run src/server.ts
bunx @modelcontextprotocol/inspector bun run src/server.ts
bun run test # unit tests (bun:test) bun run typecheck # tsc --noEmit bun run build # node-compatible bundle -> dist/server.js (the npx/bunx entry) bun run build:binary # self-contained executable -> dist/supernote-mcp
bun build --compile cross-compiles too, e.g. bun build --compile --target=bun-linux-x64 src/server.ts --outfile dist/supernote-mcp-linux-x64.
src/capture.ts wraps fetchMirrorFrame(${ip}:8080), which parses the device's multipart/x-mixed-replace stream, extracts a frame, and decodes it via image-js. The frame is re-encoded to PNG (sidestepping PNG-vs-JPEG part-encoding differences across firmwares) and returned as base64. src/browse.ts is a client for the Browse & Access HTTP file server (port 8089): it lists directories (parsing the listing page's embedded JSON) and downloads files. src/resolve.ts holds the shared address resolution + LAN-scan fallback used by both, and src/discover.ts does the subnet scan (probing the mirror or Browse & Access endpoint to recognise the device). src/server.ts registers the tools on an McpServer over the stdio transport.
MIT