Hatchdoor — Claude Code MCP server: what it does, what's in it
A server that puts an MCP endpoint and a web UI on the same folder of Markdown notes. Your agent writes to it, you edit in the browser.
Open on GitHubWhat Hatchdoor does
Point Hatchdoor at a directory of Markdown files and it serves both a web interface and an MCP endpoint from it. Nothing else has to be installed on the machine: no Obsidian, no community plugin, no desktop app left open in the background.
Browsing, backlinks and the knowledge graph run off a throwaway SQLite read model. Delete the cache and it gets rebuilt from the files on disk, since the Markdown stays authoritative. Agent edits go through the same atomic operations the UI uses, with optimistic concurrency and, if you switch it on, an automatic git commit and push. A single instance can serve several vaults with separate sources and separate agent scopes.
The published container image is distroless and runs as nonroot, with no shell inside, so a broken mount is not something you repair from a terminal in the container. Mount a vault read-only and the in-browser editor stays off; you keep browsing and search.
What it helps with
- find a note by meaning rather than exact wording
- rename a tag across the whole vault in one checked operation
- give a coding agent access to a personal note folder
- serve a Markdown directory over HTTP without installing Obsidian
- keep a git history of everything the agent changes
Example prompts for the agent
- Search the vault for notes on Postgres indexes and show me only the GIN part
- Create
projects/hatchdoor.mdand link it from[[Roadmap]] - Rename the
drafttag toarchiveeverywhere in the vault
How to install Hatchdoor
Install
The MCP registry has no launch command for it: see the repository README
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about Hatchdoor
What does Hatchdoor do?
It exposes one directory of Markdown notes twice over: a web UI for people and an MCP server for agents. Writes from either side run through the same atomic vault operations.
Do I need Obsidian installed?
No. Files are read straight from disk, so neither the desktop app nor the Local REST API plugin has to be running. Wikilinks like [[Note]] and [[Note|Alias]] still work, and so do fenced base blocks in Bases syntax.
Which clients can talk to this MCP server?
It targets Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline and Zed. One instance handles several vaults, each with its own agent scope.