Skip to content

v1.0.0 — a calm window into a folder of markdown

Choose a tag to compare

@freema freema released this 03 Jul 22:56

First stable release.

vellum is a lightweight, self-hosted MCP server over a folder of markdown files. One static Go binary with an embedded web UI, one ~24 MB Docker image, ~5 MB idle RAM.

Highlights

  • Vault layer: CRUD over .md files with path-traversal/symlink protection, atomic writes, sha256 optimistic concurrency (ETag/If-Match → 409 on the REST side)
  • Structure: inbox/projects/archive conventions, inbox fallback for unfiled notes
  • Metadata index: tags + backlinks in RAM (1200 notes ≈ 50 ms), instant task filters
  • Search: zero-dependency parallel scan with tag/dir narrowing (1200 notes ≈ 13 ms)
  • MCP: Streamable HTTP at /mcp (official Go SDK), 15 tools + 6 optional curator tools, stdio mode
  • OAuth 2.1: single client secret, PKCE, consent screen — vellum is its own issuer, no external identity provider
  • Web UI: three-panel workspace (paper/midnight ink design), ⌘K palette, conflict dialog, self-hosted fonts
  • Ops: distroless read-only container, GHCR multi-arch (amd64+arm64), security docs

Quick start

curl -fsSLO https://raw.githubusercontent.com/freema/vellum/main/docker-compose.yml
echo "AUTH_ENABLED=true
VELLUM_CLIENT_SECRET=$(openssl rand -hex 32)" > .env
docker compose up -d

Connect Claude: claude mcp add --transport http vellum https://your-host/mcp

Image: ghcr.io/freema/vellum:1.0.0