The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Gosidian listing page.
Markdown notes your AI agents can read, write, and reason over — via MCP.
A self-contained markdown vault with a built-in MCP server. Humans
edit through a web UI, agents talk to it over MCP, everything lives
in plain .md files that Obsidian (and every other markdown tool)
reads natively.
Listed on the official MCP Registry
as io.github.daniele-chiappa/gosidian,
Glama and
mcpservers.org

Launch a free, throwaway gosidian in
GitHub Codespaces — no install,
running on your own Codespaces quota. It builds from source, seeds a small
demo vault, and opens the web UI. Log in with demo /
gosidian-demo.
Three commands: Docker up → token created from the web UI → agent
wired. Your .md vault is persisted under ./vault/; stop the
container and the files are still there.
Other installation paths (source, custom compose, bare-metal): docs/getting-started.md.
.md files on disk. Open the same
folder in Obsidian, VS Code, vim, or any editor you already use.
Zero lock-in: delete .gosidian/ and you have a pure Obsidian
vault.go:embed). Notes, graph, search and
config forms open as windows in a tiling "plancia" workspace —
full-text search, backlinks, graph view, editor with live preview,
audit trail, admin pages for tokens and users.All three views hit the same files on disk. The SQLite FTS5 index is a cache — drop it and it rebuilds.
.md files you can take
anywhere.FAQ covers the long form.
The "markdown vault + agents" space is crowded. This is where gosidian sits and where it doesn't, as of September 2026:
| If you are looking at… | What those projects do | Where gosidian differs |
|---|---|---|
| Obsidian MCP bridges — mcp-obsidian, obsidian-local-rest-api, wrappers around the Obsidian CLI | Expose a running Obsidian desktop app to agents over MCP. | Headless server: no Obsidian process needed, runs on a box or in a container, multi-user with roles, per-project visibility and grants (accounts and teams), tokens narrowed to each account, audit trail. The vault stays a plain Obsidian vault. |
| Markdown memory servers — basic-memory, mcp-vault | Same "files, not a database" idea; usually add hybrid semantic search, a cloud tier or WebDAV sync. | Ships a full web UI, real multi-user, an agent handoff bus and a server-served working method (versioned directives, lint, stale detection). No semantic search by design (ADR-007), no hosted tier. |
| Client-side wiki skills — obsidian-wiki and the "LLM Wiki" pattern | Slash-commands the agent runs locally to compile and maintain a wiki. No server, no auth, no UI. | The same pattern implemented server-side and agent-agnostic: one-call scaffold, directives served at bootstrap, handoffs, audit. Complementary: those skills work against a gosidian vault too. |
| Agent memory services — mem0, agentmemory, mcp-memory-service | Memory as an opaque store: embeddings, recall benchmarks, auto-capture hooks. | Memory is markdown that humans read in Obsidian or the web UI; no embeddings, no LLM calls in the binary, retrieval by identity and graph. Auto-capture through Claude Code hooks (contrib/claude-code/: focus injected at session start, session digests at compaction and end) rather than inside the binary. No published recall numbers yet. |
| Note apps with community MCP servers — SilverBullet, Trilium, SiYuan | Mature editors, mobile apps, sometimes real-time collaboration; MCP added by third-party servers on top of their API. | MCP-first: the server is in the binary, behind the same login, roles and audit as the UI. No mobile app, no real-time collaboration, no WYSIWYG editor. |
Honest gaps, in the order they come up: semantic / hybrid search (deferred, see the FAQ), mobile sync beyond git, real-time collaboration, a hosted offering. The roadmap says which of these are planned.
read / write) and per-project
restriction — including multi-project tokens for orchestrators;
every token owned by an account is narrowed on each request to what
that account may read and write, accounts mint their own (inherit
follows their access, custom pins a subset), cascade-revoke on
user disablememory_wait_changes long-poll change feed — a minimal multi-agent
task queue where everything stays plain markdowncontrib/claude-code/):
the project's hot.md focus injected at every session start, a
digest of the session appended to the vault at compaction and at the
end — no LLM, over POST /mcp/append, never blocking the session.html notes, rendered in a sandboxed iframe (off by
default, opt-in per project)memory_hubs (most-linked
notes) and memory_path (shortest path between two notes)| Area | Start here |
|---|---|
| Install + configure | Getting started, Configuration, Deployment |
| MCP integration | Overview, Tool catalogue, Authentication, Client setup, Agent patterns, Claude Code hooks |
| Web UI | Overview, Editor, Authentication & roles, Settings |
| Vault | Format, Conventions, Multi-project, Global projects, Obsidian compatibility |
| Internals | Architecture, Development |
| Common questions | FAQ |
Full index: docs/README.md.
Contributions welcome. See CONTRIBUTING.md for the workflow, test expectations, and translation guidelines.
Security issues are reported privately. See SECURITY.md for the disclosure process.
Released under the MIT License.