Ecosystem

Software that implements or integrates with the Mark Protocol. First-party tooling lives in the main demarkus repository; third-party implementations are listed as they appear.

Browsers and readers

Demarkus Library

The web reading room: server-rendered Go + htmx over one world or a whole knowledge system, with the AI librarian. Trail canvas, hover preview cards, the universe floor, and a cataloging desk with version-guarded writes.

Caztor

Cross-platform Java GUI browser for Gemini, Spartan, Gopher, Nex, and Demarkus. By Kevin Boone.

Demarkus TUI

The reference terminal browser, built on Bubble Tea and Glamour.

Plugins

Claude Code

Two plugins ship from the same marketplace (/plugin marketplace add latebit-io/demarkus). They compose in one install and partition by server scope.

demarkus-memory is personal agent memory (the memory pattern). Zero-config: spawns a local demarkus-server, auto-generates a token, and wires the MCP tools on first session.

demarkus-knowledge joins an organizational knowledge system, a broker-fronted universe of worlds. No binaries and no local server: pure broker plus the Claude Code MCP OAuth flow.

OpenCode

The OpenCode ports provide the same memory and knowledge-system workflows and share ~/.demarkus state with the Claude Code and pi plugins.

demarkus-opencode-memory installs local memory support:

curl -fsSL https://raw.githubusercontent.com/latebit-io/demarkus/main/plugins/opencode-memory/install.sh | bash

demarkus-opencode-knowledge joins an organizational knowledge system:

curl -fsSL https://raw.githubusercontent.com/latebit-io/demarkus/main/plugins/opencode-knowledge/install.sh | bash

pi

The same two plugins, ported to the pi coding agent and mapped onto its extension API. They share ~/.demarkus state with the Claude Code and OpenCode plugins (one memory, one token, one set of registries), so all three agents can run on the same machine.

Both need the MCP adapter first:

pi install npm:pi-mcp-adapter

demarkus-pi-memory is the local memory, with the same zero-config provisioning, gates, and nudges. Commands: /memory, /memory-context, /memory-journal, /memory-init, /memory-join, /memory-default, /memory-status, /memory-doctor, /memory-refresh, /promote, /promote-scan, plus the remember skill.

demarkus-pi-knowledge joins a knowledge system over the adapter’s OAuth, with no tokens stored locally. Commands: /knowledge, /knowledge-join, /knowledge-doctor, plus the knowledge-promote skill.

git clone https://github.com/latebit-io/demarkus
pi install ./demarkus/plugins/pi-memory      # add -l for project-local scope
pi install ./demarkus/plugins/pi-knowledge

Agent platforms

Indexing agent

demarkus-agent crawls the worlds it is seeded with, collects content hashes, and publishes the aggregate back to a hub: sharded hash indexes for content-addressed fetch and an atomic sharded graph snapshot under /graph/manifest.md, both staged in A/B slots so readers never see a partial write. Crawls walk large directories with paginated LIST cursors. Clients seed their graph from that aggregate, so a cold agent answers backlink questions on its first call instead of crawling.

# one pass
demarkus-agent crawl -seeds mark://world.example.com -publish -publish-graph

# on a schedule
demarkus-agent daemon -config /etc/demarkus-agent/config.toml -publish -publish-graph

Published artifacts carry a version retention cap (newest 20 by default) so a generated document does not accumulate thousands of versions. The appliance installs it as a timer that republishes every 6 hours.

CLI and server tools

Tool Purpose
demarkus-server Serve a directory of markdown files
demarkus-knowledge-server Production server hosting many worlds in one process (SNI-routed, GCS-backed)
demarkus-knowledge-bootstrap Initialize a world’s GCS bucket and seed its policy
demarkus CLI: fetch, list, publish, edit, graph, lookup, okf
demarkus-tui Terminal browser with graph view
demarkus-mcp MCP server for LLM agents: tools, resources, prompts
demarkus-agent Indexing agent: crawls worlds, aggregates the graph, publishes hub indexes
demarkus-knowledge-broker OIDC-fronted MCP gateway composing many worlds into one system
demarkus-memory-broker OIDC-fronted MCP gateway serving one private memory world per identity (memory as a service)
demarkus-library Web reading room with the AI librarian
demarkus-token Generate capability-based auth tokens
demarkus-publish Write directly to the store for read-only server installs
demarkus-migrate Migrate document history between store backends

Building your own

The protocol surface is small: QUIC with ALPN mark, a text request verb (one of FETCH, LIST, VERSIONS, LOOKUP, PUBLISH, APPEND, ARCHIVE), and YAML-style ----delimited metadata in responses. Caztor’s read-only Java client is roughly a hundred lines. See the protocol reference for the full spec.

If you ship something that speaks Demarkus, open an issue or drop a link and we will list it here.