Live multiplayer, no conflicts
See every teammate’s cursor and edits in real time. CRDT sync merges changes as you type, so there are no locks, no overwrites, and no "who has the file open."
npx easymd-cli auto onOne line: signs you in, then auto-syncs every .md in your repo to your account.
# CLAUDE.md
## Project context
- Stack: Next.js + Clerk
- Agents read this file
## Token rules
Prefer .md over PDF/DOCX
Real-time collaboration
Open a .md and edit it together, live, with teammates and AI in the same session. Presence, cursors, and CRDT sync on plain markdown that stays canonical on disk.
See every teammate’s cursor and edits in real time. CRDT sync merges changes as you type, so there are no locks, no overwrites, and no "who has the file open."
Agents join the same live session over MCP. What you type and what an agent writes land in the same file at once, so the next prompt references the current truth.
Agents patch one section at a time and can propose changes you accept or reject, so collaboration stays intentful and nobody clobbers your work.
Token economics
Convert messy documents into structured .md once, then reference the same portable file everywhere agents already work.
75–90%
Raw HTML
Strip tags, CSS, nested markup, and rendering noise that models never needed.
40–60%
Word / DOCX
Drop the embedded XML and style runs wrapped around the text. (Image-heavy files shrink less.)
40–65%
PDF vs page images
Send clean extracted text instead of OCR’d page images. Vs already-extracted text, markdown is roughly the same size.
Measured on real documents with the o200k tokenizer. HTML and DOCX figures compare the raw marked-up source to clean markdown; PDF compares page-image/OCR ingestion to extracted text. Actual savings vary by document.
Why it helps
Markdown keeps structure: headings, lists, and emphasis, without shipping hidden formatting code into every prompt.
Stop sending PDFs and Word files through OCR or XML parsing when the useful context fits in plain text.
Humans and agents edit the same source file, so the next prompt references the current truth instead of yesterday’s paste.
Current MCP server capabilities
It runs as a stdio MCP server that Claude, Cursor, or any agent can connect to. It joins the same live Yjs collaboration session as the browser, so agent edits and human edits happen in one shared document. New: agents can patch a single section at a time, see which part you are looking at, and wait for your reply instead of guessing.
read_sectionnewReads one heading-scoped section, so the agent pulls just the part it needs instead of the whole file.
write_sectionnewPatches a single section in place, minimizing conflicts and never clobbering what a human is editing elsewhere.
wait_for_changenewHands control back to the human and blocks until they reply, turning edits into real turn-taking.
get_contextnewReports the live outline and which section each person is editing, so agents work where you are looking.
propose_changeSuggests an edit as a reviewable proposal the human can accept or reject, instead of a silent overwrite.
flagRaises an inline callout when the spec conflicts with the code or an assumption goes stale.
update_task_stateKeeps a shared Task State block current: goal, decisions, next action, and the last validated command.
list_documentsLists every doc in the account with name, title, and last updated time.
read_documentReturns a document by name so the agent reads the latest live content.
create_documentCreates docs that open in live editors and appear in the dashboard.
update_documentReplaces content instantly in the same shared document session.
append_to_documentAppends text to existing content, useful for agent notes and running specs.
npx add-mcp@latest --command easymd --args mcp --name easymdConnect every agent (Cursor, Claude, VS Code…) after `npm i -g easymd-cli && easymd login`.
From your terminal
The MCP server joins the live Yjs collaboration session through stdio, so Claude and Cursor write into the same document as the browser. No separate API. No stale copy. No second source of truth.
$ easymd open CLAUDE.md
File: ./CLAUDE.md
Local: http://localhost:3847
Share this URL with teammates.ready to commit
Free to use. Sign up, open your dashboard, and invite a teammate. See token-efficient markdown collaboration in under a minute.