Skip to content

Markdown notes in a folder tree

Corpus is a private, single-user vault. Notes live in folders you name, are written in Markdown, and have a full version history. Reach them from a browser, a shell, or an MCP client.

See how it works

Free, offered as-is. Your vault is private to your account.

What it does

A folder tree

Notes sit in nested folders you name. Drag rows to move them, select several at once, rename in place, or delete a whole branch.

Markdown editor

A formatting toolbar for headings, lists, quotes, links, code fences and tables. Task checkboxes stay clickable in the rendered view.

Mermaid and Graphviz

Mermaid and Graphviz blocks render as diagrams in the note, next to syntax-highlighted code and GitHub-flavoured tables.

Full-text search

Search note names and note text together, and filter the results by tag. Each result shows the line that matched.

Version history

Each save archives the text it replaced. Open any earlier revision read-only, then restore it as the current one.

Tags on notes and folders

Name a tag and give it a colour once, then reuse it. Tags go on individual notes or on a whole folder.

Images and files

Drag images and files straight into a note. Images can be sized and aligned from the editor, and everything is stored privately to your account.

Keyboard shortcuts

The whole app is driven from the keyboard — new note, search, rename, history, save. Press ? in the app for the full list.

How it works

Write

Press N for a new note, pick the folder it belongs in, and write Markdown. Nothing is stored until you save it.

Every note is filed the moment it is created. Leave the page with unsaved edits and the app asks before discarding them.

  • NNew note
  • CtrlSSave

Step 1

Beyond the browser

Create a personal access token in Settings and the same notes are reachable from a shell and from an MCP client.

Command line

A path-addressed client with 24 commands for listing, reading, writing, moving, searching and restoring. One record per line, so `grep` and `cut` work on it.

npm install -g @schupke/corpus-cli
CLI reference

MCP server

Point an MCP client at your vault and 33 tools become available, split by scope so a read token is never shown a write tool.

{
  "mcpServers": {
    "corpus": {
      "url": "https://corpus.schupke.io/api/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_TOKEN>"
      }
    }
  }
}
MCP tool reference

Personal access tokens

Read or write scope, shown once and never stored in readable form, revocable at any time. Every write is recorded in an audit log you can read.

How tokens are stored

Start with an empty tree

Sign in and make the first folder. There is no setup beyond that.

Read the privacy page