关于 Sidenote
Sidenote 是供 AI 助手读取、搜索和编辑同步笔记本、白板及图片的 MCP 服务。支持托管和本地连接,本地模式可在设备上解密,并可设为只读。
主要功能
- 01列出、搜索和读取笔记本
- 02创建并编辑笔记内容
- 03修改白板项目
- 04添加和查看图片
- 05加星标或归档笔记本
适用场景
- 01查找购物清单中的事项
- 02将聊天内容整理成笔记本
- 03在白板上绘制发布计划
- 04查看笔记中的图片
MCP 相关
向 MCP 客户端提供读取和编辑 Sidenote 内容的工具。可通过托管的 Streamable HTTP 端点或本地服务连接。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://sidenote-sync.netlify.app/mcpclaude mcp add --transport http elmagoct-sidenote https://sidenote-sync.netlify.app/mcp{"mcpServers":{"elmagoct-sidenote":{"type":"http","url":"https://sidenote-sync.netlify.app/mcp"}}}在 Cursor 中打开{"servers":{"elmagoct-sidenote":{"type":"http","url":"https://sidenote-sync.netlify.app/mcp"}}}在 VS Code 中打开{"mcpServers":{"elmagoct-sidenote":{"type":"http","url":"https://sidenote-sync.netlify.app/mcp"}}}{"mcpServers":{"elmagoct-sidenote":{"serverUrl":"https://sidenote-sync.netlify.app/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍

