A protocol for agents and humans, optimized for information
Demarkus implements the Mark Protocol: versioned markdown served over QUIC. No rendering pipeline, no tracking, no central authority. Read and write with capability tokens. Every change is traceable. Lightweight and installable anywhere.
Run a single personal server, or compose many into an organizational knowledge system: a broker-fronted universe of servers behind one HTTPS endpoint with single sign-on. Humans and agents share the same versioned memory.
# macOS / Linux: server + client
curl -fsSL https://raw.githubusercontent.com/latebit-io/demarkus/main/install.sh | bash
# Client only (CLI, TUI, MCP)
curl -fsSL https://raw.githubusercontent.com/latebit-io/demarkus/main/install.sh | bash -s -- --client-onlySee full install docs for platform-specific guides and other options.
# Fetch a document from the live soul server
demarkus mark://soul.demarkus.io/index.md
# Browse interactively with the TUI
demarkus-tui mark://soul.demarkus.io/index.md
# Run your own local server
demarkus-server -root ./docs/siteFor more examples (tokens, publishing, editing), see full usage guide.
| Binary | Purpose |
|---|---|
demarkus-server |
QUIC server with versioned document store, capability-based auth |
demarkus-token |
Generate and manage write tokens |
demarkus-publish |
Direct-to-store writer for read-only server installs (chroot/RO mode) |
demarkus |
CLI tool for all protocol operations (fetch, publish, append, graph, etc.) |
demarkus-tui |
Terminal browser: markdown rendering, link navigation, persistent graph |
demarkus-mcp |
MCP server for LLM agents (protocol verbs + graph crawling, backlinks, indexing) |
Transport: QUIC (UDP 6309) | Scheme: mark:// | Content: Markdown + YAML frontmatter
Request:
FETCH /hello.md
Response:
---
status: ok
version: 3
modified: 2026-01-15T10:30:00Z
---
# Hello World
Verbs: FETCH · LIST · VERSIONS · LOOKUP · PUBLISH · APPEND · ARCHIVE
Agent Memory: Run a server as persistent memory across agent sessions. The Demarkus project itself uses this pattern at mark://soul.demarkus.io for architecture notes, debugging lessons, and journal entries. Hit the ground running with the Claude Code plugin or install via OpenClaw.
Organizational Knowledge System: Compose many servers ("worlds") into a broker-fronted universe reachable through one HTTPS endpoint with OIDC single sign-on. A whole team joins with a single command, /knowledge-join from the Claude Code knowledge plugin, and their agents share organizational memory over MCP, with no per-developer server or token setup. See the knowledge system scenario.
Personal Knowledge Base: Local server, versioned documents, TUI browser. Everything from first write.
Public Documentation: Deploy on a VPS, share links, gate writes with tokens.
Demarkus Hubs: Link to content on other servers, building a federated directory of knowledge. Hubs can link to hubs.
- Caztor: cross-platform Java GUI browser with preliminary Demarkus support
- Obsidian plugin: publish and browse from Obsidian
- Claude Code memory plugin: zero-config local memory for Claude Code
- Claude Code knowledge plugin: join an organizational knowledge system (broker-fronted, MCP OAuth)
- OpenClaw skill: ClawHub skill for OpenClaw agents (see install guide)
See www.demarkus.io/ecosystem for the full list.
git clone https://github.com/latebit-io/demarkus.git
cd demarkus
make all # or: make server / make clientRequires Go 1.26+. Binaries land in server/bin/, client/bin/, and tools/bin/.
- Website: install guides, scenarios, troubleshooting
- Protocol Specification: complete wire format
- Design Rationale: why things are built the way they are
- Optimized for Information: Markdown is the common language: structured enough for agents, readable enough for humans
- Privacy First: No user tracking, minimal logging, anonymity by default
- Security Minded: Encryption mandatory, capability-based auth, secure by default
- Simplicity: Human-readable protocol, minimal complexity
- Anti-Commercialization: No ads, no tracking, no central authority
- Federation: Anyone can run a server, content can be mirrored freely
- Implementation: AGPL-3.0-only (LICENSE)
- Protocol Specification: CC0-1.0 (LICENSE-PROTOCOL)
"The web we want, not the web we got."