PluginBench
MCP Server
Active
MIT

Vault Cortex MCP Server

io.github.aliasunder/vault-cortex

What is the Vault Cortex MCP server?

Standalone MCP server for Obsidian vaults — hybrid search, structured memory, 25 tools, OAuth 2.1.

How to install Vault Cortex

Copy-paste configuration for popular MCP clients.

transport: stdio
Config generated by PluginBench — verify against the source before use.
Environment / auth
  • MCP_AUTH_TOKEN
    required
    secret

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

  • PUBLIC_URL

    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.

  • EMBEDDING_ENABLED

    Enable or disable the embedding pipeline. When false, no ONNX model is downloaded, no vector tables are created, and search uses FTS5 only.

  • RERANK_MODE

    Cross-encoder reranking mode: blended (position-aware score blending after RRF fusion) or none (skip reranking). Only takes effect when EMBEDDING_ENABLED is true.

  • MEMORY_ENABLED

    Enable or disable the structured memory layer. When false, memory tools are hidden, bootstrap is skipped, and server metadata omits memory references.

  • MEMORY_DIR

    Vault folder for structured memory files (About Me-style notes). Memory tools are hidden when MEMORY_ENABLED is false, but this value still feeds the defaults for PROTECTED_PATHS and ORPHAN_EXCLUDE_FOLDERS.

  • TZ

    IANA timezone for timestamps and daily note resolution.

  • LOG_LEVEL

    Logging verbosity.

  • LOG_DIR

    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

    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

    Override the OAuth service documentation URL exposed via discovery metadata.

Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "vault-cortex": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/aliasunder/vault-mcp:0.25.2",
        "-p",
        "8000:8000",
        "-v",
        "{VAULT_PATH}:/vault:rw",
        "-v",
        "vault-cortex-data:/data"
      ],
      "env": {
        "MCP_AUTH_TOKEN": "<YOUR_MCP_AUTH_TOKEN>",
        "PUBLIC_URL": "<YOUR_PUBLIC_URL>",
        "EMBEDDING_ENABLED": "<YOUR_EMBEDDING_ENABLED>",
        "RERANK_MODE": "<YOUR_RERANK_MODE>",
        "MEMORY_ENABLED": "<YOUR_MEMORY_ENABLED>",
        "MEMORY_DIR": "<YOUR_MEMORY_DIR>",
        "TZ": "<YOUR_TZ>",
        "LOG_LEVEL": "<YOUR_LOG_LEVEL>",
        "LOG_DIR": "<YOUR_LOG_DIR>",
        "LOG_RETENTION_DAYS": "<YOUR_LOG_RETENTION_DAYS>",
        "PROTECTED_PATHS": "<YOUR_PROTECTED_PATHS>",
        "ORPHAN_EXCLUDE_FOLDERS": "<YOUR_ORPHAN_EXCLUDE_FOLDERS>",
        "SERVICE_DOCUMENTATION_URL": "<YOUR_SERVICE_DOCUMENTATION_URL>"
      }
    }
  }
}
Cursor
~/.cursor/mcp.json
{
  "mcpServers": {
    "vault-cortex": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/aliasunder/vault-mcp:0.25.2",
        "-p",
        "8000:8000",
        "-v",
        "{VAULT_PATH}:/vault:rw",
        "-v",
        "vault-cortex-data:/data"
      ],
      "env": {
        "MCP_AUTH_TOKEN": "<YOUR_MCP_AUTH_TOKEN>",
        "PUBLIC_URL": "<YOUR_PUBLIC_URL>",
        "EMBEDDING_ENABLED": "<YOUR_EMBEDDING_ENABLED>",
        "RERANK_MODE": "<YOUR_RERANK_MODE>",
        "MEMORY_ENABLED": "<YOUR_MEMORY_ENABLED>",
        "MEMORY_DIR": "<YOUR_MEMORY_DIR>",
        "TZ": "<YOUR_TZ>",
        "LOG_LEVEL": "<YOUR_LOG_LEVEL>",
        "LOG_DIR": "<YOUR_LOG_DIR>",
        "LOG_RETENTION_DAYS": "<YOUR_LOG_RETENTION_DAYS>",
        "PROTECTED_PATHS": "<YOUR_PROTECTED_PATHS>",
        "ORPHAN_EXCLUDE_FOLDERS": "<YOUR_ORPHAN_EXCLUDE_FOLDERS>",
        "SERVICE_DOCUMENTATION_URL": "<YOUR_SERVICE_DOCUMENTATION_URL>"
      }
    }
  }
}
Windsurf
~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "vault-cortex": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/aliasunder/vault-mcp:0.25.2",
        "-p",
        "8000:8000",
        "-v",
        "{VAULT_PATH}:/vault:rw",
        "-v",
        "vault-cortex-data:/data"
      ],
      "env": {
        "MCP_AUTH_TOKEN": "<YOUR_MCP_AUTH_TOKEN>",
        "PUBLIC_URL": "<YOUR_PUBLIC_URL>",
        "EMBEDDING_ENABLED": "<YOUR_EMBEDDING_ENABLED>",
        "RERANK_MODE": "<YOUR_RERANK_MODE>",
        "MEMORY_ENABLED": "<YOUR_MEMORY_ENABLED>",
        "MEMORY_DIR": "<YOUR_MEMORY_DIR>",
        "TZ": "<YOUR_TZ>",
        "LOG_LEVEL": "<YOUR_LOG_LEVEL>",
        "LOG_DIR": "<YOUR_LOG_DIR>",
        "LOG_RETENTION_DAYS": "<YOUR_LOG_RETENTION_DAYS>",
        "PROTECTED_PATHS": "<YOUR_PROTECTED_PATHS>",
        "ORPHAN_EXCLUDE_FOLDERS": "<YOUR_ORPHAN_EXCLUDE_FOLDERS>",
        "SERVICE_DOCUMENTATION_URL": "<YOUR_SERVICE_DOCUMENTATION_URL>"
      }
    }
  }
}
VS Code
.vscode/mcp.json
{
  "servers": {
    "vault-cortex": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/aliasunder/vault-mcp:0.25.2",
        "-p",
        "8000:8000",
        "-v",
        "{VAULT_PATH}:/vault:rw",
        "-v",
        "vault-cortex-data:/data"
      ],
      "env": {
        "MCP_AUTH_TOKEN": "<YOUR_MCP_AUTH_TOKEN>",
        "PUBLIC_URL": "<YOUR_PUBLIC_URL>",
        "EMBEDDING_ENABLED": "<YOUR_EMBEDDING_ENABLED>",
        "RERANK_MODE": "<YOUR_RERANK_MODE>",
        "MEMORY_ENABLED": "<YOUR_MEMORY_ENABLED>",
        "MEMORY_DIR": "<YOUR_MEMORY_DIR>",
        "TZ": "<YOUR_TZ>",
        "LOG_LEVEL": "<YOUR_LOG_LEVEL>",
        "LOG_DIR": "<YOUR_LOG_DIR>",
        "LOG_RETENTION_DAYS": "<YOUR_LOG_RETENTION_DAYS>",
        "PROTECTED_PATHS": "<YOUR_PROTECTED_PATHS>",
        "ORPHAN_EXCLUDE_FOLDERS": "<YOUR_ORPHAN_EXCLUDE_FOLDERS>",
        "SERVICE_DOCUMENTATION_URL": "<YOUR_SERVICE_DOCUMENTATION_URL>"
      }
    }
  }
}
Claude Code
claude mcp add vault-cortex --env MCP_AUTH_TOKEN=<YOUR_MCP_AUTH_TOKEN> --env PUBLIC_URL=<YOUR_PUBLIC_URL> --env EMBEDDING_ENABLED=<YOUR_EMBEDDING_ENABLED> --env RERANK_MODE=<YOUR_RERANK_MODE> --env MEMORY_ENABLED=<YOUR_MEMORY_ENABLED> --env MEMORY_DIR=<YOUR_MEMORY_DIR> --env TZ=<YOUR_TZ> --env LOG_LEVEL=<YOUR_LOG_LEVEL> --env LOG_DIR=<YOUR_LOG_DIR> --env LOG_RETENTION_DAYS=<YOUR_LOG_RETENTION_DAYS> --env PROTECTED_PATHS=<YOUR_PROTECTED_PATHS> --env ORPHAN_EXCLUDE_FOLDERS=<YOUR_ORPHAN_EXCLUDE_FOLDERS> --env SERVICE_DOCUMENTATION_URL=<YOUR_SERVICE_DOCUMENTATION_URL> -- docker run -i --rm ghcr.io/aliasunder/vault-mcp:0.25.2 -p 8000:8000 -v {VAULT_PATH}:/vault:rw -v vault-cortex-data:/data

Related MCP servers

Give your AI agent stealth web scraping with Cloudflare bypass and CSS selection, powered by Scrapling.

67k
Python
BSD-3-Clause
View repository →

Give your AI coding agent full control of a live Chrome browser for automation, debugging, and performance analysis.

45k
TypeScript
Apache-2.0
View repository →

Let AI agents manage your Puter files, websites, and serverless workers over MCP.

43k
TypeScript
AGPL-3.0
View repository →

Browser automation for AI agents via MCP, powering ByteDance's Agent TARS hybrid GUI/DOM browser control.

37k
TypeScript
Apache-2.0
View repository →

Run arbitrary shell commands from an MCP-connected AI agent.

37k
TypeScript
Apache-2.0
View repository →

Filesystem access MCP server from ByteDance's UI-TARS/Agent TARS ecosystem.

37k
TypeScript
Apache-2.0
View repository →