给 AI 助手的说明
让 Claude、ChatGPT、Gemini、Codex、Cursor 或任何其他 MCP 应用,使用你的 Sidenote 同步密钥读取和编辑你的 Sidenote 记事本。
你可以提出诸如 “我的购物清单还剩什么?”、“勾掉鸡蛋”、“把这段聊天整理成 Trip plan 下的记事本”、“制作一块规划发布流程的白板” 或 “我的实验记录里那张照片是什么?” 这样的问题。更改会在几秒内同步显示在所有已同步的电脑上的 Sidenote 中。
| 工具 | 功能 |
|---|---|
list_notepads | 列出记事本树,包含 ID 和简短预览 |
search_notepads | 搜索标题和内容中的全文 |
read_notepad | 以 Markdown(或存储的 HTML)读取一个记事本 |
create_notepad | 创建新记事本,或在某个记事本下创建子记事本 |
update_notepad | 重命名、更改强调色、替换、追加或前置内容 |
edit_notepad | 查找并替换文本,同时保留其余内容 |
edit_whiteboard | 添加、移动、更改样式或移除白板项目(便签、文本、形状、箭头、图片、嵌入内容、记事本卡片) |
add_image | 从网址或 base64 向记事本或白板添加图片;PNG 和 JPEG 会缩小至不超过 1600 px(大多数小于 250 KB) |
view_image | 查看记事本或白板中的图片 |
organize_notepad | 加星标或归档 |
这些工具不会删除任何内容;它们最多只能归档。
无需账号,无需设置:sidenote-sync.netlify.app
sidenote-sync.netlify.app 适用于任何 AI 和任何套餐:
-
聊天应用(ChatGPT、Claude、Gemini,包括免费套餐):使用同步密钥在那里打开你的笔记,点击 Link for chat apps,然后将链接粘贴到聊天中。聊天应用会以纯文本形式读取每个记事本。该链接是只读的,可一直使用,直到你关闭链接。
-
带终端的 Agent(Claude Code、Codex、Gemini CLI、Cursor…):
sidenoteCLI 是一个无需安装的单文件工具。它可以读取和编辑,笔记会在你的电脑上解密。curl -fsSL https://sidenote-sync.netlify.app/sidenote.mjs -o sidenote.mjs node sidenote.mjs key sync-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx # once, in your own terminal node sidenote.mjs all # every notepad node sidenote.mjs tick Groceries eggs -
网页版 Sidenote:sidenote-sync.netlify.app/notes 可在任何设备的任何浏览器中打开你的记事本,以便读取和编辑,使用的编辑器与扩展程序相同。
pad-或view-密钥可打开对应的共享记事本。密钥会放在地址中#后面(浏览器不会将其发送到服务器),因此可以为页面添加书签以便日后返回。 -
供 AI 本身使用:sidenote-sync.netlify.app/llms.txt 会向任何打开它的助手说明以上内容,以及每条 CLI 命令和 Markdown 方言。
你的同步密钥
在 Sidenote 中,打开完整视图 → 设置 → 同步与设备。如果同步尚未开启,请先开启,然后点击同步密钥旁边的 显示(sync-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx)。任何拥有此密钥的人都可以读取和编辑你的所有记事本,因此只能将它粘贴到这些说明指定的位置。
两种连接方式
- 托管连接器:
https://sidenote-sync.netlify.app/mcp,适用于通过 URL 连接的应用(ChatGPT、claude.ai、Gemini 应用)。你会在 Sidenote 自己的页面上登录,因此 AI 应用不会看到你的密钥。连接器只会在响应请求期间于内存中解密笔记。如果不希望助手更改任何内容,请在登录时选择 只读。 - 本地服务(此仓库中的
server/index.js),适用于在你的电脑上运行工具的应用(Claude Code、Claude Desktop、Gemini CLI、Codex)。密钥会保留在你的电脑上,笔记也会在那里解密;同步服务始终只会看到加密数据。设置SIDENOTE_READ_ONLY=1即可启用只读模式。
安装
Claude Code
claude plugin marketplace add ElMagoCT/sidenote-mcp
claude plugin install sidenote@sidenote
Claude Code 会提示你输入同步密钥,并将其保存在系统密钥链中。运行在本地。
Claude Desktop
从最新版本下载 sidenote.mcpb,打开 设置 → 扩展,将文件拖入,然后粘贴你的同步密钥。在本地运行。
claude.ai(网页、桌面和移动端)
自定义 → 连接器 → 添加自定义连接器,URL 为 https://sidenote-sync.netlify.app/mcp,然后点击 连接并使用同步密钥登录。
ChatGPT
在 chatgpt.com/plugins,点击 + → 添加自定义 MCP 服务,URL 为 https://sidenote-sync.netlify.app/mcp,身份验证选择 OAuth,然后使用同步密钥登录。哪些 ChatGPT 套餐可以添加自定义服务由 OpenAI 决定(帮助文章)。
Codex
codex mcp add sidenote --url https://sidenote-sync.netlify.app/mcp
codex mcp login sidenote
或者作为插件使用:codex plugin marketplace add ElMagoCT/sidenote-mcp,然后在 Codex 中运行 /plugins。
Gemini CLI
gemini extensions install https://github.com/ElMagoCT/sidenote-mcp
它会要求你提供同步密钥,并将其保存在系统钥匙串中。在本地运行。Antigravity CLI:agy plugin install https://github.com/ElMagoCT/sidenote-mcp。
Gemini app
设置 → 已连接的应用 → 添加自定义应用,URL 为 https://sidenote-sync.netlify.app/mcp,然后登录。(Google 为美国的个人账户提供自定义应用,且用户须年满 18 周岁。)
Cursor、VS Code、Windsurf 和其他 MCP 应用
托管版(应用会打开登录页面):
{ "mcpServers": { "sidenote": { "url": "https://sidenote-sync.netlify.app/mcp" } } }
本地版(需要 Node 20+ 和 git;使用 npm 12 时,在 -y 后添加 --allow-git=root):
{
"mcpServers": {
"sidenote": {
"command": "npx",
"args": ["-y", "github:ElMagoCT/sidenote-mcp"],
"env": { "SIDENOTE_SYNC_KEY": "sync-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx" }
}
}
}
只接受请求头的应用可跳过登录,向托管版 URL 发送 Authorization: Bearer <your sync key>(添加 X-Sidenote-Read-Only: 1 可设为只读)。
Sidenote Markdown
记事本以 Markdown 格式读写,并与 Sidenote 编辑器一一对应,因此助手可以更改一行,而不影响其他内容。每行都是一个独立段落。除常见的标题、强调、链接、列表、- [ ] 待办事项、引用、表格和代码块外:
| Markdown | 在 Sidenote 中 |
|---|---|
==text==, <u>text</u> | 高亮、下划线 |
[Title](sidenote:<id>) | 指向另一个记事本的链接 |
<details><summary>Title</summary> … </details> | 折叠项 |
## Heading | 折叠标题 |
仅包含 <br> 的一行 | 空行 |
<time data-at="1767254400000">Jan 1, 9:00 AM</time> | 提醒(纪元毫秒) |
<span data-m="person">Ana</span> | 提及(person 或 place) |
 | 图片(加密存储,独占一行;标题中的 small 或 medium 可设置宽度) |
 | YouTube 视频或在框架中显示的 Google Drive / Docs / Sheets / Slides / Forms 文件 |
