Read and edit a live local-first PowerScroll visual notebook.
A local-first visual notebook in one editable HTML file—with an MCP bridge for AI agents.
Try PowerScroll · Download PowerScroll.html · Agent setup · Report a problem

PowerScroll combines the hierarchy of OneNote, the freeform canvas of a whiteboard, and editable diagrams in a notebook you completely own. No account, server, proprietary database, or cloud connection is required.
PowerScroll.html.The hosted demo does not upload notebook content. Download or save your notebook to keep it; your browser file is the source of truth.
Every notebook contains the complete editor, structured workspace, drawings, images, and optional extensions. It opens offline and remains editable. Sharing the file shares a working copy rather than an export that needs PowerScroll installed elsewhere.
Sections and pages provide notebook hierarchy. Inside each page, named scrolls create independent vertical workstreams on an infinite canvas. Markdown, math, images, ink, shapes, PlantUML, Mermaid, SVG, and draw.io content can live beside one another.
The local MCP bridge lets an agent read pages, add and move blocks, manage scrolls, insert images, create native editable diagrams, and save the notebook. Agent edits use the same in-memory stores, undo history, and save path as human edits—there is no shadow database to reconcile.

The bridge is off by default and listens only on your machine. Run the published package directly from npm:
npx -y powerscroll-mcp
Then open a notebook and enable Settings → Agent bridge → Let a local agent write into this notebook. See the complete tool and client setup guide.
The executable is published as powerscroll-mcp
and its discovery metadata is active in the
official MCP Registry.
The latest GitHub release also carries a package tarball as a fallback, but npm
is the canonical install source.
Normal editing does not require a PowerScroll server or account. Update checks and optional extension installation contact GitHub; the local agent bridge makes a loopback WebSocket connection only after the user enables it.
A notebook is executable HTML. Open notebooks only from people you trust, just as you would any executable document. See SECURITY.md for the threat model and private vulnerability-reporting instructions.
PowerScroll opens existing PowerNote notebooks directly. Legacy embedded ids, internal links, storage, and bridge protocol identifiers remain supported.
For a notebook too old to update itself:
PowerScroll.html.npm install
npm install --prefix powernote-mcp
npm run dev
npm run build:template
npx playwright test
npm run test:bridge
PowerScroll is built with React, TypeScript, Vite, Konva, and Zustand. Behavioral
requirements and their test traceability live in docs/. Contribution
expectations are in CONTRIBUTING.md. Maintainers should use
the release runbook and update the
deployment ledger after publishing.
MIT © 2026 Constantin Chabirand
Source-derived launch command. Check the maintainer’s required arguments and credentials before running:
npx -y powerscroll-mcpMerge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.
{
"mcpServers": {
"io-github-cynacons-powerscroll": {
"command": "npx",
"args": [
"-y",
"powerscroll-mcp"
]
}
}
}Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.
Claude Desktop setup referencepowerscroll-mcpnpmPowerScroll works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.