vault-cortex

Created By
aliasundera day ago
Remote MCP server that exposes an Obsidian vault over HTTPS via the Model Context Protocol. 23 tools across vault CRUD, full-text search (SQLite FTS5), structured memory (About Me/ files), link graph (backlinks, outgoing links, orphan detection), and daily-note resolution. Runs locally via Docker or remotely with Obsidian Sync + OAuth 2.1 on a VPS.
Overview

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 .md files 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 CRUDvault_read_note, vault_write_note, vault_patch_note, vault_replace_in_note, vault_list_notes, vault_delete_note
  • Searchvault_search, vault_search_by_tag, vault_search_by_folder, vault_recent_notes, vault_list_tags
  • Memoryvault_get_memory, vault_update_memory, vault_delete_memory, vault_list_memory_files
  • Propertiesvault_list_property_keys, vault_list_property_values, vault_search_by_property, vault_update_properties
  • Linksvault_get_backlinks, vault_get_outgoing_links, vault_find_orphans
  • Daily Notesvault_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.

Server Config

{
  "mcpServers": {
    "vault-cortex": {
      "url": "http://localhost:8000/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_MCP_AUTH_TOKEN>"
      }
    }
  }
}
Project Info
Created At
a day ago
Updated At
a day ago
Author Name
aliasunder
Star
-
Language
-
License
-
Category

Recommend Servers

View All
Podstow

5 hours ago
Infersports

12 hours ago