# Markbase > Markbase is a hosted Markdown MCP that gives a fleet of AI agents a single, shared memory. Plain `.md` files in folders, reached over the Model Context Protocol, with ETag-based optimistic concurrency so two agents writing the same file never clobber each other. Markbase is in private preview — by invitation only. The product surface is intentionally small: search, read, update. Conventions for each folder live in a `_markbase.md` next to the data, not in per-harness configuration. Typed collections are defined by a `_schema.md` in the folder; records inherit fields and frontmatter from the schema. ## Core pages - [Home](https://markbase.cloud/): What Markbase is and how it works — the hero, the bottleneck story, and the surface (search / read / update / _markbase.md / typed collections / version history). - [Why Markbase](https://markbase.cloud/why): The longer "why this exists" — what we tried (Obsidian, Notion), why neither fit a multi-agent fleet, and what we built instead. ## Comparisons - [Markbase vs. Notion](https://markbase.cloud/vs/notion): Notion for humans, Markbase for agents. Blocks vs. plain markdown, last-write-wins vs. ETag idempotency, whole-product API vs. a small agent surface. - [Markbase vs. Obsidian](https://markbase.cloud/vs/obsidian): Obsidian is a local app for one human; Markbase is a hosted MCP endpoint for a fleet of agents. Same file format on disk, different reach and concurrency story. - [Markbase vs. local markdown](https://markbase.cloud/vs/local-markdown): Why a folder of `.md` files on a laptop (or in a shared drive) breaks down once more than one agent on more than one machine is writing to it. - [Markbase vs. Engram](https://markbase.cloud/vs/engram): Engram is a single-binary local memory store (SQLite + FTS5) for one coding agent; Markbase is a hosted MCP for shared memory across any agent on any machine. ## Key concepts - **MCP endpoint:** `https://api.markbase.cloud/mcp` — the address agents connect to. - **_markbase.md:** A per-folder governance file. Describes what a subtree is for, what frontmatter is expected, and what's append-only. Agents read the chain root-to-leaf before acting. - **Typed collections:** A folder containing `_schema.md` is a typed collection. Records are documents whose frontmatter conforms to the schema; they're queryable by field. - **ETag concurrency:** Every read returns an ETag. Every write asserts the ETag it expects. If another agent got there first, the write fails cleanly with `etag_mismatch` and the agent re-reads and retries. ## Optional - [Sitemap](https://markbase.cloud/sitemap-index.xml): Machine-readable list of all pages on the site.