白板不是 Markdown:read_notepad 会列出其中的项目、ID、位置(白板像素坐标,x 向右,y 向下)和文本,edit_whiteboard 可修改这些项目。没有指定位置的新项目会排列在现有内容下方的行中;一起添加的项目可通过设置 ref 用箭头连接。
隐私与安全
- Sidenote 不设账户。所有内容都通过你的同步密钥访问,记事本存储在同步服务上,并使用从该密钥派生的密钥进行 AES-256-GCM 加密。
- **本地服务:**你的密钥和笔记都保存在你的电脑上。它只会向同步服务发送 Sidenote 扩展本身发送的内容:哈希、写入令牌和密文。
- **托管连接器:**你在 Sidenote 的登录页面输入密钥。密钥会使用只有连接器持有的秘密密钥进行 AES-256-GCM 封装,并写入 AI 应用保存的令牌中,因此应用永远无法看到密钥。连接器不存储密钥或笔记;它会在内存中解密请求所需的内容,然后立即清除。访问令牌有效期为一小时,最多可续期 180 天。断开 AI 应用会在一小时内将所有应用从账户中登出。
- **聊天应用链接:**创建链接时,密钥会被发送到连接器一次,由连接器将其封装到链接中(密钥不会出现在链接里)。聊天应用打开链接时,连接器会在内存中解密你的记事本以便回答,不会存储任何内容。任何拥有链接的人都可以读取你的笔记,直到你关闭链接(这也会将已连接的应用登出)。链接标记为
noindex。 - **命令行和网页上的 Sidenote:**二者都像本地服务一样在你自己的设备上解密。命令行还支持共享记事本的
pad-或view-密钥。 - 助手读取的任何内容都会根据相应 AI 提供商(Anthropic、OpenAI、Google……)自己的隐私政策发送给该提供商。
- 完整政策:elmagoct.github.io/sidenote-privacy · 条款 · 问题与错误:issues
工作原理
src/keys.js 会像扩展一样派生相同的 ID、写入令牌和 AES 密钥。src/client.js 从同步服务读取加密的账户索引和记事本,并通过比较并交换写回,因此写入不会覆盖尚未读取到的编辑;扩展会合并期间输入的内容。src/md.js 在编辑器的 HTML 和 Markdown 之间进行转换,不依赖 DOM。src/tools.js 和 src/rpc.js 是 MCP 层(无 SDK、无依赖项),由 server/index.js 通过 stdio 提供服务;src/remote.js 则通过 Streamable HTTP 和 OAuth 2.1(客户端 ID 元数据文档或动态注册、PKCE)提供服务。它作为 Netlify Edge Function 运行在同步服务旁边,也提供聊天链接。server/cli.js 是命令行工具(由 scripts/build-cli.sh 打包成单个文件),web/ 则是 sidenote-sync.netlify.app 上的页面,会将 src/ 直接加载到浏览器中。
npm test # converter, tools, OAuth, links and CLI against an in-memory sync service
./scripts/build-cli.sh # dist/sidenote.mjs, the one-file CLI the website serves
./scripts/build-mcpb.sh # dist/sidenote.mcpb for Claude Desktop
采用 MIT 许可证。src/vendor/ 包含 jpeg-js 0.4.4(BSD-3-Clause;其解码器来自 pdf.js,采用 Apache-2.0 许可证),用于缩小图像;许可证文件位于 src/vendor/jpeg-js.LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。