Generic markdown vault MCP with hybrid search
To add Markdown Vault MCP to Claude, run the install command below or copy the ready-made config for Claude Code, Claude Desktop, Cursor and VS Code further down. Restart your client after adding it and its tools show up in your next conversation. It needs 91 environment variables, listed below.
Install
uvx markdown-vault-mcp@5.1.0Environment variables
MARKDOWN_VAULT_MCP_KV_STORE_URLSet in your MCP configMARKDOWN_VAULT_MCP_TOOLS_ALLOWSet in your MCP configMARKDOWN_VAULT_MCP_TOOLS_DENYSet in your MCP configMARKDOWN_VAULT_MCP_SERVER_NAMESet in your MCP configMARKDOWN_VAULT_MCP_INSTANCE_DESCRIPTIONSet in your MCP configMARKDOWN_VAULT_MCP_INSTRUCTIONS_EXTRASet in your MCP configMARKDOWN_VAULT_MCP_INSTRUCTIONSSet in your MCP configMARKDOWN_VAULT_MCP_LOG_LEVELSet in your MCP configMARKDOWN_VAULT_MCP_LOG_FORMATSet in your MCP configOLLAMA_HOSTSet in your MCP configOPENAI_API_KEYSet in your MCP configVOYAGE_API_KEYSet in your MCP configOPENAI_BASE_URLSet in your MCP configOPENAI_EMBEDDING_MODELSet in your MCP configMARKDOWN_VAULT_MCP_BUILD_TIMEOUT_SSet in your MCP configMARKDOWN_VAULT_MCP_DRAIN_TIMEOUT_SSet in your MCP configMARKDOWN_VAULT_MCP_SOURCE_DIRSet in your MCP configMARKDOWN_VAULT_MCP_READ_ONLYSet in your MCP configMARKDOWN_VAULT_MCP_WRITE_PROTECT_EXISTINGSet in your MCP configMARKDOWN_VAULT_MCP_REPORT_UNRESOLVED_LINKSSet in your MCP configMARKDOWN_VAULT_MCP_DISABLE_APPS_UISet in your MCP configMARKDOWN_VAULT_MCP_INDEX_PATHSet in your MCP configMARKDOWN_VAULT_MCP_STATE_PATHSet in your MCP configMARKDOWN_VAULT_MCP_EMBEDDINGS_PATHSet in your MCP configMARKDOWN_VAULT_MCP_INDEXED_FIELDSSet in your MCP configMARKDOWN_VAULT_MCP_REQUIRED_FIELDSSet in your MCP configMARKDOWN_VAULT_MCP_EXCLUDESet in your MCP configMARKDOWN_VAULT_MCP_TITLE_FIELDSet in your MCP configMARKDOWN_VAULT_MCP_SEARCHABLE_FIELDSSet in your MCP configMARKDOWN_VAULT_MCP_TEMPLATES_FOLDERSet in your MCP configMARKDOWN_VAULT_MCP_PROMPTS_FOLDERSet in your MCP configMARKDOWN_VAULT_MCP_CONVENTIONS_FILESet in your MCP configMARKDOWN_VAULT_MCP_OKF_MODESet in your MCP configMARKDOWN_VAULT_MCP_OKF_WRITESet in your MCP configMARKDOWN_VAULT_MCP_OKF_VERIFYSet in your MCP configMARKDOWN_VAULT_MCP_ATTACHMENT_EXTENSIONSSet in your MCP configMARKDOWN_VAULT_MCP_MAX_ATTACHMENT_SIZE_MBSet in your MCP configMARKDOWN_VAULT_MCP_MAX_NOTE_READ_BYTESSet in your MCP configMARKDOWN_VAULT_MCP_DEFAULT_SEARCH_MODESet in your MCP configMARKDOWN_VAULT_MCP_CHUNKS_PER_FILESet in your MCP configMARKDOWN_VAULT_MCP_SNIPPET_WORDSSet in your MCP configMARKDOWN_VAULT_MCP_LENGTH_DOWNWEIGHT_ALPHASet in your MCP configMARKDOWN_VAULT_MCP_MAX_CHUNK_WORDSSet in your MCP configMARKDOWN_VAULT_MCP_MAX_CHUNK_CHARSSet in your MCP configMARKDOWN_VAULT_MCP_CHUNK_OVERLAP_WORDSSet in your MCP configMARKDOWN_VAULT_MCP_FOLDER_WEIGHTSSet in your MCP configMARKDOWN_VAULT_MCP_FTS_WEIGHTSSet in your MCP configMARKDOWN_VAULT_MCP_EMBEDDING_PROVIDERSet in your MCP configMARKDOWN_VAULT_MCP_OLLAMA_MODELSet in your MCP configMARKDOWN_VAULT_MCP_OLLAMA_CPU_ONLYSet in your MCP configMARKDOWN_VAULT_MCP_VOYAGE_MODELSet in your MCP configMARKDOWN_VAULT_MCP_OPENAI_BASE_URLSet in your MCP configMARKDOWN_VAULT_MCP_OPENAI_EMBEDDING_MODELSet in your MCP configMARKDOWN_VAULT_MCP_FASTEMBED_MODELSet in your MCP configMARKDOWN_VAULT_MCP_FASTEMBED_CACHE_DIRSet in your MCP configMARKDOWN_VAULT_MCP_EMBED_CONTEXTSet in your MCP configMARKDOWN_VAULT_MCP_EMBED_TIMEOUT_SSet in your MCP configMARKDOWN_VAULT_MCP_EMBEDDING_BATCH_SIZESet in your MCP configMARKDOWN_VAULT_MCP_GIT_TOKENSet in your MCP configMARKDOWN_VAULT_MCP_GIT_REPO_URLSet in your MCP configMARKDOWN_VAULT_MCP_GIT_USERNAMESet in your MCP configMARKDOWN_VAULT_MCP_GIT_PULL_INTERVAL_SSet in your MCP configMARKDOWN_VAULT_MCP_GIT_PUSH_DELAY_SSet in your MCP configMARKDOWN_VAULT_MCP_GIT_COMMIT_NAMESet in your MCP configMARKDOWN_VAULT_MCP_GIT_COMMIT_EMAILSet in your MCP configMARKDOWN_VAULT_MCP_GIT_COMMIT_NAME_CLAIMSet in your MCP configMARKDOWN_VAULT_MCP_GIT_COMMIT_EMAIL_CLAIMSet in your MCP configMARKDOWN_VAULT_MCP_GIT_LFSSet in your MCP configMARKDOWN_VAULT_MCP_FILE_WATCHERSet in your MCP configMARKDOWN_VAULT_MCP_FILE_WATCHER_DEBOUNCE_SSet in your MCP configMARKDOWN_VAULT_MCP_FILE_WATCHER_ROOT_FLOORSet in your MCP configMARKDOWN_VAULT_MCP_BOOT_REINDEXSet in your MCP configMARKDOWN_VAULT_MCP_GITHUB_WEBHOOK_SECRETSet in your MCP configMARKDOWN_VAULT_MCP_GITLAB_WEBHOOK_SIGNING_TOKENSet in your MCP configMARKDOWN_VAULT_MCP_GITLAB_WEBHOOK_SECRET_TOKENSet in your MCP configMARKDOWN_VAULT_MCP_SUMMARIZE_PROVIDERSet in your MCP configMARKDOWN_VAULT_MCP_SUMMARIZE_OPENAI_API_KEYSet in your MCP configMARKDOWN_VAULT_MCP_SUMMARIZE_OPENAI_BASE_URLSet in your MCP configMARKDOWN_VAULT_MCP_SUMMARIZE_OPENAI_MODELSet in your MCP configMARKDOWN_VAULT_MCP_SUMMARIZE_MAX_TOKENSSet in your MCP configMARKDOWN_VAULT_MCP_SUMMARIZE_MAX_NOTESSet in your MCP configMARKDOWN_VAULT_MCP_SUMMARIZE_MAX_INPUT_CHARSSet in your MCP configMARKDOWN_VAULT_MCP_SUMMARIZE_TIMEOUTSet in your MCP configMARKDOWN_VAULT_MCP_TRANSFER_TTL_DEFAULT_SSet in your MCP configMARKDOWN_VAULT_MCP_TRANSFER_TTL_MAX_SSet in your MCP configMARKDOWN_VAULT_MCP_TRANSFER_GRACE_TTL_SSet in your MCP configMARKDOWN_VAULT_MCP_TRANSFER_LEASE_SSet in your MCP configMARKDOWN_VAULT_MCP_TRANSFER_MAX_UPLOAD_BYTESSet in your MCP configMARKDOWN_VAULT_MCP_JOBS_SOFT_DEADLINE_SSet in your MCP configMARKDOWN_VAULT_MCP_JOBS_RESULT_TTL_SSet in your MCP configMARKDOWN_VAULT_MCP_JOBS_MAX_PER_SUBJECTSet in your MCP configInstall with your client
claude mcp add markdown-vault --env MARKDOWN_VAULT_MCP_KV_STORE_URL=<YOUR_MARKDOWN_VAULT_MCP_KV_STORE_URL> --env MARKDOWN_VAULT_MCP_TOOLS_ALLOW=<YOUR_MARKDOWN_VAULT_MCP_TOOLS_ALLOW> --env MARKDOWN_VAULT_MCP_TOOLS_DENY=<YOUR_MARKDOWN_VAULT_MCP_TOOLS_DENY> --env MARKDOWN_VAULT_MCP_SERVER_NAME=<YOUR_MARKDOWN_VAULT_MCP_SERVER_NAME> --env MARKDOWN_VAULT_MCP_INSTANCE_DESCRIPTION=<YOUR_MARKDOWN_VAULT_MCP_INSTANCE_DESCRIPTION> --env MARKDOWN_VAULT_MCP_INSTRUCTIONS_EXTRA=<YOUR_MARKDOWN_VAULT_MCP_INSTRUCTIONS_EXTRA> --env MARKDOWN_VAULT_MCP_INSTRUCTIONS=<YOUR_MARKDOWN_VAULT_MCP_INSTRUCTIONS> --env MARKDOWN_VAULT_MCP_LOG_LEVEL=<YOUR_MARKDOWN_VAULT_MCP_LOG_LEVEL> --env MARKDOWN_VAULT_MCP_LOG_FORMAT=<YOUR_MARKDOWN_VAULT_MCP_LOG_FORMAT> --env OLLAMA_HOST=<YOUR_OLLAMA_HOST> --env OPENAI_API_KEY=<YOUR_OPENAI_API_KEY> --env VOYAGE_API_KEY=<YOUR_VOYAGE_API_KEY> --env OPENAI_BASE_URL=<YOUR_OPENAI_BASE_URL> --env OPENAI_EMBEDDING_MODEL=<YOUR_OPENAI_EMBEDDING_MODEL> --env MARKDOWN_VAULT_MCP_BUILD_TIMEOUT_S=<YOUR_MARKDOWN_VAULT_MCP_BUILD_TIMEOUT_S> --env MARKDOWN_VAULT_MCP_DRAIN_TIMEOUT_S=<YOUR_MARKDOWN_VAULT_MCP_DRAIN_TIMEOUT_S> --env MARKDOWN_VAULT_MCP_SOURCE_DIR=<YOUR_MARKDOWN_VAULT_MCP_SOURCE_DIR> --env MARKDOWN_VAULT_MCP_READ_ONLY=<YOUR_MARKDOWN_VAULT_MCP_READ_ONLY> --env MARKDOWN_VAULT_MCP_WRITE_PROTECT_EXISTING=<YOUR_MARKDOWN_VAULT_MCP_WRITE_PROTECT_EXISTING> --env MARKDOWN_VAULT_MCP_REPORT_UNRESOLVED_LINKS=<YOUR_MARKDOWN_VAULT_MCP_REPORT_UNRESOLVED_LINKS> --env MARKDOWN_VAULT_MCP_DISABLE_APPS_UI=<YOUR_MARKDOWN_VAULT_MCP_DISABLE_APPS_UI> --env MARKDOWN_VAULT_MCP_INDEX_PATH=<YOUR_MARKDOWN_VAULT_MCP_INDEX_PATH> --env MARKDOWN_VAULT_MCP_STATE_PATH=<YOUR_MARKDOWN_VAULT_MCP_STATE_PATH> --env MARKDOWN_VAULT_MCP_EMBEDDINGS_PATH=<YOUR_MARKDOWN_VAULT_MCP_EMBEDDINGS_PATH> --env MARKDOWN_VAULT_MCP_INDEXED_FIELDS=<YOUR_MARKDOWN_VAULT_MCP_INDEXED_FIELDS> --env MARKDOWN_VAULT_MCP_REQUIRED_FIELDS=<YOUR_MARKDOWN_VAULT_MCP_REQUIRED_FIELDS> --env MARKDOWN_VAULT_MCP_EXCLUDE=<YOUR_MARKDOWN_VAULT_MCP_EXCLUDE> --env MARKDOWN_VAULT_MCP_TITLE_FIELD=<YOUR_MARKDOWN_VAULT_MCP_TITLE_FIELD> --env MARKDOWN_VAULT_MCP_SEARCHABLE_FIELDS=<YOUR_MARKDOWN_VAULT_MCP_SEARCHABLE_FIELDS> --env MARKDOWN_VAULT_MCP_TEMPLATES_FOLDER=<YOUR_MARKDOWN_VAULT_MCP_TEMPLATES_FOLDER> --env MARKDOWN_VAULT_MCP_PROMPTS_FOLDER=<YOUR_MARKDOWN_VAULT_MCP_PROMPTS_FOLDER> --env MARKDOWN_VAULT_MCP_CONVENTIONS_FILE=<YOUR_MARKDOWN_VAULT_MCP_CONVENTIONS_FILE> --env MARKDOWN_VAULT_MCP_OKF_MODE=<YOUR_MARKDOWN_VAULT_MCP_OKF_MODE> --env MARKDOWN_VAULT_MCP_OKF_WRITE=<YOUR_MARKDOWN_VAULT_MCP_OKF_WRITE> --env MARKDOWN_VAULT_MCP_OKF_VERIFY=<YOUR_MARKDOWN_VAULT_MCP_OKF_VERIFY> --env MARKDOWN_VAULT_MCP_ATTACHMENT_EXTENSIONS=<YOUR_MARKDOWN_VAULT_MCP_ATTACHMENT_EXTENSIONS> --env MARKDOWN_VAULT_MCP_MAX_ATTACHMENT_SIZE_MB=<YOUR_MARKDOWN_VAULT_MCP_MAX_ATTACHMENT_SIZE_MB> --env MARKDOWN_VAULT_MCP_MAX_NOTE_READ_BYTES=<YOUR_MARKDOWN_VAULT_MCP_MAX_NOTE_READ_BYTES> --env MARKDOWN_VAULT_MCP_DEFAULT_SEARCH_MODE=<YOUR_MARKDOWN_VAULT_MCP_DEFAULT_SEARCH_MODE> --env MARKDOWN_VAULT_MCP_CHUNKS_PER_FILE=<YOUR_MARKDOWN_VAULT_MCP_CHUNKS_PER_FILE> --env MARKDOWN_VAULT_MCP_SNIPPET_WORDS=<YOUR_MARKDOWN_VAULT_MCP_SNIPPET_WORDS> --env MARKDOWN_VAULT_MCP_LENGTH_DOWNWEIGHT_ALPHA=<YOUR_MARKDOWN_VAULT_MCP_LENGTH_DOWNWEIGHT_ALPHA> --env MARKDOWN_VAULT_MCP_MAX_CHUNK_WORDS=<YOUR_MARKDOWN_VAULT_MCP_MAX_CHUNK_WORDS> --env MARKDOWN_VAULT_MCP_MAX_CHUNK_CHARS=<YOUR_MARKDOWN_VAULT_MCP_MAX_CHUNK_CHARS> --env MARKDOWN_VAULT_MCP_CHUNK_OVERLAP_WORDS=<YOUR_MARKDOWN_VAULT_MCP_CHUNK_OVERLAP_WORDS> --env MARKDOWN_VAULT_MCP_FOLDER_WEIGHTS=<YOUR_MARKDOWN_VAULT_MCP_FOLDER_WEIGHTS> --env MARKDOWN_VAULT_MCP_FTS_WEIGHTS=<YOUR_MARKDOWN_VAULT_MCP_FTS_WEIGHTS> --env MARKDOWN_VAULT_MCP_EMBEDDING_PROVIDER=<YOUR_MARKDOWN_VAULT_MCP_EMBEDDING_PROVIDER> --env MARKDOWN_VAULT_MCP_OLLAMA_MODEL=<YOUR_MARKDOWN_VAULT_MCP_OLLAMA_MODEL> --env MARKDOWN_VAULT_MCP_OLLAMA_CPU_ONLY=<YOUR_MARKDOWN_VAULT_MCP_OLLAMA_CPU_ONLY> --env MARKDOWN_VAULT_MCP_VOYAGE_MODEL=<YOUR_MARKDOWN_VAULT_MCP_VOYAGE_MODEL> --env MARKDOWN_VAULT_MCP_OPENAI_BASE_URL=<YOUR_MARKDOWN_VAULT_MCP_OPENAI_BASE_URL> --env MARKDOWN_VAULT_MCP_OPENAI_EMBEDDING_MODEL=<YOUR_MARKDOWN_VAULT_MCP_OPENAI_EMBEDDING_MODEL> --env MARKDOWN_VAULT_MCP_FASTEMBED_MODEL=<YOUR_MARKDOWN_VAULT_MCP_FASTEMBED_MODEL> --env MARKDOWN_VAULT_MCP_FASTEMBED_CACHE_DIR=<YOUR_MARKDOWN_VAULT_MCP_FASTEMBED_CACHE_DIR> --env MARKDOWN_VAULT_MCP_EMBED_CONTEXT=<YOUR_MARKDOWN_VAULT_MCP_EMBED_CONTEXT> --env MARKDOWN_VAULT_MCP_EMBED_TIMEOUT_S=<YOUR_MARKDOWN_VAULT_MCP_EMBED_TIMEOUT_S> --env MARKDOWN_VAULT_MCP_EMBEDDING_BATCH_SIZE=<YOUR_MARKDOWN_VAULT_MCP_EMBEDDING_BATCH_SIZE> --env MARKDOWN_VAULT_MCP_GIT_TOKEN=<YOUR_MARKDOWN_VAULT_MCP_GIT_TOKEN> --env MARKDOWN_VAULT_MCP_GIT_REPO_URL=<YOUR_MARKDOWN_VAULT_MCP_GIT_REPO_URL> --env MARKDOWN_VAULT_MCP_GIT_USERNAME=<YOUR_MARKDOWN_VAULT_MCP_GIT_USERNAME> --env MARKDOWN_VAULT_MCP_GIT_PULL_INTERVAL_S=<YOUR_MARKDOWN_VAULT_MCP_GIT_PULL_INTERVAL_S> --env MARKDOWN_VAULT_MCP_GIT_PUSH_DELAY_S=<YOUR_MARKDOWN_VAULT_MCP_GIT_PUSH_DELAY_S> --env MARKDOWN_VAULT_MCP_GIT_COMMIT_NAME=<YOUR_MARKDOWN_VAULT_MCP_GIT_COMMIT_NAME> --env MARKDOWN_VAULT_MCP_GIT_COMMIT_EMAIL=<YOUR_MARKDOWN_VAULT_MCP_GIT_COMMIT_EMAIL> --env MARKDOWN_VAULT_MCP_GIT_COMMIT_NAME_CLAIM=<YOUR_MARKDOWN_VAULT_MCP_GIT_COMMIT_NAME_CLAIM> --env MARKDOWN_VAULT_MCP_GIT_COMMIT_EMAIL_CLAIM=<YOUR_MARKDOWN_VAULT_MCP_GIT_COMMIT_EMAIL_CLAIM> --env MARKDOWN_VAULT_MCP_GIT_LFS=<YOUR_MARKDOWN_VAULT_MCP_GIT_LFS> --env MARKDOWN_VAULT_MCP_FILE_WATCHER=<YOUR_MARKDOWN_VAULT_MCP_FILE_WATCHER> --env MARKDOWN_VAULT_MCP_FILE_WATCHER_DEBOUNCE_S=<YOUR_MARKDOWN_VAULT_MCP_FILE_WATCHER_DEBOUNCE_S> --env MARKDOWN_VAULT_MCP_FILE_WATCHER_ROOT_FLOOR=<YOUR_MARKDOWN_VAULT_MCP_FILE_WATCHER_ROOT_FLOOR> --env MARKDOWN_VAULT_MCP_BOOT_REINDEX=<YOUR_MARKDOWN_VAULT_MCP_BOOT_REINDEX> --env MARKDOWN_VAULT_MCP_GITHUB_WEBHOOK_SECRET=<YOUR_MARKDOWN_VAULT_MCP_GITHUB_WEBHOOK_SECRET> --env MARKDOWN_VAULT_MCP_GITLAB_WEBHOOK_SIGNING_TOKEN=<YOUR_MARKDOWN_VAULT_MCP_GITLAB_WEBHOOK_SIGNING_TOKEN> --env MARKDOWN_VAULT_MCP_GITLAB_WEBHOOK_SECRET_TOKEN=<YOUR_MARKDOWN_VAULT_MCP_GITLAB_WEBHOOK_SECRET_TOKEN> --env MARKDOWN_VAULT_MCP_SUMMARIZE_PROVIDER=<YOUR_MARKDOWN_VAULT_MCP_SUMMARIZE_PROVIDER> --env MARKDOWN_VAULT_MCP_SUMMARIZE_OPENAI_API_KEY=<YOUR_MARKDOWN_VAULT_MCP_SUMMARIZE_OPENAI_API_KEY> --env MARKDOWN_VAULT_MCP_SUMMARIZE_OPENAI_BASE_URL=<YOUR_MARKDOWN_VAULT_MCP_SUMMARIZE_OPENAI_BASE_URL> --env MARKDOWN_VAULT_MCP_SUMMARIZE_OPENAI_MODEL=<YOUR_MARKDOWN_VAULT_MCP_SUMMARIZE_OPENAI_MODEL> --env MARKDOWN_VAULT_MCP_SUMMARIZE_MAX_TOKENS=<YOUR_MARKDOWN_VAULT_MCP_SUMMARIZE_MAX_TOKENS> --env MARKDOWN_VAULT_MCP_SUMMARIZE_MAX_NOTES=<YOUR_MARKDOWN_VAULT_MCP_SUMMARIZE_MAX_NOTES> --env MARKDOWN_VAULT_MCP_SUMMARIZE_MAX_INPUT_CHARS=<YOUR_MARKDOWN_VAULT_MCP_SUMMARIZE_MAX_INPUT_CHARS> --env MARKDOWN_VAULT_MCP_SUMMARIZE_TIMEOUT=<YOUR_MARKDOWN_VAULT_MCP_SUMMARIZE_TIMEOUT> --env MARKDOWN_VAULT_MCP_TRANSFER_TTL_DEFAULT_S=<YOUR_MARKDOWN_VAULT_MCP_TRANSFER_TTL_DEFAULT_S> --env MARKDOWN_VAULT_MCP_TRANSFER_TTL_MAX_S=<YOUR_MARKDOWN_VAULT_MCP_TRANSFER_TTL_MAX_S> --env MARKDOWN_VAULT_MCP_TRANSFER_GRACE_TTL_S=<YOUR_MARKDOWN_VAULT_MCP_TRANSFER_GRACE_TTL_S> --env MARKDOWN_VAULT_MCP_TRANSFER_LEASE_S=<YOUR_MARKDOWN_VAULT_MCP_TRANSFER_LEASE_S> --env MARKDOWN_VAULT_MCP_TRANSFER_MAX_UPLOAD_BYTES=<YOUR_MARKDOWN_VAULT_MCP_TRANSFER_MAX_UPLOAD_BYTES> --env MARKDOWN_VAULT_MCP_JOBS_SOFT_DEADLINE_S=<YOUR_MARKDOWN_VAULT_MCP_JOBS_SOFT_DEADLINE_S> --env MARKDOWN_VAULT_MCP_JOBS_RESULT_TTL_S=<YOUR_MARKDOWN_VAULT_MCP_JOBS_RESULT_TTL_S> --env MARKDOWN_VAULT_MCP_JOBS_MAX_PER_SUBJECT=<YOUR_MARKDOWN_VAULT_MCP_JOBS_MAX_PER_SUBJECT> -- uvx markdown-vault-mcp@5.1.0
Run this in a terminal to add the server to Claude Code.
What this does
Markdown Vault MCP exposes a set of tools to Claude over the Model Context Protocol. After you add it to claude_desktop_config.json (snippet above) and restart Claude Desktop, those tools become callable inside any conversation.
Requirements
This server needs the following environment variables to be set before it can run:
MARKDOWN_VAULT_MCP_KV_STORE_URL MARKDOWN_VAULT_MCP_TOOLS_ALLOW MARKDOWN_VAULT_MCP_TOOLS_DENY MARKDOWN_VAULT_MCP_SERVER_NAME MARKDOWN_VAULT_MCP_INSTANCE_DESCRIPTION MARKDOWN_VAULT_MCP_INSTRUCTIONS_EXTRA MARKDOWN_VAULT_MCP_INSTRUCTIONS MARKDOWN_VAULT_MCP_LOG_LEVEL MARKDOWN_VAULT_MCP_LOG_FORMAT OLLAMA_HOST OPENAI_API_KEY VOYAGE_API_KEY OPENAI_BASE_URL OPENAI_EMBEDDING_MODEL MARKDOWN_VAULT_MCP_BUILD_TIMEOUT_S MARKDOWN_VAULT_MCP_DRAIN_TIMEOUT_S MARKDOWN_VAULT_MCP_SOURCE_DIR MARKDOWN_VAULT_MCP_READ_ONLY MARKDOWN_VAULT_MCP_WRITE_PROTECT_EXISTING MARKDOWN_VAULT_MCP_REPORT_UNRESOLVED_LINKS MARKDOWN_VAULT_MCP_DISABLE_APPS_UI MARKDOWN_VAULT_MCP_INDEX_PATH MARKDOWN_VAULT_MCP_STATE_PATH MARKDOWN_VAULT_MCP_EMBEDDINGS_PATH MARKDOWN_VAULT_MCP_INDEXED_FIELDS MARKDOWN_VAULT_MCP_REQUIRED_FIELDS MARKDOWN_VAULT_MCP_EXCLUDE MARKDOWN_VAULT_MCP_TITLE_FIELD MARKDOWN_VAULT_MCP_SEARCHABLE_FIELDS MARKDOWN_VAULT_MCP_TEMPLATES_FOLDER MARKDOWN_VAULT_MCP_PROMPTS_FOLDER MARKDOWN_VAULT_MCP_CONVENTIONS_FILE MARKDOWN_VAULT_MCP_OKF_MODE MARKDOWN_VAULT_MCP_OKF_WRITE MARKDOWN_VAULT_MCP_OKF_VERIFY MARKDOWN_VAULT_MCP_ATTACHMENT_EXTENSIONS MARKDOWN_VAULT_MCP_MAX_ATTACHMENT_SIZE_MB MARKDOWN_VAULT_MCP_MAX_NOTE_READ_BYTES MARKDOWN_VAULT_MCP_DEFAULT_SEARCH_MODE MARKDOWN_VAULT_MCP_CHUNKS_PER_FILE MARKDOWN_VAULT_MCP_SNIPPET_WORDS MARKDOWN_VAULT_MCP_LENGTH_DOWNWEIGHT_ALPHA MARKDOWN_VAULT_MCP_MAX_CHUNK_WORDS MARKDOWN_VAULT_MCP_MAX_CHUNK_CHARS MARKDOWN_VAULT_MCP_CHUNK_OVERLAP_WORDS MARKDOWN_VAULT_MCP_FOLDER_WEIGHTS MARKDOWN_VAULT_MCP_FTS_WEIGHTS MARKDOWN_VAULT_MCP_EMBEDDING_PROVIDER MARKDOWN_VAULT_MCP_OLLAMA_MODEL MARKDOWN_VAULT_MCP_OLLAMA_CPU_ONLY MARKDOWN_VAULT_MCP_VOYAGE_MODEL MARKDOWN_VAULT_MCP_OPENAI_BASE_URL MARKDOWN_VAULT_MCP_OPENAI_EMBEDDING_MODEL MARKDOWN_VAULT_MCP_FASTEMBED_MODEL MARKDOWN_VAULT_MCP_FASTEMBED_CACHE_DIR MARKDOWN_VAULT_MCP_EMBED_CONTEXT MARKDOWN_VAULT_MCP_EMBED_TIMEOUT_S MARKDOWN_VAULT_MCP_EMBEDDING_BATCH_SIZE MARKDOWN_VAULT_MCP_GIT_TOKEN MARKDOWN_VAULT_MCP_GIT_REPO_URL MARKDOWN_VAULT_MCP_GIT_USERNAME MARKDOWN_VAULT_MCP_GIT_PULL_INTERVAL_S MARKDOWN_VAULT_MCP_GIT_PUSH_DELAY_S MARKDOWN_VAULT_MCP_GIT_COMMIT_NAME MARKDOWN_VAULT_MCP_GIT_COMMIT_EMAIL MARKDOWN_VAULT_MCP_GIT_COMMIT_NAME_CLAIM MARKDOWN_VAULT_MCP_GIT_COMMIT_EMAIL_CLAIM MARKDOWN_VAULT_MCP_GIT_LFS MARKDOWN_VAULT_MCP_FILE_WATCHER MARKDOWN_VAULT_MCP_FILE_WATCHER_DEBOUNCE_S MARKDOWN_VAULT_MCP_FILE_WATCHER_ROOT_FLOOR MARKDOWN_VAULT_MCP_BOOT_REINDEX MARKDOWN_VAULT_MCP_GITHUB_WEBHOOK_SECRET MARKDOWN_VAULT_MCP_GITLAB_WEBHOOK_SIGNING_TOKEN MARKDOWN_VAULT_MCP_GITLAB_WEBHOOK_SECRET_TOKEN MARKDOWN_VAULT_MCP_SUMMARIZE_PROVIDER MARKDOWN_VAULT_MCP_SUMMARIZE_OPENAI_API_KEY MARKDOWN_VAULT_MCP_SUMMARIZE_OPENAI_BASE_URL MARKDOWN_VAULT_MCP_SUMMARIZE_OPENAI_MODEL MARKDOWN_VAULT_MCP_SUMMARIZE_MAX_TOKENS MARKDOWN_VAULT_MCP_SUMMARIZE_MAX_NOTES MARKDOWN_VAULT_MCP_SUMMARIZE_MAX_INPUT_CHARS MARKDOWN_VAULT_MCP_SUMMARIZE_TIMEOUT MARKDOWN_VAULT_MCP_TRANSFER_TTL_DEFAULT_S MARKDOWN_VAULT_MCP_TRANSFER_TTL_MAX_S MARKDOWN_VAULT_MCP_TRANSFER_GRACE_TTL_S MARKDOWN_VAULT_MCP_TRANSFER_LEASE_S MARKDOWN_VAULT_MCP_TRANSFER_MAX_UPLOAD_BYTES MARKDOWN_VAULT_MCP_JOBS_SOFT_DEADLINE_S MARKDOWN_VAULT_MCP_JOBS_RESULT_TTL_S MARKDOWN_VAULT_MCP_JOBS_MAX_PER_SUBJECT
Set these via the env object in your MCP config (see claude_desktop_config.json snippet above).
Frequently asked questions
How do I install Markdown Vault MCP?
Run the Claude Code command in the install section to add Markdown Vault MCP to Claude Code, or copy the ready-made config for your client from the install section on this page. Restart your client afterwards and the tools appear in your next conversation.
Which clients work with Markdown Vault MCP?
This page carries setup and config for Claude Code, Claude Desktop, Cursor and VS Code. Any other MCP client that accepts a standard server config can connect to Markdown Vault MCP as well.
Does Markdown Vault MCP need an API key?
Yes. Before it can run, set these environment variables: MARKDOWN_VAULT_MCP_KV_STORE_URL, MARKDOWN_VAULT_MCP_TOOLS_ALLOW, MARKDOWN_VAULT_MCP_TOOLS_DENY, MARKDOWN_VAULT_MCP_SERVER_NAME, MARKDOWN_VAULT_MCP_INSTANCE_DESCRIPTION, MARKDOWN_VAULT_MCP_INSTRUCTIONS_EXTRA, MARKDOWN_VAULT_MCP_INSTRUCTIONS, MARKDOWN_VAULT_MCP_LOG_LEVEL, MARKDOWN_VAULT_MCP_LOG_FORMAT, OLLAMA_HOST, OPENAI_API_KEY, VOYAGE_API_KEY, OPENAI_BASE_URL, OPENAI_EMBEDDING_MODEL, MARKDOWN_VAULT_MCP_BUILD_TIMEOUT_S, MARKDOWN_VAULT_MCP_DRAIN_TIMEOUT_S, MARKDOWN_VAULT_MCP_SOURCE_DIR, MARKDOWN_VAULT_MCP_READ_ONLY, MARKDOWN_VAULT_MCP_WRITE_PROTECT_EXISTING, MARKDOWN_VAULT_MCP_REPORT_UNRESOLVED_LINKS, MARKDOWN_VAULT_MCP_DISABLE_APPS_UI, MARKDOWN_VAULT_MCP_INDEX_PATH, MARKDOWN_VAULT_MCP_STATE_PATH, MARKDOWN_VAULT_MCP_EMBEDDINGS_PATH, MARKDOWN_VAULT_MCP_INDEXED_FIELDS, MARKDOWN_VAULT_MCP_REQUIRED_FIELDS, MARKDOWN_VAULT_MCP_EXCLUDE, MARKDOWN_VAULT_MCP_TITLE_FIELD, MARKDOWN_VAULT_MCP_SEARCHABLE_FIELDS, MARKDOWN_VAULT_MCP_TEMPLATES_FOLDER, MARKDOWN_VAULT_MCP_PROMPTS_FOLDER, MARKDOWN_VAULT_MCP_CONVENTIONS_FILE, MARKDOWN_VAULT_MCP_OKF_MODE, MARKDOWN_VAULT_MCP_OKF_WRITE, MARKDOWN_VAULT_MCP_OKF_VERIFY, MARKDOWN_VAULT_MCP_ATTACHMENT_EXTENSIONS, MARKDOWN_VAULT_MCP_MAX_ATTACHMENT_SIZE_MB, MARKDOWN_VAULT_MCP_MAX_NOTE_READ_BYTES, MARKDOWN_VAULT_MCP_DEFAULT_SEARCH_MODE, MARKDOWN_VAULT_MCP_CHUNKS_PER_FILE, MARKDOWN_VAULT_MCP_SNIPPET_WORDS, MARKDOWN_VAULT_MCP_LENGTH_DOWNWEIGHT_ALPHA, MARKDOWN_VAULT_MCP_MAX_CHUNK_WORDS, MARKDOWN_VAULT_MCP_MAX_CHUNK_CHARS, MARKDOWN_VAULT_MCP_CHUNK_OVERLAP_WORDS, MARKDOWN_VAULT_MCP_FOLDER_WEIGHTS, MARKDOWN_VAULT_MCP_FTS_WEIGHTS, MARKDOWN_VAULT_MCP_EMBEDDING_PROVIDER, MARKDOWN_VAULT_MCP_OLLAMA_MODEL, MARKDOWN_VAULT_MCP_OLLAMA_CPU_ONLY, MARKDOWN_VAULT_MCP_VOYAGE_MODEL, MARKDOWN_VAULT_MCP_OPENAI_BASE_URL, MARKDOWN_VAULT_MCP_OPENAI_EMBEDDING_MODEL, MARKDOWN_VAULT_MCP_FASTEMBED_MODEL, MARKDOWN_VAULT_MCP_FASTEMBED_CACHE_DIR, MARKDOWN_VAULT_MCP_EMBED_CONTEXT, MARKDOWN_VAULT_MCP_EMBED_TIMEOUT_S, MARKDOWN_VAULT_MCP_EMBEDDING_BATCH_SIZE, MARKDOWN_VAULT_MCP_GIT_TOKEN, MARKDOWN_VAULT_MCP_GIT_REPO_URL, MARKDOWN_VAULT_MCP_GIT_USERNAME, MARKDOWN_VAULT_MCP_GIT_PULL_INTERVAL_S, MARKDOWN_VAULT_MCP_GIT_PUSH_DELAY_S, MARKDOWN_VAULT_MCP_GIT_COMMIT_NAME, MARKDOWN_VAULT_MCP_GIT_COMMIT_EMAIL, MARKDOWN_VAULT_MCP_GIT_COMMIT_NAME_CLAIM, MARKDOWN_VAULT_MCP_GIT_COMMIT_EMAIL_CLAIM, MARKDOWN_VAULT_MCP_GIT_LFS, MARKDOWN_VAULT_MCP_FILE_WATCHER, MARKDOWN_VAULT_MCP_FILE_WATCHER_DEBOUNCE_S, MARKDOWN_VAULT_MCP_FILE_WATCHER_ROOT_FLOOR, MARKDOWN_VAULT_MCP_BOOT_REINDEX, MARKDOWN_VAULT_MCP_GITHUB_WEBHOOK_SECRET, MARKDOWN_VAULT_MCP_GITLAB_WEBHOOK_SIGNING_TOKEN, MARKDOWN_VAULT_MCP_GITLAB_WEBHOOK_SECRET_TOKEN, MARKDOWN_VAULT_MCP_SUMMARIZE_PROVIDER, MARKDOWN_VAULT_MCP_SUMMARIZE_OPENAI_API_KEY, MARKDOWN_VAULT_MCP_SUMMARIZE_OPENAI_BASE_URL, MARKDOWN_VAULT_MCP_SUMMARIZE_OPENAI_MODEL, MARKDOWN_VAULT_MCP_SUMMARIZE_MAX_TOKENS, MARKDOWN_VAULT_MCP_SUMMARIZE_MAX_NOTES, MARKDOWN_VAULT_MCP_SUMMARIZE_MAX_INPUT_CHARS, MARKDOWN_VAULT_MCP_SUMMARIZE_TIMEOUT, MARKDOWN_VAULT_MCP_TRANSFER_TTL_DEFAULT_S, MARKDOWN_VAULT_MCP_TRANSFER_TTL_MAX_S, MARKDOWN_VAULT_MCP_TRANSFER_GRACE_TTL_S, MARKDOWN_VAULT_MCP_TRANSFER_LEASE_S, MARKDOWN_VAULT_MCP_TRANSFER_MAX_UPLOAD_BYTES, MARKDOWN_VAULT_MCP_JOBS_SOFT_DEADLINE_S, MARKDOWN_VAULT_MCP_JOBS_RESULT_TTL_S, MARKDOWN_VAULT_MCP_JOBS_MAX_PER_SUBJECT. They go in the env block of your MCP config.
Imported from the Official MCP Registry. The details above come from the registry entry; the maker can claim this listing to correct them, add docs, and see its traffic.
Is this your MCP server?
Claim this listing to see its traffic, fix details yourself, and skip the review queue on future updates.
Add this badge to your README
Show visitors this server is listed in the ClaudeRules directory. The badge links straight to this listing.
[](https://clauderules.net/mcp/io-github-pvliesdonk-markdown-vault-mcp)<a href="https://clauderules.net/mcp/io-github-pvliesdonk-markdown-vault-mcp" target="_blank" rel="noopener noreferrer"><img src="https://clauderules.net/api/badge/io-github-pvliesdonk-markdown-vault-mcp" alt="Listed on clauderules.net" /></a>More Search MCP servers
GitHub
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
Serena MCP: the IDE for your agent
A powerful toolkit for coding, providing semantic retrieval and editing capabilities.
mediar-ai/screenpipe
🎖️ 🦀 🏠 🍎 Local-first system capturing screen/audio with timestamped indexing, SQL/embedding storage, semantic search, LLM-powered history analysis, and event-triggered actions - enables building c
Figma-Context-MCP
Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
