mnmnote-mcp
v0.1.0
Published
Local MCP server for MNMNOTE — let an LLM (Claude, Cursor, Codex) search, read, and create your end-to-end-encrypted notes. Keys never leave your machine.
Maintainers
Readme
mnmnote-mcp
A local MCP (Model Context Protocol) server for MNMNOTE. It lets an AI client — Claude Desktop/Code, Cursor, OpenAI Codex — search, read, and create your notes.
MNMNOTE is end-to-end encrypted. This server runs locally over stdio, holds your API tokens in environment variables, and does all the crypto on your machine — so your keys never leave your computer and your notes stay E2EE. The sync server only ever sees ciphertext.
Install & configure
You need Node 20+. Add this to your client's MCP config (env holds your tokens — get them from
the app under Settings → Sync):
{
"mcpServers": {
"mnmnote": {
"command": "npx",
"args": ["-y", "mnmnote-mcp"],
"env": {
"MNMNOTE_SYNC_URL": "https://mnmnote-sync.<sub>.workers.dev",
"MNMNOTE_USER_ID": "<your-user-id>",
"MNMNOTE_READ_TOKEN": "mnmn_rk_...",
"MNMNOTE_WRITE_TOKEN": "mnmn_ik_..."
}
}
}
}Include only the read token (read-only), only the write token (write-only), or both. At least one is required. Full guide: docs/apis/mcp-server.md.
Tools
search_notes · list_notes · get_note · create_note · update_note · check_connection
- Reading needs one of your signed-in devices to be online.
- Writing is asynchronous — a new/updated note appears the next time a browser is open & unlocked.
Develop
npm install
npm run gen:vectors # regenerate crypto parity fixture from app source (only on an intended change)
npm test # unit tests (crypto parity, config, capture, fetch, redaction)
npm run typecheck
npm run build # tsup → dist/index.js (bundled ESM, executable)Security
- Only a derived auth-half bearer crosses the wire; your token and the decryption keys never leave the process (and the raw tokens are dropped from the environment after startup).
- Tokens are read from
envonly and are redacted from all logs/errors. - Note content returned by
get_noteis wrapped as untrusted data (prompt-injection defense).
MIT © MNMNOTE
