01 VS Code and Cursor Extension
VS Code and Cursor Extension
The MDflow Workspace extension brings your workspace into VS Code, Cursor, and other VS Code-compatible editors, so you browse and edit your markdown documents without leaving your editor.
This extension requires MDflow Pro, because it works through the HTTP API — see 02 HTTP API and 04 Free and Pro Plans. A Free account can sign in, but every request returns a "Pro plan required" message until the workspace is upgraded. The extension itself is free and open source (MIT).
Installing
One extension, published to two registries:
- Visual Studio Marketplace — for VS Code.
- Open VSX — for Cursor, Windsurf, VSCodium, and other Open VSX editors.
Search for MDflow Workspace in your editor's extensions panel.
Guides: mdflow.cz/docs/vscode · mdflow.cz/docs/cursor
Signing in
Two ways:
- A browser-based OAuth flow — click, authorize, done.
- A pasted Personal Access Token — create one in MDflow Settings; see 01 Personal Access Tokens.
Either way, credentials are stored in your editor's encrypted Secret Storage — never in settings files, and never in plain text.
You can be signed in to one account at a time.
Browsing
An MDflow tree view appears in the Explorer sidebar, showing workspaces → folders → documents. Items load on demand as you expand them, with a manual Refresh when you want to re-pull.
Editing
Documents open as native markdown tabs, backed by a virtual mdflow: file system. That means your editor treats them as real files — syntax highlighting, the markdown preview, extensions, keybindings, all of it works normally.
Ctrl/Cmd+S saves the body straight back to MDflow. The 500 KiB limit is enforced before the request is sent, so you get a clear error rather than a rejected round trip.
Managing your workspace
Full CRUD from the tree's context menus:
- Workspaces — create, rename, delete.
- Folders — create, rename, move, delete.
- Documents — create, rename, move, delete.
The tree always shows the server-returned name, so if MDflow auto-disambiguated your title to (2), that is what you see. No optimistic lie about what got saved.
Encryption
Per-file encryption from the editor title bar and the Command Palette:
- Encrypt
- Unlock
- Lock (forget the password)
- Remove Encryption
Documents decrypt on open and re-encrypt on save, in the same mdflow-enc:v1 format (PBKDF2 at 600,000 iterations → AES-256-GCM) as the web app, the iOS app, and the mdflow-crypt CLI — see 01 Document Encryption. A document encrypted in one opens in the others.
There is no password recovery.
Note this is the one companion tool besides the web app that can remove encryption — the iOS app cannot; see 02 iOS App.
Pointing at a local server
The mdflow.baseUrl setting points the extension at a different server, defaulting to https://mdflow.cz. Useful if you run MDflow locally for development.
What it is — and is not
It is a live HTTP API client, not a sync engine. Concretely:
- No offline editing. You need a connection.
- No caching.
- No conflict resolution — last write wins. If you and an agent both save, the later save overwrites.
- One account at a time.
That last-write-wins behaviour is the important one. Unlike the GitHub and Google Drive integrations, which detect a changed file and refuse to overwrite silently, the extension does not. If you are editing the same document from several places, be aware.
Staying in the web app: sharing, collections, and workspace search. The extension browses and edits; it does not publish.
Why use it
If you already live in VS Code or Cursor, this puts your notes and your code in the same window — and, more to the point, in the same context for whatever AI assistant is running in that editor.