Vault Cortex for VS Code
io.github.aliasunder/vault-cortex
Standalone MCP server for Obsidian vaults — hybrid search, notes & files, memory, tasks, OAuth 2.1
client:VS Code
transport:stdio
runtime:oci
Install Vault Cortex in VS Code
.vscode/mcp.json
{
"inputs": [
{
"type": "promptString",
"id": "mcp-auth-token",
"description": "MCP_AUTH_TOKEN",
"password": true
},
{
"type": "promptString",
"id": "public-url",
"description": "PUBLIC_URL",
"password": true
},
{
"type": "promptString",
"id": "embedding-enabled",
"description": "EMBEDDING_ENABLED",
"password": true
},
{
"type": "promptString",
"id": "rerank-mode",
"description": "RERANK_MODE",
"password": true
},
{
"type": "promptString",
"id": "windows-mode",
"description": "WINDOWS_MODE",
"password": true
},
{
"type": "promptString",
"id": "memory-enabled",
"description": "MEMORY_ENABLED",
"password": true
},
{
"type": "promptString",
"id": "file-tools-enabled",
"description": "FILE_TOOLS_ENABLED",
"password": true
},
{
"type": "promptString",
"id": "readonly-mode",
"description": "READONLY_MODE",
"password": true
},
{
"type": "promptString",
"id": "disabled-tools",
"description": "DISABLED_TOOLS",
"password": true
},
{
"type": "promptString",
"id": "memory-dir",
"description": "MEMORY_DIR",
"password": true
},
{
"type": "promptString",
"id": "daily-notes-folder",
"description": "DAILY_NOTES_FOLDER",
"password": true
},
{
"type": "promptString",
"id": "daily-notes-format",
"description": "DAILY_NOTES_FORMAT",
"password": true
},
{
"type": "promptString",
"id": "trust-proxy-hops",
"description": "TRUST_PROXY_HOPS",
"password": true
},
{
"type": "promptString",
"id": "trust-forwarded-hops",
"description": "TRUST_FORWARDED_HOPS",
"password": true
},
{
"type": "promptString",
"id": "tz",
"description": "TZ",
"password": true
},
{
"type": "promptString",
"id": "log-level",
"description": "LOG_LEVEL",
"password": true
},
{
"type": "promptString",
"id": "log-dir",
"description": "LOG_DIR",
"password": true
},
{
"type": "promptString",
"id": "log-retention-days",
"description": "LOG_RETENTION_DAYS",
"password": true
},
{
"type": "promptString",
"id": "protected-paths",
"description": "PROTECTED_PATHS",
"password": true
},
{
"type": "promptString",
"id": "orphan-exclude-folders",
"description": "ORPHAN_EXCLUDE_FOLDERS",
"password": true
},
{
"type": "promptString",
"id": "service-documentation-url",
"description": "SERVICE_DOCUMENTATION_URL",
"password": true
},
{
"type": "promptString",
"id": "max-file-bytes",
"description": "MAX_FILE_BYTES",
"password": true
},
{
"type": "promptString",
"id": "max-image-output-bytes",
"description": "MAX_IMAGE_OUTPUT_BYTES",
"password": true
},
{
"type": "promptString",
"id": "max-pdf-render-pages",
"description": "MAX_PDF_RENDER_PAGES",
"password": true
}
],
"servers": {
"vault-cortex": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/aliasunder/vault-cortex:0.54.2"
],
"env": {
"MCP_AUTH_TOKEN": "${input:mcp-auth-token}",
"PUBLIC_URL": "${input:public-url}",
"EMBEDDING_ENABLED": "${input:embedding-enabled}",
"RERANK_MODE": "${input:rerank-mode}",
"WINDOWS_MODE": "${input:windows-mode}",
"MEMORY_ENABLED": "${input:memory-enabled}",
"FILE_TOOLS_ENABLED": "${input:file-tools-enabled}",
"READONLY_MODE": "${input:readonly-mode}",
"DISABLED_TOOLS": "${input:disabled-tools}",
"MEMORY_DIR": "${input:memory-dir}",
"DAILY_NOTES_FOLDER": "${input:daily-notes-folder}",
"DAILY_NOTES_FORMAT": "${input:daily-notes-format}",
"TRUST_PROXY_HOPS": "${input:trust-proxy-hops}",
"TRUST_FORWARDED_HOPS": "${input:trust-forwarded-hops}",
"TZ": "${input:tz}",
"LOG_LEVEL": "${input:log-level}",
"LOG_DIR": "${input:log-dir}",
"LOG_RETENTION_DAYS": "${input:log-retention-days}",
"PROTECTED_PATHS": "${input:protected-paths}",
"ORPHAN_EXCLUDE_FOLDERS": "${input:orphan-exclude-folders}",
"SERVICE_DOCUMENTATION_URL": "${input:service-documentation-url}",
"MAX_FILE_BYTES": "${input:max-file-bytes}",
"MAX_IMAGE_OUTPUT_BYTES": "${input:max-image-output-bytes}",
"MAX_PDF_RENDER_PAGES": "${input:max-pdf-render-pages}"
}
}
}
}
VS Code prompts for each input the first time the server starts, so no secret is written to the file. VS Code docs