# gosidian

**Category:** 🧠 Knowledge & Memory  
**Repository:** https://github.com/daniele-chiappa/gosidian  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/gosidian

## Description
Self-hosted Obsidian-compatible markdown vault with a web UI and a 57-tool MCP server for AI agents

## Claude Desktop Quick Installation
Heuristic fallback — verify the package name and runner against the repository README before running it. Uses `npx` (confidence: low):

```json
"mcpServers": {
  "gosidian": {
    "command": "npx",
    "args": ["-y","gosidian"]
  }
}
```

## Documentation & README

# gosidian

> **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](https://registry.modelcontextprotocol.io/v0/servers?search=gosidian)
as `io.github.daniele-chiappa/gosidian`,
[Glama](https://glama.ai/mcp/servers/daniele-chiappa/gosidian) and
[mcpservers.org](https://mcpservers.org/servers/daniele-chiappa/gosidian)
[![Glama score](https://glama.ai/mcp/servers/daniele-chiappa/gosidian/badges/score.svg)](https://glama.ai/mcp/servers/daniele-chiappa/gosidian)
[![Listed on mcpservers.org](https://mcpservers.org/badge.svg)](https://mcpservers.org/servers/daniele-chiappa/gosidian)

![gosidian in action](https://raw.githubusercontent.com/daniele-chiappa/gosidian/HEAD/docs/demo.gif)

## Try it in your browser

[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/daniele-chiappa/gosidian)

Launch a free, throwaway gosidian in
[GitHub Codespaces](https://github.com/features/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`**.

## Quick start

```bash
docker run -d --name gosidian \
  -p 8080:8080 \
  -v "$(pwd)/vault:/vault" \
  ghcr.io/daniele-chiappa/gosidian:latest
# open http://localhost:8080, create admin, copy the MCP token from /admin/tokens
claude mcp add gosidian http://localhost:8080/mcp \
  --transport http --header "Authorization: Bearer $TOKEN"
```

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](https://github.com/daniele-chiappa/gosidian/blob/HEAD/docs/getting-started.md).

## What is gosidian

- **A markdown vault.** Notes are `.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.
- **An MCP server.** 57 typed tools let agents bootstrap a session, ingest files,
  search, read, write, link, handoff, self-check, audit. Bearer tokens
  and OAuth grants, each narrowed on every request to what its account
  may read and write.
- **A web UI.** A Vue 3 single-page app served from the same binary
  (built with Vite, embedded via `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.

## Who it's for

- **AI engineers** wiring agents that need persistent structured
  memory: note-taking, plans, skills, ADRs, handoffs, audit.
- **Obsidian users** who want a programmable layer on top of a vault
  they already trust.
- **Teams** sharing one vault: per-project visibility and grants to
  accounts and teams, restricted new accounts with their own project,
  self-service tokens per agent that never outrun their owner.

## Why gosidian instead of X

- **vs RAG / vector search**: gosidian retrieves by *identity* (path,
  tag, frontmatter, backlinks) — more predictable than similarity
  search for an agent's working memory. Semantic search is
  deliberately deferred: see [ADR-007 rationale](https://github.com/daniele-chiappa/gosidian/blob/HEAD/docs/faq.md#why-not-rag-or-vector-search).
- **vs Obsidian Sync**: Sync mirrors a vault between human devices.
  gosidian adds a typed automation surface (MCP) to the same vault.
  Not competitive — complementary.
- **vs Notion / Roam**: hosted or proprietary formats; migration is
  a project. gosidian's vault is already `.md` files you can take
  anywhere.

[FAQ](https://github.com/daniele-chiappa/gosidian/blob/HEAD/docs/faq.md) covers the long form.

## Compared to similar projects

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](https://github.com/MarkusPfundstein/mcp-obsidian), [obsidian-local-rest-api](https://github.com/coddingtonbear/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](https://github.com/basicmachines-co/basic-memory), [mcp-vault](https://github.com/cyt-666/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](https://github.com/daniele-chiappa/gosidian/blob/HEAD/docs/faq.md#why-not-rag-or-vector-search)), no hosted tier. |
| **Client-side wiki skills** — [obsidian-wiki](https://github.com/Ar9av/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](https://github.com/mem0ai/mem0), [agentmemory](https://github.com/rohitg00/agentmemory), [mcp-memory-service](https://github.com/doobidoo/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](https://github.com/silverbulletmd/silverbullet), [Trilium](https://github.com/TriliumNext/Trilium), [SiYuan](https://github.com/siyuan-note/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](https://github.com/daniele-chiappa/gosidian/blob/HEAD/docs/faq.md#why-not-rag-or-vector-search)),
mobile sync beyond git, real-time collaboration, a hosted offering. The
[roadmap](https://github.com/daniele-chiappa/gosidian/blob/HEAD/docs/faq.md#whats-the-roadmap) says which of these are planned.

## Feature highlights

- Single binary, ≤50 MB, Alpine-based Docker image
- Web UI: a Vue 3 SPA (Vite, Pinia, Tailwind, CodeMirror, Cytoscape),
  embedded in the binary — editor + live preview, sidebar, search,
  graph view, attachments, audit log, admin pages
- **Plancia** tiling window manager (niri-style): notes, graph, search
  and config forms open as resizable, side-by-side windows in a
  horizontally-scrollable workspace, restorable from the URL
- MCP server over Streamable HTTP (legacy HTTP+SSE kept) with 57 typed tools
- Bearer tokens with scopes (`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 disable
- **Agent orchestration bus**: handoff notes with an atomic
  claim/complete lifecycle, server-stamped identity, and a
  `memory_wait_changes` long-poll change feed — a minimal multi-agent
  task queue where everything stays plain markdown
- Multi-user web login with roles (Admin / User / Read-only) as the
  ceiling, per-project **visibility** (private / internal / public) for
  reading and **grants** (read / write / admin) to accounts and
  **teams** for everything else, delegated to project admins; new
  accounts start restricted with a personal project of their own;
  invite-only signup (24h TTL)
- Optional **TOTP two-factor** (global mode + per-user override) and
  **LDAP / Active Directory** login with guest auto-provisioning
- Opt-in **OAuth 2.1 authorization server** so claude.ai / Claude Desktop
  custom connectors, ChatGPT connectors and Claude Code's browser login
  get their own tokens through a consent screen — no pasted bearer
- **Claude Code hooks** ([`contrib/claude-code/`](https://github.com/daniele-chiappa/gosidian/blob/HEAD/contrib/claude-code/README.md)):
  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
- Optional git sync (debounced commits, push with token auth)
- SQLite FTS5 full-text search + ETag optimistic locking
- First-class `.html` notes, rendered in a sandboxed iframe (off by
  default, opt-in per project)
- Graph analytics over the wikilink graph: `memory_hubs` (most-linked
  notes) and `memory_path` (shortest path between two notes)
- Opt-in **self-improve loop**: agents record usage-friction insights
  per token, off by default
- Print / Save-as-PDF for any markdown note straight from the web UI
- Internationalization (IT + EN complete; ES / FR / DE scaffolding)
- Light & dark theme presets (Catppuccin, Tokyo Night, Solarized) +
  custom palette
- Opinionated [Karpathy-Wiki-Stack](https://github.com/daniele-chiappa/gosidian/blob/HEAD/docs/vault/conventions.md#karpathy-wiki-stack-project-shape)
  project layout with one-call scaffolding
- Optional [global projects](https://github.com/daniele-chiappa/gosidian/blob/HEAD/docs/vault/global-projects.md) for skills,
  agents & scaffold templates shared across projects (opt-in per
  project, local-overrides-global)

## Documentation

| Area | Start here |
|---|---|
| **Install + configure** | [Getting started](https://github.com/daniele-chiappa/gosidian/blob/HEAD/docs/getting-started.md), [Configuration](https://github.com/daniele-chiappa/gosidian/blob/HEAD/docs/configuration.md), [Deployment](https://github.com/daniele-chiappa/gosidian/blob/HEAD/docs/deployment.md) |
| **MCP integration** | [Overview](https://github.com/daniele-chiappa/gosidian/blob/HEAD/docs/mcp/overview.md), [Tool catalogue](https://github.com/daniele-chiappa/gosidian/blob/HEAD/docs/mcp/tools.md), [Authentication](https://github.com/daniele-chiappa/gosidian/blob/HEAD/docs/mcp/authentication.md), [Client setup](https://github.com/daniele-chiappa/gosidian/blob/HEAD/docs/mcp/client-setup.md), [Agent patterns](https://github.com/daniele-chiappa/gosidian/blob/HEAD/docs/mcp/patterns.md), [Claude Code hooks](https://github.com/daniele-chiappa/gosidian/blob/HEAD/contrib/claude-code/README.md) |
| **Web UI** | [Overview](https://github.com/daniele-chiappa/gosidian/blob/HEAD/docs/web-ui/overview.md), [Editor](https://github.com/daniele-chiappa/gosidian/blob/HEAD/docs/web-ui/editor.md), [Authentication & roles](https://github.com/daniele-chiappa/gosidian/blob/HEAD/docs/web-ui/authentication.md), [Settings](https://github.com/daniele-chiappa/gosidian/blob/HEAD/docs/web-ui/settings.md) |
| **Vault** | [Format](https://github.com/daniele-chiappa/gosidian/blob/HEAD/docs/vault/format.md), [Conventions](https://github.com/daniele-chiappa/gosidian/blob/HEAD/docs/vault/conventions.md), [Multi-project](https://github.com/daniele-chiappa/gosidian/blob/HEAD/docs/vault/multi-project.md), [Global projects](https://github.com/daniele-chiappa/gosidian/blob/HEAD/docs/vault/global-projects.md), [Obsidian compatibility](https://github.com/daniele-chiappa/gosidian/blob/HEAD/docs/vault/obsidian-compat.md) |
| **Internals** | [Architecture](https://github.com/daniele-chiappa/gosidian/blob/HEAD/docs/architecture.md), [Development](https://github.com/daniele-chiappa/gosidian/blob/HEAD/docs/development.md) |
| **Common questions** | [FAQ](https://github.com/daniele-chiappa/gosidian/blob/HEAD/docs/faq.md) |

Full index: [docs/README.md](https://github.com/daniele-chiappa/gosidian/blob/HEAD/docs/README.md).

## Contributing

Contributions welcome. See [CONTRIBUTING.md](https://github.com/daniele-chiappa/gosidian/blob/HEAD/CONTRIBUTING.md) for the
workflow, test expectations, and translation guidelines.

## Security

Security issues are reported privately. See [SECURITY.md](https://github.com/daniele-chiappa/gosidian/blob/HEAD/SECURITY.md)
for the disclosure process.

## License

Released under the [MIT License](https://github.com/daniele-chiappa/gosidian/blob/HEAD/LICENSE).

## See also

- [PROJECT-STORY.md](https://github.com/daniele-chiappa/gosidian/blob/HEAD/PROJECT-STORY.md) — project genesis, design
  philosophy, and a comparison with Obsidian / Logseq / RAG-based
  knowledge stacks.
- [CHANGELOG.md](https://github.com/daniele-chiappa/gosidian/blob/HEAD/CHANGELOG.md) — release history.

