Launching today

Vellum
Self-hosted MCP server over a folder of markdown
16 followers
Self-hosted MCP server over a folder of markdown
16 followers
A lightweight, self-hosted MCP server that turns a plain folder of markdown into memory your AI agent can read and write. One 24 MB container, no database, no embeddings, no lock-in. Your notes stay flat files you own in git, Obsidian, or any editor. 15 MCP tools, its own OAuth, conflict-safe writes. MIT.










The conflict-safe writes sound great since I have run into merge issues before with sync tools. One thing that would help me a lot is a built-in way to tag or scope which folders a given agent can touch, so my personal journal stays off limits when I let an assistant loose on work notes. Maybe something like per-call path prefixes or a config map that maps agent tokens to allowed directories.
@elanurkeysan This is exactly the right instinct, and it's next on my list. I'm planning token → directory mapping: each agent token gets an allowed path prefix, so I can let an assistant loose on work notes while my personal journal stays completely off limits, same vault, different scope. Conflict-safe writes already stop clobbering; this is the missing "don't even look here" half. Really glad you raised it, it's the exact shape I want to build.
finally something that respects my markdown obsession, spun it up in docker and my agent was reading my obsidian vault in under a minute. love that the files stay flat
@poyraz860407 This made my day, that's the whole point. Vellum serves the same folder you're already editing, so nothing gets migrated or trapped, your agent and Obsidian just work on the same flat files. And no, it's not another Python thing, it's a single Go binary, one 24 MB container, ~5 MB idle RAM. That's why it spun up so fast. 🙏
Quick follow-up on where I'm taking this next 👇
Per-agent path scoping — token → directory mapping, so one vault can safely serve multiple agents. An assistant gets loose on my work notes while my personal journal stays completely off limits. Same vault, different scope.
A desktop app — so you don't have to touch Docker at all. Same Go binary under the hood, just a one-click window into your vault.
An observability layer — it captures my Claude Code / Claude Desktop conversations, then a deterministic curator step files them into markdown for later analysis. Memory that writes itself, still as flat files you own.
All of it keeps the same rule: no database, no embeddings, no lock-in, one small Go binary.