mdinterface
A rendered markdown canvas beside a live Claude Code session, bridged only by the file on disk. Highlight a passage and it sets both what Claude sees and what it's allowed to change — ask for a fix or a rewrite, and just that block changes and re-renders. Open source, on npm: npx mdinterface doc.md
The two panes never talk to each other directly. The full document loads into Claude's context at session start, the canvas selection rides along with each message via hooks, Claude edits the file through a canvas_edit MCP tool, and a file watcher re-renders the canvas the instant the file is written. The file is the interface.
- Selection-scoped edits — a two-word instruction changes exactly the passage you highlighted and leaves the rest alone
- Git-native Notion sync — a marker on the first line links a document to a Notion page, with three-way pull/push/conflict verdicts computed against the last-synced git tag
- Notion comment awareness — a background poller surfaces new comments on the linked page to Claude proactively
- Launch with no file for an empty canvas and a file picker, or point it at any markdown file
- Runs from npm with no install:
npx mdinterface
Sourcegithub.com/kevinsundstrom/mdinterface · MIT
Install
npx mdinterface doc.md — Node 18+ and the claude CLIStackNode · node-pty (optional) · MCP · plain HTML/JS frontend
Status0.2.1 on npm · release notes on the changelog