- vault-cortex
vault-cortex
What is vault-cortex?
vault-cortex gives any MCP client — Claude Desktop, Claude Code, Cursor, OpenCode — full access to your Obsidian vault. Search notes, read and write content, query the link graph, manage structured memory, and resolve daily notes — all through 23 tools over a single Docker container.
The typical Obsidian + MCP setup needs three moving parts running at once: Obsidian open → Local REST API plugin → a separate MCP server wrapping that API. vault-cortex replaces all of it with Docker and your vault folder.
Features
- Plugin-free — Obsidian doesn't need to be running; the server works directly with
.mdfiles on disk, and headless Obsidian Sync keeps the vault current. - Remote access — use it from your phone, a remote server, or any MCP client via OAuth 2.1.
- Ranked search — SQLite FTS5 with BM25 scoring, stemming, phrase matching, and tag/property/folder filters.
- Structured memory — dated entries with section targeting and auto-initialization, for persistent AI personalization.
- Obsidian-native — understands frontmatter, wikilinks, tags, headings, and daily notes.
- Link graph — backlinks, outgoing links, and orphan detection.
Tools (23)
- Vault CRUD —
vault_read_note,vault_write_note,vault_patch_note,vault_replace_in_note,vault_list_notes,vault_delete_note - Search —
vault_search,vault_search_by_tag,vault_search_by_folder,vault_recent_notes,vault_list_tags - Memory —
vault_get_memory,vault_update_memory,vault_delete_memory,vault_list_memory_files - Properties —
vault_list_property_keys,vault_list_property_values,vault_search_by_property,vault_update_properties - Links —
vault_get_backlinks,vault_get_outgoing_links,vault_find_orphans - Daily Notes —
vault_get_daily_note
Quick Start (local, ~5 minutes)
Prerequisites: Docker and an Obsidian vault (or any folder of .md files).
# 1. Get the quickstart files
curl -O https://raw.githubusercontent.com/aliasunder/vault-cortex/main/deploy/local/docker-compose.yml
curl -O https://raw.githubusercontent.com/aliasunder/vault-cortex/main/deploy/local/.env.example
# 2. Configure: set MCP_AUTH_TOKEN (openssl rand -hex 32) and VAULT_PATH
cp .env.example .env
# 3. Start
docker compose up
Add a remote MCP server in your client with URL http://localhost:8000/mcp and your token as the bearer token. For access from anywhere, run it on a VPS with Obsidian Sync — see the remote guide.
Authentication
- OAuth 2.1 (Claude Desktop, Claude Code, claude.ai) — dynamic client registration, JWT access tokens, 60-day sliding refresh.
- Static bearer (Claude Code, MCP Inspector, curl) — the raw
MCP_AUTH_TOKEN.
Links
- Repository: https://github.com/aliasunder/vault-cortex
- Docker image:
ghcr.io/aliasunder/vault-mcp(:0.15.9,:latest) - MCP Registry:
io.github.aliasunder/vault-cortex - License: MIT
Server Config
{
"mcpServers": {
"vault-cortex": {
"url": "http://localhost:8000/mcp",
"headers": {
"Authorization": "Bearer <YOUR_MCP_AUTH_TOKEN>"
}
}
}
}Recommend Servers
View AllPlaywright MCP server
A Serper MCP Server