AgentHubAgentHub

Markdown Vault MCP

MCP ServerMCP Registry官方收录

io.github.pvliesdonk/markdown-vault-mcp · v1.27.1

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

概览

Markdown Vault MCP 是一个MCP Server,收录自 官方 MCP Registry。支持 stdio、streamable-http 传输。本页提供 Cursor、Claude Code 等客户端的安装配置片段。

安装

选择你的平台查看安装方式

{
  "mcpServers": {
    "markdown-vault-mcp": {
      "command": "uvx",
      "args": [
        "markdown-vault-mcp"
      ],
      "env": {
        "MARKDOWN_VAULT_MCP_SOURCE_DIR": "<MARKDOWN_VAULT_MCP_SOURCE_DIR>"
      }
    }
  }
}

环境变量

MARKDOWN_VAULT_MCP_SOURCE_DIR必填

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_EVENT_STORE_URL可选

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

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)

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

MARKDOWN_VAULT_MCP_SOURCE_DIR可选

Path to the vault directory inside the container

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_EVENT_STORE_URL可选

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

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)

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

PUID可选

Run as this UID (Docker entrypoint)

PGID可选

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可选

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

相关资源

统一 Manifest

{
  "id": "io.github.pvliesdonk/markdown-vault-mcp",
  "type": "mcp-server",
  "version": "1.27.1",
  "displayName": "Markdown Vault MCP",
  "description": "Markdown vault MCP server with FTS5 + semantic search and frontmatter indexing",
  "repository": {
    "url": "https://github.com/pvliesdonk/markdown-vault-mcp",
    "source": "github"
  },
  "homepage": "https://pvliesdonk.github.io/markdown-vault-mcp/",
  "distribution": {
    "packages": [
      {
        "registryType": "pypi",
        "identifier": "markdown-vault-mcp",
        "version": "1.27.1",
        "runtimeHint": "uvx",
        "transport": "stdio",
        "environmentVariables": [
          {
            "name": "MARKDOWN_VAULT_MCP_SOURCE_DIR",
            "description": "Absolute path to the markdown vault directory",
            "isRequired": true
          },
          {
            "name": "MARKDOWN_VAULT_MCP_READ_ONLY",
            "description": "Disable write tools"
          },
          {
            "name": "FASTMCP_LOG_LEVEL",
            "description": "Log level for FastMCP internals; app loggers default to INFO, -v overrides both to DEBUG"
          },
          {
            "name": "MARKDOWN_VAULT_MCP_EVENT_STORE_URL",
            "description": "Event store backend for HTTP session persistence (file:///path or memory://)"
          },
          {
            "name": "MARKDOWN_VAULT_MCP_SERVER_NAME",
            "description": "MCP server name shown to clients"
          },
          {
            "name": "MARKDOWN_VAULT_MCP_STATE_PATH",
            "description": "Directory for index and embeddings state files"
          },
          {
            "name": "MARKDOWN_VAULT_MCP_INDEX_PATH",
            "description": "Path to the FTS5 SQLite index file"
          },
          {
            "name": "MARKDOWN_VAULT_MCP_EMBEDDINGS_PATH",
            "description": "Path to the numpy embeddings file"
          },
          {
            "name": "MARKDOWN_VAULT_MCP_INDEXED_FIELDS",
            "description": "Comma-separated frontmatter fields to index for search"
          },
          {
            "name": "MARKDOWN_VAULT_MCP_REQUIRED_FIELDS",
            "description": "Comma-separated frontmatter fields required on every document"
          },
          {
            "name": "MARKDOWN_VAULT_MCP_EXCLUDE",
            "description": "Comma-separated glob patterns to exclude from indexing"
          },
          {
            "name": "MARKDOWN_VAULT_MCP_EMBEDDING_PROVIDER",
            "description": "Embedding provider to use"
          },
          {
            "name": "OPENAI_API_KEY",
            "description": "OpenAI API key (required when MARKDOWN_VAULT_MCP_EMBEDDING_PROVIDER=openai)",
            "isSecret": true
          },
          {
            "name": "MARKDOWN_VAULT_MCP_OLLAMA_MODEL",
            "description": "Ollama embedding model name"
          },
          {
            "name": "MARKDOWN_VAULT_MCP_OLLAMA_CPU_ONLY",
            "description": "Force CPU-only inference for Ollama"
          },
          {
            "name": "OLLAMA_HOST",
            "description": "Ollama server base URL"
          },
          {
            "name": "MARKDOWN_VAULT_MCP_GIT_TOKEN",
            "description": "Git authentication token for push/pull",
            "isSecret": true
          },
          {
            "name": "MARKDOWN_VAULT_MCP_GIT_REPO_URL",
            "description": "Remote git repository URL for managed mode"
          },
          {
            "name": "MARKDOWN_VAULT_MCP_GIT_USERNAME",
            "description": "Git username for token auth"
          },
          {
            "name": "MARKDOWN_VAULT_MCP_GIT_COMMIT_NAME",
            "description": "Git committer name"
          },
          {
            "name": "MARKDOWN_VAULT_MCP_GIT_COMMIT_EMAIL",
            "description": "Git committer email"
          },
          {
            "name": "MARKDOWN_VAULT_MCP_GIT_PUSH_DELAY_S",
            "description": "Seconds to wait before pushing (batches writes)"
          },
          {
            "name": "MARKDOWN_VAULT_MCP_GIT_LFS",
            "description": "Enable Git LFS support"
          },
          {
            "name": "MARKDOWN_VAULT_MCP_GIT_PULL_INTERVAL_S",
            "description": "Seconds between periodic git pulls (0 to disable)"
          },
          {
            "name": "MARKDOWN_VAULT_MCP_ATTACHMENT_EXTENSIONS",
            "description": "Comma-separated allowed attachment extensions, or * for all"
          },
          {
            "name": "MARKDOWN_VAULT_MCP_MAX_ATTACHMENT_SIZE_MB",
            "description": "Maximum attachment size in MB (0 for unlimited)"
          },
          {
            "name": "MARKDOWN_VAULT_MCP_TEMPLATES_FOLDER",
            "description": "Folder name for note templates within the vault"
          },
          {
            "name": "MARKDOWN_VAULT_MCP_PROMPTS_FOLDER",
            "description": "Path to user-defined MCP prompt templates"
          },
          {
            "name": "MARKDOWN_VAULT_MCP_BEARER_TOKEN",
            "description": "Bearer token for authentication",
            "isSecret": true
          },
          {
            "name": "MARKDOWN_VAULT_MCP_AUTH_MODE",
            "description": "OIDC auth mode: 'remote' (JWKS validation) or 'oidc-proxy' (OAuth proxy). Auto-detected if not set."
          },
          {
            "name": "MARKDOWN_VAULT_MCP_BASE_URL",
            "description": "Public base URL of this server (required for OIDC)"
          },
          {
            "name": "MARKDOWN_VAULT_MCP_OIDC_CONFIG_URL",
            "description": "OIDC discovery endpoint URL"
          },
          {
            "name": "MARKDOWN_VAULT_MCP_OIDC_CLIENT_ID",
            "description": "OIDC client ID"
          },
          {
            "name": "MARKDOWN_VAULT_MCP_OIDC_CLIENT_SECRET",
            "description": "OIDC client secret",
            "isSecret": true
          },
          {
            "name": "MARKDOWN_VAULT_MCP_OIDC_JWT_SIGNING_KEY",
            "description": "Signing key for OIDC session JWTs (critical on Linux/Docker)",
            "isSecret": true
          },
          {
            "name": "MARKDOWN_VAULT_MCP_OIDC_AUDIENCE",
            "description": "Expected OIDC token audience"
          },
          {
            "name": "MARKDOWN_VAULT_MCP_OIDC_REQUIRED_SCOPES",
            "description": "Space-separated required OIDC scopes"
          },
          {
            "name": "MARKDOWN_VAULT_MCP_OIDC_VERIFY_ACCESS_TOKEN",
            "description": "Verify access token JWT instead of id_token"
          },
          {
            "name": "MARKDOWN_VAULT_MCP_APP_DOMAIN",
            "description": "Override Claude app domain for MCP Apps iframe sandboxing"
          }
        ]
      },
      {
        "registryType": "oci",
        "identifier": "ghcr.io/pvliesdonk/markdown-vault-mcp:v1.27.1",
        "transport": "streamable-http",
        "environmentVariables": [
          {
            "name": "MARKDOWN_VAULT_MCP_SOURCE_DIR",
            "description": "Path to the vault directory inside the container"
          },
          {
            "name": "MARKDOWN_VAULT_MCP_READ_ONLY",
            "description": "Disable write tools"
          },
          {
            "name": "FASTMCP_LOG_LEVEL",
            "description": "Log level for FastMCP internals; app loggers default to INFO, -v overrides both to DEBUG"
          },
          {
            "name": "MARKDOWN_VAULT_MCP_EVENT_STORE_URL",
            "description": "Event store backend for HTTP session persistence (file:///path or memory://)"
          },
          {
            "name": "MARKDOWN_VAULT_MCP_SERVER_NAME",
            "description": "MCP server name shown to clients"
          },
          {
            "name": "MARKDOWN_VAULT_MCP_STATE_PATH",
            "description": "Directory for index and embeddings state files"
          },
          {
            "name": "MARKDOWN_VAULT_MCP_INDEX_PATH",
            "description": "Path to the FTS5 SQLite index file"
          },
          {
            "name": "MARKDOWN_VAULT_MCP_EMBEDDINGS_PATH",
            "description": "Path to the numpy embeddings file"
          },
          {
            "name": "MARKDOWN_VAULT_MCP_INDEXED_FIELDS",
            "description": "Comma-separated frontmatter fields to index for search"
          },
          {
            "name": "MARKDOWN_VAULT_MCP_REQUIRED_FIELDS",
            "description": "Comma-separated frontmatter fields required on every document"
          },
          {
            "name": "MARKDOWN_VAULT_MCP_EXCLUDE",
            "description": "Comma-separated glob patterns to exclude from indexing"
          },
          {
            "name": "MARKDOWN_VAULT_MCP_EMBEDDING_PROVIDER",
            "description": "Embedding provider to use"
          },
          {
            "name": "OPENAI_API_KEY",
            "description": "OpenAI API key (required when MARKDOWN_VAULT_MCP_EMBEDDING_PROVIDER=openai)",
            "isSecret": true
          },
          {
            "name": "MARKDOWN_VAULT_MCP_OLLAMA_MODEL",
            "description": "Ollama embedding model name"
          },
          {
            "name": "MARKDOWN_VAULT_MCP_OLLAMA_CPU_ONLY",
            "description": "Force CPU-only inference for Ollama"
          },
          {
            "name": "OLLAMA_HOST",
            "description": "Ollama server base URL"
          },
          {
            "name": "MARKDOWN_VAULT_MCP_GIT_TOKEN",
            "description": "Git authentication token for push/pull",
            "isSecret": true
          },
          {
            "name": "MARKDOWN_VAULT_MCP_GIT_REPO_URL",
            "description": "Remote git repository URL for managed mode"
          },
          {
            "name": "MARKDOWN_VAULT_MCP_GIT_USERNAME",
            "description": "Git username for token auth"
          },
          {
            "name": "MARKDOWN_VAULT_MCP_GIT_COMMIT_NAME",
            "description": "Git committer name"
          },
          {
            "name": "MARKDOWN_VAULT_MCP_GIT_COMMIT_EMAIL",
            "description": "Git committer email"
          },
          {
            "name": "MARKDOWN_VAULT_MCP_GIT_PUSH_DELAY_S",
            "description": "Seconds to wait before pushing (batches writes)"
          },
          {
            "name": "MARKDOWN_VAULT_MCP_GIT_LFS",
            "description": "Enable Git LFS support"
          },
          {
            "name": "MARKDOWN_VAULT_MCP_GIT_PULL_INTERVAL_S",
            "description": "Seconds between periodic git pulls (0 to disable)"
          },
          {
            "name": "MARKDOWN_VAULT_MCP_ATTACHMENT_EXTENSIONS",
            "description": "Comma-separated allowed attachment extensions, or * for all"
          },
          {
            "name": "MARKDOWN_VAULT_MCP_MAX_ATTACHMENT_SIZE_MB",
            "description": "Maximum attachment size in MB (0 for unlimited)"
          },
          {
            "name": "MARKDOWN_VAULT_MCP_TEMPLATES_FOLDER",
            "description": "Folder name for note templates within the vault"
          },
          {
            "name": "MARKDOWN_VAULT_MCP_PROMPTS_FOLDER",
            "description": "Path to user-defined MCP prompt templates"
          },
          {
            "name": "PUID",
            "description": "Run as this UID (Docker entrypoint)"
          },
          {
            "name": "PGID",
            "description": "Run as this GID (Docker entrypoint)"
          },
          {
            "name": "MARKDOWN_VAULT_MCP_BEARER_TOKEN",
            "description": "Bearer token for authentication",
            "isSecret": true
          },
          {
            "name": "MARKDOWN_VAULT_MCP_AUTH_MODE",
            "description": "OIDC auth mode: 'remote' (JWKS validation) or 'oidc-proxy' (OAuth proxy). Auto-detected if not set."
          },
          {
            "name": "MARKDOWN_VAULT_MCP_BASE_URL",
            "description": "Public base URL of this server (required for OIDC)"
          },
          {
            "name": "MARKDOWN_VAULT_MCP_OIDC_CONFIG_URL",
            "description": "OIDC discovery endpoint URL"
          },
          {
            "name": "MARKDOWN_VAULT_MCP_OIDC_CLIENT_ID",
            "description": "OIDC client ID"
          },
          {
            "name": "MARKDOWN_VAULT_MCP_OIDC_CLIENT_SECRET",
            "description": "OIDC client secret",
            "isSecret": true
          },
          {
            "name": "MARKDOWN_VAULT_MCP_OIDC_JWT_SIGNING_KEY",
            "description": "Signing key for OIDC session JWTs (critical on Linux/Docker)",
            "isSecret": true
          },
          {
            "name": "MARKDOWN_VAULT_MCP_OIDC_AUDIENCE",
            "description": "Expected OIDC token audience"
          },
          {
            "name": "MARKDOWN_VAULT_MCP_OIDC_REQUIRED_SCOPES",
            "description": "Space-separated required OIDC scopes"
          },
          {
            "name": "MARKDOWN_VAULT_MCP_OIDC_VERIFY_ACCESS_TOKEN",
            "description": "Verify access token JWT instead of id_token"
          },
          {
            "name": "MARKDOWN_VAULT_MCP_APP_DOMAIN",
            "description": "Override Claude app domain for MCP Apps iframe sandboxing"
          }
        ]
      }
    ],
    "remotes": []
  },
  "dependencies": [],
  "installTargets": [
    "claude-code",
    "claude-desktop",
    "cursor",
    "vscode"
  ],
  "keywords": [],
  "provenance": {
    "origin": "official-mcp-registry",
    "originalId": "io.github.pvliesdonk/markdown-vault-mcp",
    "originalUrl": "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.pvliesdonk%2Fmarkdown-vault-mcp/versions/latest",
    "isOfficial": true,
    "status": "active"
  }
}
Markdown Vault MCP — MCP Server 安装与配置 · AgentHub