Sidenote

Registre officiel Recherche et web

Read, search and edit your Sidenote notepads (Chrome side-panel notes) with your sync key.

Installation

Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).

Remote (streamable-http)
Claude Code
claude mcp add --transport http sidenote 'https://sidenote-sync.netlify.app/mcp'
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "sidenote": {
            "type": "http",
            "url": "https://sidenote-sync.netlify.app/mcp"
        }
    }
}

Documentation

Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.

Sommaire
  1. Sidenote for AI assistants
  2. Your sync key
  3. Two ways to connect
  4. Install
  5. Sidenote Markdown
  6. Privacy and security
  7. How it works

Sidenote for AI assistants

Let Claude, ChatGPT, Gemini, Codex, Cursor or any other MCP app read and edit your Sidenote notepads, with your Sidenote sync key.

Ask things like “what's left on my groceries list?”, “tick off eggs”, “turn this chat into a notepad under Trip plan” or “find my notes about the robot arm”. Changes appear in Sidenote on every synced computer within seconds.

ToolWhat it does
list_notepadsThe notepad tree, with ids and a short preview
search_notepadsFull-text search across titles and content
read_notepadOne notepad as Markdown (or its stored HTML)
create_notepadA new notepad, or a subpad of one
update_notepadRename, change accent colour, replace, append or prepend content
edit_notepadFind and replace text, leaving the rest untouched
organize_notepadStar or archive

Nothing is ever deleted through these tools; archiving is the furthest they go.

Your sync key

In Sidenote, open the full view → Settings → Sync & devices. Turn sync on if it's off, then press Show next to the sync key (sync-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx). Anyone with this key can read and edit all your notepads, so only paste it where these instructions say.

Two ways to connect

  • Hosted connector at https://sidenote-sync.netlify.app/mcp, for apps that connect by URL (ChatGPT, claude.ai, the Gemini app). You sign in on Sidenote's own page, so the AI app never sees your key. Notes are decrypted on the connector, in memory, only while a request is answered. Choose Read only at sign-in if the assistant should never change anything.
  • Local server (this repo's server/index.js), for apps that run tools on your computer (Claude Code, Claude Desktop, Gemini CLI, Codex). Your key stays on your computer and notes are decrypted there; the sync service only ever sees encrypted data. Set SIDENOTE_READ_ONLY=1 for read-only.

Install

Claude Code
claude plugin marketplace add ElMagoCT/sidenote-mcp
claude plugin install sidenote@sidenote

Claude Code asks for your sync key and keeps it in your system keychain. Runs locally.

Claude Desktop

Download sidenote.mcpb from the latest release, open Settings → Extensions, drop the file in, and paste your sync key. Runs locally.

claude.ai (web, desktop and mobile)

Customize → Connectors → Add custom connector, URL https://sidenote-sync.netlify.app/mcp, then Connect and sign in with your sync key.

ChatGPT

At chatgpt.com/plugins, press + → Add custom MCP server, URL https://sidenote-sync.netlify.app/mcp, authentication OAuth, then sign in with your sync key. Which ChatGPT plans can add custom servers is up to OpenAI (help article).

Codex
codex mcp add sidenote --url https://sidenote-sync.netlify.app/mcp
codex mcp login sidenote

Or as a plugin: codex plugin marketplace add ElMagoCT/sidenote-mcp, then /plugins in Codex.

Gemini CLI
gemini extensions install https://github.com/ElMagoCT/sidenote-mcp

It asks for your sync key and keeps it in your system keychain. Runs locally. Antigravity CLI: agy plugin install https://github.com/ElMagoCT/sidenote-mcp.

Gemini app

Settings → Connected apps → Add a custom app, URL https://sidenote-sync.netlify.app/mcp, then sign in. (Google offers custom apps to personal accounts in the US, 18+.)

Cursor, VS Code, Windsurf and other MCP apps

Hosted (the app opens the sign-in page):

{ "mcpServers": { "sidenote": { "url": "https://sidenote-sync.netlify.app/mcp" } } }

Local (needs Node 20+ and git; on npm 12 add --allow-git=root after -y):

{
  "mcpServers": {
    "sidenote": {
      "command": "npx",
      "args": ["-y", "github:ElMagoCT/sidenote-mcp"],
      "env": { "SIDENOTE_SYNC_KEY": "sync-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx" }
    }
  }
}

Apps that only take a header can skip sign-in by sending Authorization: Bearer <your sync key> to the hosted URL (add X-Sidenote-Read-Only: 1 for read-only).

Sidenote Markdown

Notepads are read and written as Markdown that maps one-to-one onto Sidenote's editor, so an assistant can change one line without disturbing anything else. Each line is its own paragraph. On top of the usual headings, emphasis, links, lists, - [ ] to-dos, quotes, tables and code blocks:

MarkdownIn Sidenote
==text==, <u>text</u>highlight, underline
[Title](sidenote:<id>)a link to another notepad
<details><summary>Title</summary> … </details>a toggle
## Headinga folded heading
a line with only <br>an empty line
<time data-at="1767254400000">Jan 1, 9:00 AM</time>a reminder (epoch ms)
<span data-m="person">Ana</span>a mention (person or place)

Privacy and security

  • Sidenote has no accounts. Everything is reached with your sync key, and notepads are stored on the sync service encrypted with AES-256-GCM under keys derived from it.
  • Local server: your key and your notes stay on your computer. It sends the sync service only what the Sidenote extension itself sends: hashes, write tokens and ciphertext.
  • Hosted connector: you type your key into Sidenote's sign-in page. It is sealed (AES-256-GCM, under a secret only the connector holds) into the tokens the AI app keeps, so the app never sees it. The connector stores no keys and no notes; it decrypts what a request needs in memory and forgets it. Access tokens last an hour and renew for up to 180 days. Disconnect AI apps signs every app out of an account within an hour.
  • Whatever an assistant reads is sent to that AI provider (Anthropic, OpenAI, Google…) under its own privacy policy.
  • Full policy: elmagoct.github.io/sidenote-privacy · Terms · Questions and bugs: issues

How it works

src/keys.js derives the same ids, write tokens and AES keys as the extension. src/client.js reads the encrypted account index and notepads from the sync service and writes back with compare-and-swap, so a write never overwrites an edit it hasn't seen; the extension merges anything typed meanwhile. src/md.js converts between the editor's HTML and Markdown without a DOM. src/tools.js and src/rpc.js are the MCP layer (no SDK, no dependencies), served over stdio by server/index.js and over Streamable HTTP with OAuth 2.1 (client ID metadata documents or dynamic registration, PKCE) by src/remote.js, which runs as a Netlify Edge Function next to the sync service.

npm test                    # converter, tools and OAuth flow against an in-memory sync service
./scripts/build-mcpb.sh     # dist/sidenote.mcpb for Claude Desktop

MIT licensed.

Questions fréquentes

Qu'est-ce que Sidenote ?

Read, search and edit your Sidenote notepads (Chrome side-panel notes) with your sync key.

Comment installer Sidenote ?

Il fonctionne comme serveur distant. Dans Claude Code : claude mcp add --transport http sidenote 'https://sidenote-sync.netlify.app/mcp'. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.

Faut-il une clé API pour Sidenote ?

Son entrée au registre n'indique aucune clé ni secret obligatoire. Certaines fonctions peuvent tout de même demander un compte auprès du service auquel il se connecte.

Sidenote est-il open source ?

Oui. Son code est sur GitHub sous licence MIT.

Qui maintient Sidenote ?

Il est publié par ElMagoCT. AI.tn le référence sans le maintenir ni le recommander.

Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.