vault-cortex

MCP server for Obsidian vaults — search, memory, link graph, 23 tools, OAuth-protected.

Streamable HTTPcommunityapplication

Package Details

TransportStreamable HTTP
Runtimedocker

Runtime Arguments

Named
-p
8000:8000Publish the container's port 8000 on the host.
-vRequired
{VAULT_PATH}:/vault:rwBind-mount your Obsidian vault into the container at /vault.
-v
vault-cortex-data:/dataNamed volume for persistent state under /data — search index, OAuth token DB, and any log files. Keeps OAuth sessions alive across container restarts.

Environment Variables

MCP_AUTH_TOKEN
RequiredSecret

Bearer token for MCP client authentication. Must match the Authorization header sent by clients. Generate with: openssl rand -hex 32

PUBLIC_URL
Default:http://localhost:8000

Public URL clients use to reach this server. Used as the OAuth issuer URL in discovery metadata. Override when exposing the server outside localhost or on a non-default port.

MEMORY_DIR
Default:About Me

Vault folder for structured memory files (About Me-style notes).

TZ
Default:UTC

IANA timezone for timestamps and daily note resolution.

LOG_LEVEL
Default:info

Logging verbosity.

LOG_DIR(file)

Directory for persistent log files. Unset by default — logs go to stdout only. Set to /data/logs to also write date-stamped .log files to the persistent volume.

LOG_RETENTION_DAYS(num)
Default:30

Days to retain persistent log files before cleanup.

PROTECTED_PATHS

Comma-separated vault folder names blocked from vault_delete_note. Default: MEMORY_DIR and "Daily Notes".

ORPHAN_EXCLUDE_FOLDERS

Comma-separated vault folder names excluded from vault_find_orphans. Default: "Daily Notes", "Templates", MEMORY_DIR.

SERVICE_DOCUMENTATION_URL
Default:https://github.com/aliasunder/vault-cortex

Override the OAuth service documentation URL exposed via discovery metadata.