PluginBench
MCP Server

Markdown Vault MCP MCP Server

io.github.pvliesdonk/markdown-vault-mcp

What is the Markdown Vault MCP MCP server?

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

How to install Markdown Vault MCP

Copy-paste configuration for popular MCP clients.

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

    Absolute path to the markdown vault directory

  • MARKDOWN_VAULT_MCP_READ_ONLY

    Disable write tools

  • FASTMCP_LOG_LEVEL

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

  • MARKDOWN_VAULT_MCP_KV_STORE_URL

    Unified key-value backend for HTTP session persistence (file:///path or memory://). Legacy alias: MARKDOWN_VAULT_MCP_EVENT_STORE_URL

  • MARKDOWN_VAULT_MCP_SERVER_NAME

    MCP server name shown to clients

  • MARKDOWN_VAULT_MCP_STATE_PATH

    Directory for index and embeddings state files

  • MARKDOWN_VAULT_MCP_INDEX_PATH

    Path to the FTS5 SQLite index file

  • MARKDOWN_VAULT_MCP_EMBEDDINGS_PATH

    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)

  • OPENAI_BASE_URL

    OpenAI-compatible API base URL (e.g. SiliconFlow, Together, internal gateways); also accepts MARKDOWN_VAULT_MCP_OPENAI_BASE_URL

  • OPENAI_EMBEDDING_MODEL

    OpenAI-compatible embedding model name; also accepts MARKDOWN_VAULT_MCP_OPENAI_EMBEDDING_MODEL

  • MARKDOWN_VAULT_MCP_OLLAMA_MODEL

    Ollama embedding model name

  • MARKDOWN_VAULT_MCP_OLLAMA_CPU_ONLY

    Force CPU-only inference for Ollama

  • OLLAMA_HOST

    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

    Git username for token auth

  • MARKDOWN_VAULT_MCP_GIT_COMMIT_NAME

    Git committer name

  • MARKDOWN_VAULT_MCP_GIT_COMMIT_EMAIL

    Git committer email

  • MARKDOWN_VAULT_MCP_GIT_PUSH_DELAY_S

    Seconds to wait before pushing (batches writes)

  • MARKDOWN_VAULT_MCP_GIT_LFS

    Enable Git LFS support

  • MARKDOWN_VAULT_MCP_GIT_PULL_INTERVAL_S

    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

    Maximum attachment size in MB (0 for unlimited)

  • MARKDOWN_VAULT_MCP_TEMPLATES_FOLDER

    Folder name for note templates within the vault

  • MARKDOWN_VAULT_MCP_PROMPTS_FOLDER

    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

    Space-separated required OIDC scopes

  • MARKDOWN_VAULT_MCP_OIDC_VERIFY_ACCESS_TOKEN

    Verify access token JWT instead of id_token

  • MARKDOWN_VAULT_MCP_APP_DOMAIN

    Override Claude app domain for MCP Apps iframe sandboxing

  • PUID

    Run as this UID (Docker entrypoint)

  • PGID

    Run as this GID (Docker entrypoint)

Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "markdown-vault-mcp": {
      "command": "uvx",
      "args": [
        "markdown-vault-mcp"
      ],
      "env": {
        "MARKDOWN_VAULT_MCP_SOURCE_DIR": "<YOUR_MARKDOWN_VAULT_MCP_SOURCE_DIR>",
        "MARKDOWN_VAULT_MCP_READ_ONLY": "<YOUR_MARKDOWN_VAULT_MCP_READ_ONLY>",
        "FASTMCP_LOG_LEVEL": "<YOUR_FASTMCP_LOG_LEVEL>",
        "MARKDOWN_VAULT_MCP_KV_STORE_URL": "<YOUR_MARKDOWN_VAULT_MCP_KV_STORE_URL>",
        "MARKDOWN_VAULT_MCP_SERVER_NAME": "<YOUR_MARKDOWN_VAULT_MCP_SERVER_NAME>",
        "MARKDOWN_VAULT_MCP_STATE_PATH": "<YOUR_MARKDOWN_VAULT_MCP_STATE_PATH>",
        "MARKDOWN_VAULT_MCP_INDEX_PATH": "<YOUR_MARKDOWN_VAULT_MCP_INDEX_PATH>",
        "MARKDOWN_VAULT_MCP_EMBEDDINGS_PATH": "<YOUR_MARKDOWN_VAULT_MCP_EMBEDDINGS_PATH>",
        "MARKDOWN_VAULT_MCP_INDEXED_FIELDS": "<YOUR_MARKDOWN_VAULT_MCP_INDEXED_FIELDS>",
        "MARKDOWN_VAULT_MCP_REQUIRED_FIELDS": "<YOUR_MARKDOWN_VAULT_MCP_REQUIRED_FIELDS>",
        "MARKDOWN_VAULT_MCP_EXCLUDE": "<YOUR_MARKDOWN_VAULT_MCP_EXCLUDE>",
        "MARKDOWN_VAULT_MCP_EMBEDDING_PROVIDER": "<YOUR_MARKDOWN_VAULT_MCP_EMBEDDING_PROVIDER>",
        "OPENAI_API_KEY": "<YOUR_OPENAI_API_KEY>",
        "OPENAI_BASE_URL": "<YOUR_OPENAI_BASE_URL>",
        "OPENAI_EMBEDDING_MODEL": "<YOUR_OPENAI_EMBEDDING_MODEL>",
        "MARKDOWN_VAULT_MCP_OLLAMA_MODEL": "<YOUR_MARKDOWN_VAULT_MCP_OLLAMA_MODEL>",
        "MARKDOWN_VAULT_MCP_OLLAMA_CPU_ONLY": "<YOUR_MARKDOWN_VAULT_MCP_OLLAMA_CPU_ONLY>",
        "OLLAMA_HOST": "<YOUR_OLLAMA_HOST>",
        "MARKDOWN_VAULT_MCP_GIT_TOKEN": "<YOUR_MARKDOWN_VAULT_MCP_GIT_TOKEN>",
        "MARKDOWN_VAULT_MCP_GIT_REPO_URL": "<YOUR_MARKDOWN_VAULT_MCP_GIT_REPO_URL>",
        "MARKDOWN_VAULT_MCP_GIT_USERNAME": "<YOUR_MARKDOWN_VAULT_MCP_GIT_USERNAME>",
        "MARKDOWN_VAULT_MCP_GIT_COMMIT_NAME": "<YOUR_MARKDOWN_VAULT_MCP_GIT_COMMIT_NAME>",
        "MARKDOWN_VAULT_MCP_GIT_COMMIT_EMAIL": "<YOUR_MARKDOWN_VAULT_MCP_GIT_COMMIT_EMAIL>",
        "MARKDOWN_VAULT_MCP_GIT_PUSH_DELAY_S": "<YOUR_MARKDOWN_VAULT_MCP_GIT_PUSH_DELAY_S>",
        "MARKDOWN_VAULT_MCP_GIT_LFS": "<YOUR_MARKDOWN_VAULT_MCP_GIT_LFS>",
        "MARKDOWN_VAULT_MCP_GIT_PULL_INTERVAL_S": "<YOUR_MARKDOWN_VAULT_MCP_GIT_PULL_INTERVAL_S>",
        "MARKDOWN_VAULT_MCP_ATTACHMENT_EXTENSIONS": "<YOUR_MARKDOWN_VAULT_MCP_ATTACHMENT_EXTENSIONS>",
        "MARKDOWN_VAULT_MCP_MAX_ATTACHMENT_SIZE_MB": "<YOUR_MARKDOWN_VAULT_MCP_MAX_ATTACHMENT_SIZE_MB>",
        "MARKDOWN_VAULT_MCP_TEMPLATES_FOLDER": "<YOUR_MARKDOWN_VAULT_MCP_TEMPLATES_FOLDER>",
        "MARKDOWN_VAULT_MCP_PROMPTS_FOLDER": "<YOUR_MARKDOWN_VAULT_MCP_PROMPTS_FOLDER>",
        "MARKDOWN_VAULT_MCP_BEARER_TOKEN": "<YOUR_MARKDOWN_VAULT_MCP_BEARER_TOKEN>",
        "MARKDOWN_VAULT_MCP_AUTH_MODE": "<YOUR_MARKDOWN_VAULT_MCP_AUTH_MODE>",
        "MARKDOWN_VAULT_MCP_BASE_URL": "<YOUR_MARKDOWN_VAULT_MCP_BASE_URL>",
        "MARKDOWN_VAULT_MCP_OIDC_CONFIG_URL": "<YOUR_MARKDOWN_VAULT_MCP_OIDC_CONFIG_URL>",
        "MARKDOWN_VAULT_MCP_OIDC_CLIENT_ID": "<YOUR_MARKDOWN_VAULT_MCP_OIDC_CLIENT_ID>",
        "MARKDOWN_VAULT_MCP_OIDC_CLIENT_SECRET": "<YOUR_MARKDOWN_VAULT_MCP_OIDC_CLIENT_SECRET>",
        "MARKDOWN_VAULT_MCP_OIDC_JWT_SIGNING_KEY": "<YOUR_MARKDOWN_VAULT_MCP_OIDC_JWT_SIGNING_KEY>",
        "MARKDOWN_VAULT_MCP_OIDC_AUDIENCE": "<YOUR_MARKDOWN_VAULT_MCP_OIDC_AUDIENCE>",
        "MARKDOWN_VAULT_MCP_OIDC_REQUIRED_SCOPES": "<YOUR_MARKDOWN_VAULT_MCP_OIDC_REQUIRED_SCOPES>",
        "MARKDOWN_VAULT_MCP_OIDC_VERIFY_ACCESS_TOKEN": "<YOUR_MARKDOWN_VAULT_MCP_OIDC_VERIFY_ACCESS_TOKEN>",
        "MARKDOWN_VAULT_MCP_APP_DOMAIN": "<YOUR_MARKDOWN_VAULT_MCP_APP_DOMAIN>",
        "PUID": "<YOUR_PUID>",
        "PGID": "<YOUR_PGID>"
      }
    }
  }
}
Cursor
~/.cursor/mcp.json
{
  "mcpServers": {
    "markdown-vault-mcp": {
      "command": "uvx",
      "args": [
        "markdown-vault-mcp"
      ],
      "env": {
        "MARKDOWN_VAULT_MCP_SOURCE_DIR": "<YOUR_MARKDOWN_VAULT_MCP_SOURCE_DIR>",
        "MARKDOWN_VAULT_MCP_READ_ONLY": "<YOUR_MARKDOWN_VAULT_MCP_READ_ONLY>",
        "FASTMCP_LOG_LEVEL": "<YOUR_FASTMCP_LOG_LEVEL>",
        "MARKDOWN_VAULT_MCP_KV_STORE_URL": "<YOUR_MARKDOWN_VAULT_MCP_KV_STORE_URL>",
        "MARKDOWN_VAULT_MCP_SERVER_NAME": "<YOUR_MARKDOWN_VAULT_MCP_SERVER_NAME>",
        "MARKDOWN_VAULT_MCP_STATE_PATH": "<YOUR_MARKDOWN_VAULT_MCP_STATE_PATH>",
        "MARKDOWN_VAULT_MCP_INDEX_PATH": "<YOUR_MARKDOWN_VAULT_MCP_INDEX_PATH>",
        "MARKDOWN_VAULT_MCP_EMBEDDINGS_PATH": "<YOUR_MARKDOWN_VAULT_MCP_EMBEDDINGS_PATH>",
        "MARKDOWN_VAULT_MCP_INDEXED_FIELDS": "<YOUR_MARKDOWN_VAULT_MCP_INDEXED_FIELDS>",
        "MARKDOWN_VAULT_MCP_REQUIRED_FIELDS": "<YOUR_MARKDOWN_VAULT_MCP_REQUIRED_FIELDS>",
        "MARKDOWN_VAULT_MCP_EXCLUDE": "<YOUR_MARKDOWN_VAULT_MCP_EXCLUDE>",
        "MARKDOWN_VAULT_MCP_EMBEDDING_PROVIDER": "<YOUR_MARKDOWN_VAULT_MCP_EMBEDDING_PROVIDER>",
        "OPENAI_API_KEY": "<YOUR_OPENAI_API_KEY>",
        "OPENAI_BASE_URL": "<YOUR_OPENAI_BASE_URL>",
        "OPENAI_EMBEDDING_MODEL": "<YOUR_OPENAI_EMBEDDING_MODEL>",
        "MARKDOWN_VAULT_MCP_OLLAMA_MODEL": "<YOUR_MARKDOWN_VAULT_MCP_OLLAMA_MODEL>",
        "MARKDOWN_VAULT_MCP_OLLAMA_CPU_ONLY": "<YOUR_MARKDOWN_VAULT_MCP_OLLAMA_CPU_ONLY>",
        "OLLAMA_HOST": "<YOUR_OLLAMA_HOST>",
        "MARKDOWN_VAULT_MCP_GIT_TOKEN": "<YOUR_MARKDOWN_VAULT_MCP_GIT_TOKEN>",
        "MARKDOWN_VAULT_MCP_GIT_REPO_URL": "<YOUR_MARKDOWN_VAULT_MCP_GIT_REPO_URL>",
        "MARKDOWN_VAULT_MCP_GIT_USERNAME": "<YOUR_MARKDOWN_VAULT_MCP_GIT_USERNAME>",
        "MARKDOWN_VAULT_MCP_GIT_COMMIT_NAME": "<YOUR_MARKDOWN_VAULT_MCP_GIT_COMMIT_NAME>",
        "MARKDOWN_VAULT_MCP_GIT_COMMIT_EMAIL": "<YOUR_MARKDOWN_VAULT_MCP_GIT_COMMIT_EMAIL>",
        "MARKDOWN_VAULT_MCP_GIT_PUSH_DELAY_S": "<YOUR_MARKDOWN_VAULT_MCP_GIT_PUSH_DELAY_S>",
        "MARKDOWN_VAULT_MCP_GIT_LFS": "<YOUR_MARKDOWN_VAULT_MCP_GIT_LFS>",
        "MARKDOWN_VAULT_MCP_GIT_PULL_INTERVAL_S": "<YOUR_MARKDOWN_VAULT_MCP_GIT_PULL_INTERVAL_S>",
        "MARKDOWN_VAULT_MCP_ATTACHMENT_EXTENSIONS": "<YOUR_MARKDOWN_VAULT_MCP_ATTACHMENT_EXTENSIONS>",
        "MARKDOWN_VAULT_MCP_MAX_ATTACHMENT_SIZE_MB": "<YOUR_MARKDOWN_VAULT_MCP_MAX_ATTACHMENT_SIZE_MB>",
        "MARKDOWN_VAULT_MCP_TEMPLATES_FOLDER": "<YOUR_MARKDOWN_VAULT_MCP_TEMPLATES_FOLDER>",
        "MARKDOWN_VAULT_MCP_PROMPTS_FOLDER": "<YOUR_MARKDOWN_VAULT_MCP_PROMPTS_FOLDER>",
        "MARKDOWN_VAULT_MCP_BEARER_TOKEN": "<YOUR_MARKDOWN_VAULT_MCP_BEARER_TOKEN>",
        "MARKDOWN_VAULT_MCP_AUTH_MODE": "<YOUR_MARKDOWN_VAULT_MCP_AUTH_MODE>",
        "MARKDOWN_VAULT_MCP_BASE_URL": "<YOUR_MARKDOWN_VAULT_MCP_BASE_URL>",
        "MARKDOWN_VAULT_MCP_OIDC_CONFIG_URL": "<YOUR_MARKDOWN_VAULT_MCP_OIDC_CONFIG_URL>",
        "MARKDOWN_VAULT_MCP_OIDC_CLIENT_ID": "<YOUR_MARKDOWN_VAULT_MCP_OIDC_CLIENT_ID>",
        "MARKDOWN_VAULT_MCP_OIDC_CLIENT_SECRET": "<YOUR_MARKDOWN_VAULT_MCP_OIDC_CLIENT_SECRET>",
        "MARKDOWN_VAULT_MCP_OIDC_JWT_SIGNING_KEY": "<YOUR_MARKDOWN_VAULT_MCP_OIDC_JWT_SIGNING_KEY>",
        "MARKDOWN_VAULT_MCP_OIDC_AUDIENCE": "<YOUR_MARKDOWN_VAULT_MCP_OIDC_AUDIENCE>",
        "MARKDOWN_VAULT_MCP_OIDC_REQUIRED_SCOPES": "<YOUR_MARKDOWN_VAULT_MCP_OIDC_REQUIRED_SCOPES>",
        "MARKDOWN_VAULT_MCP_OIDC_VERIFY_ACCESS_TOKEN": "<YOUR_MARKDOWN_VAULT_MCP_OIDC_VERIFY_ACCESS_TOKEN>",
        "MARKDOWN_VAULT_MCP_APP_DOMAIN": "<YOUR_MARKDOWN_VAULT_MCP_APP_DOMAIN>",
        "PUID": "<YOUR_PUID>",
        "PGID": "<YOUR_PGID>"
      }
    }
  }
}
Windsurf
~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "markdown-vault-mcp": {
      "command": "uvx",
      "args": [
        "markdown-vault-mcp"
      ],
      "env": {
        "MARKDOWN_VAULT_MCP_SOURCE_DIR": "<YOUR_MARKDOWN_VAULT_MCP_SOURCE_DIR>",
        "MARKDOWN_VAULT_MCP_READ_ONLY": "<YOUR_MARKDOWN_VAULT_MCP_READ_ONLY>",
        "FASTMCP_LOG_LEVEL": "<YOUR_FASTMCP_LOG_LEVEL>",
        "MARKDOWN_VAULT_MCP_KV_STORE_URL": "<YOUR_MARKDOWN_VAULT_MCP_KV_STORE_URL>",
        "MARKDOWN_VAULT_MCP_SERVER_NAME": "<YOUR_MARKDOWN_VAULT_MCP_SERVER_NAME>",
        "MARKDOWN_VAULT_MCP_STATE_PATH": "<YOUR_MARKDOWN_VAULT_MCP_STATE_PATH>",
        "MARKDOWN_VAULT_MCP_INDEX_PATH": "<YOUR_MARKDOWN_VAULT_MCP_INDEX_PATH>",
        "MARKDOWN_VAULT_MCP_EMBEDDINGS_PATH": "<YOUR_MARKDOWN_VAULT_MCP_EMBEDDINGS_PATH>",
        "MARKDOWN_VAULT_MCP_INDEXED_FIELDS": "<YOUR_MARKDOWN_VAULT_MCP_INDEXED_FIELDS>",
        "MARKDOWN_VAULT_MCP_REQUIRED_FIELDS": "<YOUR_MARKDOWN_VAULT_MCP_REQUIRED_FIELDS>",
        "MARKDOWN_VAULT_MCP_EXCLUDE": "<YOUR_MARKDOWN_VAULT_MCP_EXCLUDE>",
        "MARKDOWN_VAULT_MCP_EMBEDDING_PROVIDER": "<YOUR_MARKDOWN_VAULT_MCP_EMBEDDING_PROVIDER>",
        "OPENAI_API_KEY": "<YOUR_OPENAI_API_KEY>",
        "OPENAI_BASE_URL": "<YOUR_OPENAI_BASE_URL>",
        "OPENAI_EMBEDDING_MODEL": "<YOUR_OPENAI_EMBEDDING_MODEL>",
        "MARKDOWN_VAULT_MCP_OLLAMA_MODEL": "<YOUR_MARKDOWN_VAULT_MCP_OLLAMA_MODEL>",
        "MARKDOWN_VAULT_MCP_OLLAMA_CPU_ONLY": "<YOUR_MARKDOWN_VAULT_MCP_OLLAMA_CPU_ONLY>",
        "OLLAMA_HOST": "<YOUR_OLLAMA_HOST>",
        "MARKDOWN_VAULT_MCP_GIT_TOKEN": "<YOUR_MARKDOWN_VAULT_MCP_GIT_TOKEN>",
        "MARKDOWN_VAULT_MCP_GIT_REPO_URL": "<YOUR_MARKDOWN_VAULT_MCP_GIT_REPO_URL>",
        "MARKDOWN_VAULT_MCP_GIT_USERNAME": "<YOUR_MARKDOWN_VAULT_MCP_GIT_USERNAME>",
        "MARKDOWN_VAULT_MCP_GIT_COMMIT_NAME": "<YOUR_MARKDOWN_VAULT_MCP_GIT_COMMIT_NAME>",
        "MARKDOWN_VAULT_MCP_GIT_COMMIT_EMAIL": "<YOUR_MARKDOWN_VAULT_MCP_GIT_COMMIT_EMAIL>",
        "MARKDOWN_VAULT_MCP_GIT_PUSH_DELAY_S": "<YOUR_MARKDOWN_VAULT_MCP_GIT_PUSH_DELAY_S>",
        "MARKDOWN_VAULT_MCP_GIT_LFS": "<YOUR_MARKDOWN_VAULT_MCP_GIT_LFS>",
        "MARKDOWN_VAULT_MCP_GIT_PULL_INTERVAL_S": "<YOUR_MARKDOWN_VAULT_MCP_GIT_PULL_INTERVAL_S>",
        "MARKDOWN_VAULT_MCP_ATTACHMENT_EXTENSIONS": "<YOUR_MARKDOWN_VAULT_MCP_ATTACHMENT_EXTENSIONS>",
        "MARKDOWN_VAULT_MCP_MAX_ATTACHMENT_SIZE_MB": "<YOUR_MARKDOWN_VAULT_MCP_MAX_ATTACHMENT_SIZE_MB>",
        "MARKDOWN_VAULT_MCP_TEMPLATES_FOLDER": "<YOUR_MARKDOWN_VAULT_MCP_TEMPLATES_FOLDER>",
        "MARKDOWN_VAULT_MCP_PROMPTS_FOLDER": "<YOUR_MARKDOWN_VAULT_MCP_PROMPTS_FOLDER>",
        "MARKDOWN_VAULT_MCP_BEARER_TOKEN": "<YOUR_MARKDOWN_VAULT_MCP_BEARER_TOKEN>",
        "MARKDOWN_VAULT_MCP_AUTH_MODE": "<YOUR_MARKDOWN_VAULT_MCP_AUTH_MODE>",
        "MARKDOWN_VAULT_MCP_BASE_URL": "<YOUR_MARKDOWN_VAULT_MCP_BASE_URL>",
        "MARKDOWN_VAULT_MCP_OIDC_CONFIG_URL": "<YOUR_MARKDOWN_VAULT_MCP_OIDC_CONFIG_URL>",
        "MARKDOWN_VAULT_MCP_OIDC_CLIENT_ID": "<YOUR_MARKDOWN_VAULT_MCP_OIDC_CLIENT_ID>",
        "MARKDOWN_VAULT_MCP_OIDC_CLIENT_SECRET": "<YOUR_MARKDOWN_VAULT_MCP_OIDC_CLIENT_SECRET>",
        "MARKDOWN_VAULT_MCP_OIDC_JWT_SIGNING_KEY": "<YOUR_MARKDOWN_VAULT_MCP_OIDC_JWT_SIGNING_KEY>",
        "MARKDOWN_VAULT_MCP_OIDC_AUDIENCE": "<YOUR_MARKDOWN_VAULT_MCP_OIDC_AUDIENCE>",
        "MARKDOWN_VAULT_MCP_OIDC_REQUIRED_SCOPES": "<YOUR_MARKDOWN_VAULT_MCP_OIDC_REQUIRED_SCOPES>",
        "MARKDOWN_VAULT_MCP_OIDC_VERIFY_ACCESS_TOKEN": "<YOUR_MARKDOWN_VAULT_MCP_OIDC_VERIFY_ACCESS_TOKEN>",
        "MARKDOWN_VAULT_MCP_APP_DOMAIN": "<YOUR_MARKDOWN_VAULT_MCP_APP_DOMAIN>",
        "PUID": "<YOUR_PUID>",
        "PGID": "<YOUR_PGID>"
      }
    }
  }
}
VS Code
.vscode/mcp.json
{
  "servers": {
    "markdown-vault-mcp": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "markdown-vault-mcp"
      ],
      "env": {
        "MARKDOWN_VAULT_MCP_SOURCE_DIR": "<YOUR_MARKDOWN_VAULT_MCP_SOURCE_DIR>",
        "MARKDOWN_VAULT_MCP_READ_ONLY": "<YOUR_MARKDOWN_VAULT_MCP_READ_ONLY>",
        "FASTMCP_LOG_LEVEL": "<YOUR_FASTMCP_LOG_LEVEL>",
        "MARKDOWN_VAULT_MCP_KV_STORE_URL": "<YOUR_MARKDOWN_VAULT_MCP_KV_STORE_URL>",
        "MARKDOWN_VAULT_MCP_SERVER_NAME": "<YOUR_MARKDOWN_VAULT_MCP_SERVER_NAME>",
        "MARKDOWN_VAULT_MCP_STATE_PATH": "<YOUR_MARKDOWN_VAULT_MCP_STATE_PATH>",
        "MARKDOWN_VAULT_MCP_INDEX_PATH": "<YOUR_MARKDOWN_VAULT_MCP_INDEX_PATH>",
        "MARKDOWN_VAULT_MCP_EMBEDDINGS_PATH": "<YOUR_MARKDOWN_VAULT_MCP_EMBEDDINGS_PATH>",
        "MARKDOWN_VAULT_MCP_INDEXED_FIELDS": "<YOUR_MARKDOWN_VAULT_MCP_INDEXED_FIELDS>",
        "MARKDOWN_VAULT_MCP_REQUIRED_FIELDS": "<YOUR_MARKDOWN_VAULT_MCP_REQUIRED_FIELDS>",
        "MARKDOWN_VAULT_MCP_EXCLUDE": "<YOUR_MARKDOWN_VAULT_MCP_EXCLUDE>",
        "MARKDOWN_VAULT_MCP_EMBEDDING_PROVIDER": "<YOUR_MARKDOWN_VAULT_MCP_EMBEDDING_PROVIDER>",
        "OPENAI_API_KEY": "<YOUR_OPENAI_API_KEY>",
        "OPENAI_BASE_URL": "<YOUR_OPENAI_BASE_URL>",
        "OPENAI_EMBEDDING_MODEL": "<YOUR_OPENAI_EMBEDDING_MODEL>",
        "MARKDOWN_VAULT_MCP_OLLAMA_MODEL": "<YOUR_MARKDOWN_VAULT_MCP_OLLAMA_MODEL>",
        "MARKDOWN_VAULT_MCP_OLLAMA_CPU_ONLY": "<YOUR_MARKDOWN_VAULT_MCP_OLLAMA_CPU_ONLY>",
        "OLLAMA_HOST": "<YOUR_OLLAMA_HOST>",
        "MARKDOWN_VAULT_MCP_GIT_TOKEN": "<YOUR_MARKDOWN_VAULT_MCP_GIT_TOKEN>",
        "MARKDOWN_VAULT_MCP_GIT_REPO_URL": "<YOUR_MARKDOWN_VAULT_MCP_GIT_REPO_URL>",
        "MARKDOWN_VAULT_MCP_GIT_USERNAME": "<YOUR_MARKDOWN_VAULT_MCP_GIT_USERNAME>",
        "MARKDOWN_VAULT_MCP_GIT_COMMIT_NAME": "<YOUR_MARKDOWN_VAULT_MCP_GIT_COMMIT_NAME>",
        "MARKDOWN_VAULT_MCP_GIT_COMMIT_EMAIL": "<YOUR_MARKDOWN_VAULT_MCP_GIT_COMMIT_EMAIL>",
        "MARKDOWN_VAULT_MCP_GIT_PUSH_DELAY_S": "<YOUR_MARKDOWN_VAULT_MCP_GIT_PUSH_DELAY_S>",
        "MARKDOWN_VAULT_MCP_GIT_LFS": "<YOUR_MARKDOWN_VAULT_MCP_GIT_LFS>",
        "MARKDOWN_VAULT_MCP_GIT_PULL_INTERVAL_S": "<YOUR_MARKDOWN_VAULT_MCP_GIT_PULL_INTERVAL_S>",
        "MARKDOWN_VAULT_MCP_ATTACHMENT_EXTENSIONS": "<YOUR_MARKDOWN_VAULT_MCP_ATTACHMENT_EXTENSIONS>",
        "MARKDOWN_VAULT_MCP_MAX_ATTACHMENT_SIZE_MB": "<YOUR_MARKDOWN_VAULT_MCP_MAX_ATTACHMENT_SIZE_MB>",
        "MARKDOWN_VAULT_MCP_TEMPLATES_FOLDER": "<YOUR_MARKDOWN_VAULT_MCP_TEMPLATES_FOLDER>",
        "MARKDOWN_VAULT_MCP_PROMPTS_FOLDER": "<YOUR_MARKDOWN_VAULT_MCP_PROMPTS_FOLDER>",
        "MARKDOWN_VAULT_MCP_BEARER_TOKEN": "<YOUR_MARKDOWN_VAULT_MCP_BEARER_TOKEN>",
        "MARKDOWN_VAULT_MCP_AUTH_MODE": "<YOUR_MARKDOWN_VAULT_MCP_AUTH_MODE>",
        "MARKDOWN_VAULT_MCP_BASE_URL": "<YOUR_MARKDOWN_VAULT_MCP_BASE_URL>",
        "MARKDOWN_VAULT_MCP_OIDC_CONFIG_URL": "<YOUR_MARKDOWN_VAULT_MCP_OIDC_CONFIG_URL>",
        "MARKDOWN_VAULT_MCP_OIDC_CLIENT_ID": "<YOUR_MARKDOWN_VAULT_MCP_OIDC_CLIENT_ID>",
        "MARKDOWN_VAULT_MCP_OIDC_CLIENT_SECRET": "<YOUR_MARKDOWN_VAULT_MCP_OIDC_CLIENT_SECRET>",
        "MARKDOWN_VAULT_MCP_OIDC_JWT_SIGNING_KEY": "<YOUR_MARKDOWN_VAULT_MCP_OIDC_JWT_SIGNING_KEY>",
        "MARKDOWN_VAULT_MCP_OIDC_AUDIENCE": "<YOUR_MARKDOWN_VAULT_MCP_OIDC_AUDIENCE>",
        "MARKDOWN_VAULT_MCP_OIDC_REQUIRED_SCOPES": "<YOUR_MARKDOWN_VAULT_MCP_OIDC_REQUIRED_SCOPES>",
        "MARKDOWN_VAULT_MCP_OIDC_VERIFY_ACCESS_TOKEN": "<YOUR_MARKDOWN_VAULT_MCP_OIDC_VERIFY_ACCESS_TOKEN>",
        "MARKDOWN_VAULT_MCP_APP_DOMAIN": "<YOUR_MARKDOWN_VAULT_MCP_APP_DOMAIN>",
        "PUID": "<YOUR_PUID>",
        "PGID": "<YOUR_PGID>"
      }
    }
  }
}
Claude Code
claude mcp add markdown-vault-mcp --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 FASTMCP_LOG_LEVEL=<YOUR_FASTMCP_LOG_LEVEL> --env MARKDOWN_VAULT_MCP_KV_STORE_URL=<YOUR_MARKDOWN_VAULT_MCP_KV_STORE_URL> --env MARKDOWN_VAULT_MCP_SERVER_NAME=<YOUR_MARKDOWN_VAULT_MCP_SERVER_NAME> --env MARKDOWN_VAULT_MCP_STATE_PATH=<YOUR_MARKDOWN_VAULT_MCP_STATE_PATH> --env MARKDOWN_VAULT_MCP_INDEX_PATH=<YOUR_MARKDOWN_VAULT_MCP_INDEX_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_EMBEDDING_PROVIDER=<YOUR_MARKDOWN_VAULT_MCP_EMBEDDING_PROVIDER> --env OPENAI_API_KEY=<YOUR_OPENAI_API_KEY> --env OPENAI_BASE_URL=<YOUR_OPENAI_BASE_URL> --env OPENAI_EMBEDDING_MODEL=<YOUR_OPENAI_EMBEDDING_MODEL> --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 OLLAMA_HOST=<YOUR_OLLAMA_HOST> --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_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_PUSH_DELAY_S=<YOUR_MARKDOWN_VAULT_MCP_GIT_PUSH_DELAY_S> --env MARKDOWN_VAULT_MCP_GIT_LFS=<YOUR_MARKDOWN_VAULT_MCP_GIT_LFS> --env MARKDOWN_VAULT_MCP_GIT_PULL_INTERVAL_S=<YOUR_MARKDOWN_VAULT_MCP_GIT_PULL_INTERVAL_S> --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_TEMPLATES_FOLDER=<YOUR_MARKDOWN_VAULT_MCP_TEMPLATES_FOLDER> --env MARKDOWN_VAULT_MCP_PROMPTS_FOLDER=<YOUR_MARKDOWN_VAULT_MCP_PROMPTS_FOLDER> --env MARKDOWN_VAULT_MCP_BEARER_TOKEN=<YOUR_MARKDOWN_VAULT_MCP_BEARER_TOKEN> --env MARKDOWN_VAULT_MCP_AUTH_MODE=<YOUR_MARKDOWN_VAULT_MCP_AUTH_MODE> --env MARKDOWN_VAULT_MCP_BASE_URL=<YOUR_MARKDOWN_VAULT_MCP_BASE_URL> --env MARKDOWN_VAULT_MCP_OIDC_CONFIG_URL=<YOUR_MARKDOWN_VAULT_MCP_OIDC_CONFIG_URL> --env MARKDOWN_VAULT_MCP_OIDC_CLIENT_ID=<YOUR_MARKDOWN_VAULT_MCP_OIDC_CLIENT_ID> --env MARKDOWN_VAULT_MCP_OIDC_CLIENT_SECRET=<YOUR_MARKDOWN_VAULT_MCP_OIDC_CLIENT_SECRET> --env MARKDOWN_VAULT_MCP_OIDC_JWT_SIGNING_KEY=<YOUR_MARKDOWN_VAULT_MCP_OIDC_JWT_SIGNING_KEY> --env MARKDOWN_VAULT_MCP_OIDC_AUDIENCE=<YOUR_MARKDOWN_VAULT_MCP_OIDC_AUDIENCE> --env MARKDOWN_VAULT_MCP_OIDC_REQUIRED_SCOPES=<YOUR_MARKDOWN_VAULT_MCP_OIDC_REQUIRED_SCOPES> --env MARKDOWN_VAULT_MCP_OIDC_VERIFY_ACCESS_TOKEN=<YOUR_MARKDOWN_VAULT_MCP_OIDC_VERIFY_ACCESS_TOKEN> --env MARKDOWN_VAULT_MCP_APP_DOMAIN=<YOUR_MARKDOWN_VAULT_MCP_APP_DOMAIN> --env PUID=<YOUR_PUID> --env PGID=<YOUR_PGID> -- uvx markdown-vault-mcp

Related MCP servers

MCP server for AI image generation via OpenAI, Stable Diffusion (SD WebUI), or placeholders.

View repository →

Look up company logos and brand data via the logo.dev API.

View repository →

Scholarly-sources MCP: papers, patents, books, standards — search and cross-reference prior art.

View repository →