io.github.pvliesdonk

markdown-vault-mcp

Markdown Vault MCP

Markdown vault MCP server with FTS5 + semantic search and frontmatter indexing

communityknowledge

Package Details

Transportstdio
Runtimeuvx

Environment Variables

MARKDOWN_VAULT_MCP_SOURCE_DIR(file)
Required

Absolute path to the markdown vault directory

MARKDOWN_VAULT_MCP_READ_ONLY(bool)
Default:true

Disable write tools

FASTMCP_LOG_LEVEL
Default:INFO

Log level for FastMCP internals; app loggers default to INFO, -v overrides both to DEBUG

MARKDOWN_VAULT_MCP_EVENT_STORE_URL
Default:file:///data/state/events

Event store backend for HTTP session persistence (file:///path or memory://)

MARKDOWN_VAULT_MCP_SERVER_NAME
Default:markdown-vault-mcp

MCP server name shown to clients

MARKDOWN_VAULT_MCP_STATE_PATH(file)

Directory for index and embeddings state files

MARKDOWN_VAULT_MCP_INDEX_PATH(file)

Path to the FTS5 SQLite index file

MARKDOWN_VAULT_MCP_EMBEDDINGS_PATH(file)

Path to the numpy embeddings file

MARKDOWN_VAULT_MCP_INDEXED_FIELDS

Comma-separated frontmatter fields to index for search

MARKDOWN_VAULT_MCP_REQUIRED_FIELDS

Comma-separated frontmatter fields required on every document

MARKDOWN_VAULT_MCP_EXCLUDE

Comma-separated glob patterns to exclude from indexing

MARKDOWN_VAULT_MCP_EMBEDDING_PROVIDER

Embedding provider to use

OPENAI_API_KEY
Secret

OpenAI API key (required when MARKDOWN_VAULT_MCP_EMBEDDING_PROVIDER=openai)

MARKDOWN_VAULT_MCP_OLLAMA_MODEL
Default:nomic-embed-text

Ollama embedding model name

MARKDOWN_VAULT_MCP_OLLAMA_CPU_ONLY(bool)
Default:false

Force CPU-only inference for Ollama

OLLAMA_HOST
Default:http://localhost:11434

Ollama server base URL

MARKDOWN_VAULT_MCP_GIT_TOKEN
Secret

Git authentication token for push/pull

MARKDOWN_VAULT_MCP_GIT_REPO_URL

Remote git repository URL for managed mode

MARKDOWN_VAULT_MCP_GIT_USERNAME
Default:x-access-token

Git username for token auth

MARKDOWN_VAULT_MCP_GIT_COMMIT_NAME
Default:markdown-vault-mcp

Git committer name

MARKDOWN_VAULT_MCP_GIT_COMMIT_EMAIL
Default:noreply@markdown-vault-mcp

Git committer email

MARKDOWN_VAULT_MCP_GIT_PUSH_DELAY_S(num)
Default:30

Seconds to wait before pushing (batches writes)

MARKDOWN_VAULT_MCP_GIT_LFS(bool)
Default:true

Enable Git LFS support

MARKDOWN_VAULT_MCP_GIT_PULL_INTERVAL_S(num)
Default:600

Seconds between periodic git pulls (0 to disable)

MARKDOWN_VAULT_MCP_ATTACHMENT_EXTENSIONS

Comma-separated allowed attachment extensions, or * for all

MARKDOWN_VAULT_MCP_MAX_ATTACHMENT_SIZE_MB(num)
Default:10

Maximum attachment size in MB (0 for unlimited)

MARKDOWN_VAULT_MCP_TEMPLATES_FOLDER
Default:_templates

Folder name for note templates within the vault

MARKDOWN_VAULT_MCP_PROMPTS_FOLDER(file)

Path to user-defined MCP prompt templates

MARKDOWN_VAULT_MCP_BEARER_TOKEN
Secret

Bearer token for authentication

MARKDOWN_VAULT_MCP_AUTH_MODE

OIDC auth mode: 'remote' (JWKS validation) or 'oidc-proxy' (OAuth proxy). Auto-detected if not set.

MARKDOWN_VAULT_MCP_BASE_URL

Public base URL of this server (required for OIDC)

MARKDOWN_VAULT_MCP_OIDC_CONFIG_URL

OIDC discovery endpoint URL

MARKDOWN_VAULT_MCP_OIDC_CLIENT_ID

OIDC client ID

MARKDOWN_VAULT_MCP_OIDC_CLIENT_SECRET
Secret

OIDC client secret

MARKDOWN_VAULT_MCP_OIDC_JWT_SIGNING_KEY
Secret

Signing key for OIDC session JWTs (critical on Linux/Docker)

MARKDOWN_VAULT_MCP_OIDC_AUDIENCE

Expected OIDC token audience

MARKDOWN_VAULT_MCP_OIDC_REQUIRED_SCOPES
Default:openid

Space-separated required OIDC scopes

MARKDOWN_VAULT_MCP_OIDC_VERIFY_ACCESS_TOKEN(bool)
Default:false

Verify access token JWT instead of id_token

MARKDOWN_VAULT_MCP_APP_DOMAIN

Override Claude app domain for MCP Apps iframe sandboxing

TransportStreamable HTTP

Package Arguments

Named
--port
Port for the HTTP transport

Environment Variables

MARKDOWN_VAULT_MCP_SOURCE_DIR(file)
Default:/data/vault

Path to the vault directory inside the container

MARKDOWN_VAULT_MCP_READ_ONLY(bool)
Default:true

Disable write tools

FASTMCP_LOG_LEVEL
Default:INFO

Log level for FastMCP internals; app loggers default to INFO, -v overrides both to DEBUG

MARKDOWN_VAULT_MCP_EVENT_STORE_URL
Default:file:///data/state/events

Event store backend for HTTP session persistence (file:///path or memory://)

MARKDOWN_VAULT_MCP_SERVER_NAME
Default:markdown-vault-mcp

MCP server name shown to clients

MARKDOWN_VAULT_MCP_STATE_PATH(file)
Default:/data/state

Directory for index and embeddings state files

MARKDOWN_VAULT_MCP_INDEX_PATH(file)

Path to the FTS5 SQLite index file

MARKDOWN_VAULT_MCP_EMBEDDINGS_PATH(file)

Path to the numpy embeddings file

MARKDOWN_VAULT_MCP_INDEXED_FIELDS

Comma-separated frontmatter fields to index for search

MARKDOWN_VAULT_MCP_REQUIRED_FIELDS

Comma-separated frontmatter fields required on every document

MARKDOWN_VAULT_MCP_EXCLUDE

Comma-separated glob patterns to exclude from indexing

MARKDOWN_VAULT_MCP_EMBEDDING_PROVIDER

Embedding provider to use

OPENAI_API_KEY
Secret

OpenAI API key (required when MARKDOWN_VAULT_MCP_EMBEDDING_PROVIDER=openai)

MARKDOWN_VAULT_MCP_OLLAMA_MODEL
Default:nomic-embed-text

Ollama embedding model name

MARKDOWN_VAULT_MCP_OLLAMA_CPU_ONLY(bool)
Default:false

Force CPU-only inference for Ollama

OLLAMA_HOST
Default:http://localhost:11434

Ollama server base URL

MARKDOWN_VAULT_MCP_GIT_TOKEN
Secret

Git authentication token for push/pull

MARKDOWN_VAULT_MCP_GIT_REPO_URL

Remote git repository URL for managed mode

MARKDOWN_VAULT_MCP_GIT_USERNAME
Default:x-access-token

Git username for token auth

MARKDOWN_VAULT_MCP_GIT_COMMIT_NAME
Default:markdown-vault-mcp

Git committer name

MARKDOWN_VAULT_MCP_GIT_COMMIT_EMAIL
Default:noreply@markdown-vault-mcp

Git committer email

MARKDOWN_VAULT_MCP_GIT_PUSH_DELAY_S(num)
Default:30

Seconds to wait before pushing (batches writes)

MARKDOWN_VAULT_MCP_GIT_LFS(bool)
Default:true

Enable Git LFS support

MARKDOWN_VAULT_MCP_GIT_PULL_INTERVAL_S(num)
Default:600

Seconds between periodic git pulls (0 to disable)

MARKDOWN_VAULT_MCP_ATTACHMENT_EXTENSIONS

Comma-separated allowed attachment extensions, or * for all

MARKDOWN_VAULT_MCP_MAX_ATTACHMENT_SIZE_MB(num)
Default:10

Maximum attachment size in MB (0 for unlimited)

MARKDOWN_VAULT_MCP_TEMPLATES_FOLDER
Default:_templates

Folder name for note templates within the vault

MARKDOWN_VAULT_MCP_PROMPTS_FOLDER(file)

Path to user-defined MCP prompt templates

PUID(num)
Default:1000

Run as this UID (Docker entrypoint)

PGID(num)
Default:1000

Run as this GID (Docker entrypoint)

MARKDOWN_VAULT_MCP_BEARER_TOKEN
Secret

Bearer token for authentication

MARKDOWN_VAULT_MCP_AUTH_MODE

OIDC auth mode: 'remote' (JWKS validation) or 'oidc-proxy' (OAuth proxy). Auto-detected if not set.

MARKDOWN_VAULT_MCP_BASE_URL

Public base URL of this server (required for OIDC)

MARKDOWN_VAULT_MCP_OIDC_CONFIG_URL

OIDC discovery endpoint URL

MARKDOWN_VAULT_MCP_OIDC_CLIENT_ID

OIDC client ID

MARKDOWN_VAULT_MCP_OIDC_CLIENT_SECRET
Secret

OIDC client secret

MARKDOWN_VAULT_MCP_OIDC_JWT_SIGNING_KEY
Secret

Signing key for OIDC session JWTs (critical on Linux/Docker)

MARKDOWN_VAULT_MCP_OIDC_AUDIENCE

Expected OIDC token audience

MARKDOWN_VAULT_MCP_OIDC_REQUIRED_SCOPES
Default:openid

Space-separated required OIDC scopes

MARKDOWN_VAULT_MCP_OIDC_VERIFY_ACCESS_TOKEN(bool)
Default:false

Verify access token JWT instead of id_token

MARKDOWN_VAULT_MCP_APP_DOMAIN

Override Claude app domain for MCP Apps iframe sandboxing