프로토타입 · 미리 보기: 공식 레지스트리의 모든 서버를 담고 있으며 30분마다 동기화해요. 리뷰와 계정 기능은 다음 단계에서 열려요.
PopNx MCPAI를 쓰는 사람을 위한 MCP 서버 · 쉬운 말로 설명해요

Markdown Vault MCP

제작자: pvliesdonk버전 6.1.0i★ –i내 컴퓨터에서 실행
레지스트리 이름io.github.pvliesdonk/markdown-vault-mcp

설치

개요

제작자가 쓴 설명(영어 원문)

Generic markdown vault MCP with hybrid search

PopNx MCP의 세 기둥

이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.

할 수 있는 일

이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.

  • 연결 방식: 내 컴퓨터에서 실행
  • 전송 방식: stdio, Streamable HTTP
  • 카테고리: 문서, 시트 및 사무 업무
  • 입력해야 할 값: OPENAI_API_KEY, VOYAGE_API_KEY, MARKDOWN_VAULT_MCP_CLIENT_TOKEN, MARKDOWN_VAULT_MCP_EMBEDDING_POSTGRES_DSN, MARKDOWN_VAULT_MCP_GIT_TOKEN, MARKDOWN_VAULT_MCP_GITHUB_WEBHOOK_SECRET, MARKDOWN_VAULT_MCP_GITLAB_WEBHOOK_SIGNING_TOKEN, MARKDOWN_VAULT_MCP_GITLAB_WEBHOOK_SECRET_TOKEN, MARKDOWN_VAULT_MCP_SUMMARIZE_OPENAI_API_KEY

설치

쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.

설치하기 전에

  • 기본 점검: 1개 중 1개 통과
  • 내 컴퓨터에서 내 사용자 계정의 권한(파일, 네트워크, 앱)으로 실행돼요.
  • 직접 입력할 값: 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_SERVER_URL, MARKDOWN_VAULT_MCP_CLIENT_CONFIG, MARKDOWN_VAULT_MCP_CLIENT_TOKEN, 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_EMBEDDING_STORE, MARKDOWN_VAULT_MCP_EMBEDDING_SEARCH, MARKDOWN_VAULT_MCP_EMBEDDING_SEARCH_WORKSPACE_MB, MARKDOWN_VAULT_MCP_EMBEDDING_POSTGRES_DSN, MARKDOWN_VAULT_MCP_EMBEDDING_POSTGRES_SCHEMA, MARKDOWN_VAULT_MCP_EMBEDDING_POSTGRES_POOL_SIZE, MARKDOWN_VAULT_MCP_EMBEDDING_POSTGRES_STATEMENT_TIMEOUT_S, 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_SERVICE_SUBJECTS, 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

비밀로 표시된 값은 내 계정의 열쇠예요. 절대 다른 사람과 공유하거나 채팅에 붙여 넣지 마세요.

필요한 것

  • PyPIPython의 uv 설치(uvx 명령어용)

어떤 앱을 쓰세요?

위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.

Claude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요

{
  "mcpServers": {
    "markdown-vault": {
      "command": "uvx",
      "args": [
        "markdown-vault-mcp"
      ],
      "env": {
        "MARKDOWN_VAULT_MCP_KV_STORE_URL": "your-value",
        "MARKDOWN_VAULT_MCP_TOOLS_ALLOW": "your-value",
        "MARKDOWN_VAULT_MCP_TOOLS_DENY": "your-value",
        "MARKDOWN_VAULT_MCP_SERVER_NAME": "your-value",
        "MARKDOWN_VAULT_MCP_INSTANCE_DESCRIPTION": "your-value",
        "MARKDOWN_VAULT_MCP_INSTRUCTIONS_EXTRA": "your-value",
        "MARKDOWN_VAULT_MCP_INSTRUCTIONS": "your-value",
        "MARKDOWN_VAULT_MCP_LOG_LEVEL": "your-value",
        "MARKDOWN_VAULT_MCP_LOG_FORMAT": "your-value",
        "OLLAMA_HOST": "your-value",
        "OPENAI_API_KEY": "your-value",
        "VOYAGE_API_KEY": "your-value",
        "OPENAI_BASE_URL": "your-value",
        "OPENAI_EMBEDDING_MODEL": "your-value",
        "MARKDOWN_VAULT_MCP_BUILD_TIMEOUT_S": "your-value",
        "MARKDOWN_VAULT_MCP_DRAIN_TIMEOUT_S": "your-value",
        "MARKDOWN_VAULT_MCP_SERVER_URL": "your-value",
        "MARKDOWN_VAULT_MCP_CLIENT_CONFIG": "your-value",
        "MARKDOWN_VAULT_MCP_CLIENT_TOKEN": "your-value",
        "MARKDOWN_VAULT_MCP_SOURCE_DIR": "your-value",
        "MARKDOWN_VAULT_MCP_READ_ONLY": "your-value",
        "MARKDOWN_VAULT_MCP_WRITE_PROTECT_EXISTING": "your-value",
        "MARKDOWN_VAULT_MCP_REPORT_UNRESOLVED_LINKS": "your-value",
        "MARKDOWN_VAULT_MCP_DISABLE_APPS_UI": "your-value",
        "MARKDOWN_VAULT_MCP_INDEX_PATH": "your-value",
        "MARKDOWN_VAULT_MCP_STATE_PATH": "your-value",
        "MARKDOWN_VAULT_MCP_EMBEDDINGS_PATH": "your-value",
        "MARKDOWN_VAULT_MCP_EMBEDDING_STORE": "your-value",
        "MARKDOWN_VAULT_MCP_EMBEDDING_SEARCH": "your-value",
        "MARKDOWN_VAULT_MCP_EMBEDDING_SEARCH_WORKSPACE_MB": "your-value",
        "MARKDOWN_VAULT_MCP_EMBEDDING_POSTGRES_DSN": "your-value",
        "MARKDOWN_VAULT_MCP_EMBEDDING_POSTGRES_SCHEMA": "your-value",
        "MARKDOWN_VAULT_MCP_EMBEDDING_POSTGRES_POOL_SIZE": "your-value",
        "MARKDOWN_VAULT_MCP_EMBEDDING_POSTGRES_STATEMENT_TIMEOUT_S": "your-value",
        "MARKDOWN_VAULT_MCP_INDEXED_FIELDS": "your-value",
        "MARKDOWN_VAULT_MCP_REQUIRED_FIELDS": "your-value",
        "MARKDOWN_VAULT_MCP_EXCLUDE": "your-value",
        "MARKDOWN_VAULT_MCP_TITLE_FIELD": "your-value",
        "MARKDOWN_VAULT_MCP_SEARCHABLE_FIELDS": "your-value",
        "MARKDOWN_VAULT_MCP_TEMPLATES_FOLDER": "your-value",
        "MARKDOWN_VAULT_MCP_PROMPTS_FOLDER": "your-value",
        "MARKDOWN_VAULT_MCP_CONVENTIONS_FILE": "your-value",
        "MARKDOWN_VAULT_MCP_OKF_MODE": "your-value",
        "MARKDOWN_VAULT_MCP_OKF_WRITE": "your-value",
        "MARKDOWN_VAULT_MCP_OKF_VERIFY": "your-value",
        "MARKDOWN_VAULT_MCP_SERVICE_SUBJECTS": "your-value",
        "MARKDOWN_VAULT_MCP_ATTACHMENT_EXTENSIONS": "your-value",
        "MARKDOWN_VAULT_MCP_MAX_ATTACHMENT_SIZE_MB": "your-value",
        "MARKDOWN_VAULT_MCP_MAX_NOTE_READ_BYTES": "your-value",
        "MARKDOWN_VAULT_MCP_DEFAULT_SEARCH_MODE": "your-value",
        "MARKDOWN_VAULT_MCP_CHUNKS_PER_FILE": "your-value",
        "MARKDOWN_VAULT_MCP_SNIPPET_WORDS": "your-value",
        "MARKDOWN_VAULT_MCP_LENGTH_DOWNWEIGHT_ALPHA": "your-value",
        "MARKDOWN_VAULT_MCP_MAX_CHUNK_WORDS": "your-value",
        "MARKDOWN_VAULT_MCP_MAX_CHUNK_CHARS": "your-value",
        "MARKDOWN_VAULT_MCP_CHUNK_OVERLAP_WORDS": "your-value",
        "MARKDOWN_VAULT_MCP_FOLDER_WEIGHTS": "your-value",
        "MARKDOWN_VAULT_MCP_FTS_WEIGHTS": "your-value",
        "MARKDOWN_VAULT_MCP_EMBEDDING_PROVIDER": "your-value",
        "MARKDOWN_VAULT_MCP_OLLAMA_MODEL": "your-value",
        "MARKDOWN_VAULT_MCP_OLLAMA_CPU_ONLY": "your-value",
        "MARKDOWN_VAULT_MCP_VOYAGE_MODEL": "your-value",
        "MARKDOWN_VAULT_MCP_OPENAI_BASE_URL": "your-value",
        "MARKDOWN_VAULT_MCP_OPENAI_EMBEDDING_MODEL": "your-value",
        "MARKDOWN_VAULT_MCP_FASTEMBED_MODEL": "your-value",
        "MARKDOWN_VAULT_MCP_FASTEMBED_CACHE_DIR": "your-value",
        "MARKDOWN_VAULT_MCP_EMBED_CONTEXT": "your-value",
        "MARKDOWN_VAULT_MCP_EMBED_TIMEOUT_S": "your-value",
        "MARKDOWN_VAULT_MCP_EMBEDDING_BATCH_SIZE": "your-value",
        "MARKDOWN_VAULT_MCP_GIT_TOKEN": "your-value",
        "MARKDOWN_VAULT_MCP_GIT_REPO_URL": "your-value",
        "MARKDOWN_VAULT_MCP_GIT_USERNAME": "your-value",
        "MARKDOWN_VAULT_MCP_GIT_PULL_INTERVAL_S": "your-value",
        "MARKDOWN_VAULT_MCP_GIT_PUSH_DELAY_S": "your-value",
        "MARKDOWN_VAULT_MCP_GIT_COMMIT_NAME": "your-value",
        "MARKDOWN_VAULT_MCP_GIT_COMMIT_EMAIL": "your-value",
        "MARKDOWN_VAULT_MCP_GIT_COMMIT_NAME_CLAIM": "your-value",
        "MARKDOWN_VAULT_MCP_GIT_COMMIT_EMAIL_CLAIM": "your-value",
        "MARKDOWN_VAULT_MCP_GIT_LFS": "your-value",
        "MARKDOWN_VAULT_MCP_FILE_WATCHER": "your-value",
        "MARKDOWN_VAULT_MCP_FILE_WATCHER_DEBOUNCE_S": "your-value",
        "MARKDOWN_VAULT_MCP_FILE_WATCHER_ROOT_FLOOR": "your-value",
        "MARKDOWN_VAULT_MCP_BOOT_REINDEX": "your-value",
        "MARKDOWN_VAULT_MCP_GITHUB_WEBHOOK_SECRET": "your-value",
        "MARKDOWN_VAULT_MCP_GITLAB_WEBHOOK_SIGNING_TOKEN": "your-value",
        "MARKDOWN_VAULT_MCP_GITLAB_WEBHOOK_SECRET_TOKEN": "your-value",
        "MARKDOWN_VAULT_MCP_SUMMARIZE_PROVIDER": "your-value",
        "MARKDOWN_VAULT_MCP_SUMMARIZE_OPENAI_API_KEY": "your-value",
        "MARKDOWN_VAULT_MCP_SUMMARIZE_OPENAI_BASE_URL": "your-value",
        "MARKDOWN_VAULT_MCP_SUMMARIZE_OPENAI_MODEL": "your-value",
        "MARKDOWN_VAULT_MCP_SUMMARIZE_MAX_TOKENS": "your-value",
        "MARKDOWN_VAULT_MCP_SUMMARIZE_MAX_NOTES": "your-value",
        "MARKDOWN_VAULT_MCP_SUMMARIZE_MAX_INPUT_CHARS": "your-value",
        "MARKDOWN_VAULT_MCP_SUMMARIZE_TIMEOUT": "your-value",
        "MARKDOWN_VAULT_MCP_TRANSFER_TTL_DEFAULT_S": "your-value",
        "MARKDOWN_VAULT_MCP_TRANSFER_TTL_MAX_S": "your-value",
        "MARKDOWN_VAULT_MCP_TRANSFER_GRACE_TTL_S": "your-value",
        "MARKDOWN_VAULT_MCP_TRANSFER_LEASE_S": "your-value",
        "MARKDOWN_VAULT_MCP_TRANSFER_MAX_UPLOAD_BYTES": "your-value",
        "MARKDOWN_VAULT_MCP_JOBS_SOFT_DEADLINE_S": "your-value",
        "MARKDOWN_VAULT_MCP_JOBS_RESULT_TTL_S": "your-value",
        "MARKDOWN_VAULT_MCP_JOBS_MAX_PER_SUBJECT": "your-value"
      }
    }
  }
}

터미널에서 이 명령어를 실행하세요

claude mcp add markdown-vault --env MARKDOWN_VAULT_MCP_KV_STORE_URL=your-value --env MARKDOWN_VAULT_MCP_TOOLS_ALLOW=your-value --env MARKDOWN_VAULT_MCP_TOOLS_DENY=your-value --env MARKDOWN_VAULT_MCP_SERVER_NAME=your-value --env MARKDOWN_VAULT_MCP_INSTANCE_DESCRIPTION=your-value --env MARKDOWN_VAULT_MCP_INSTRUCTIONS_EXTRA=your-value --env MARKDOWN_VAULT_MCP_INSTRUCTIONS=your-value --env MARKDOWN_VAULT_MCP_LOG_LEVEL=your-value --env MARKDOWN_VAULT_MCP_LOG_FORMAT=your-value --env OLLAMA_HOST=your-value --env OPENAI_API_KEY=your-value --env VOYAGE_API_KEY=your-value --env OPENAI_BASE_URL=your-value --env OPENAI_EMBEDDING_MODEL=your-value --env MARKDOWN_VAULT_MCP_BUILD_TIMEOUT_S=your-value --env MARKDOWN_VAULT_MCP_DRAIN_TIMEOUT_S=your-value --env MARKDOWN_VAULT_MCP_SERVER_URL=your-value --env MARKDOWN_VAULT_MCP_CLIENT_CONFIG=your-value --env MARKDOWN_VAULT_MCP_CLIENT_TOKEN=your-value --env MARKDOWN_VAULT_MCP_SOURCE_DIR=your-value --env MARKDOWN_VAULT_MCP_READ_ONLY=your-value --env MARKDOWN_VAULT_MCP_WRITE_PROTECT_EXISTING=your-value --env MARKDOWN_VAULT_MCP_REPORT_UNRESOLVED_LINKS=your-value --env MARKDOWN_VAULT_MCP_DISABLE_APPS_UI=your-value --env MARKDOWN_VAULT_MCP_INDEX_PATH=your-value --env MARKDOWN_VAULT_MCP_STATE_PATH=your-value --env MARKDOWN_VAULT_MCP_EMBEDDINGS_PATH=your-value --env MARKDOWN_VAULT_MCP_EMBEDDING_STORE=your-value --env MARKDOWN_VAULT_MCP_EMBEDDING_SEARCH=your-value --env MARKDOWN_VAULT_MCP_EMBEDDING_SEARCH_WORKSPACE_MB=your-value --env MARKDOWN_VAULT_MCP_EMBEDDING_POSTGRES_DSN=your-value --env MARKDOWN_VAULT_MCP_EMBEDDING_POSTGRES_SCHEMA=your-value --env MARKDOWN_VAULT_MCP_EMBEDDING_POSTGRES_POOL_SIZE=your-value --env MARKDOWN_VAULT_MCP_EMBEDDING_POSTGRES_STATEMENT_TIMEOUT_S=your-value --env MARKDOWN_VAULT_MCP_INDEXED_FIELDS=your-value --env MARKDOWN_VAULT_MCP_REQUIRED_FIELDS=your-value --env MARKDOWN_VAULT_MCP_EXCLUDE=your-value --env MARKDOWN_VAULT_MCP_TITLE_FIELD=your-value --env MARKDOWN_VAULT_MCP_SEARCHABLE_FIELDS=your-value --env MARKDOWN_VAULT_MCP_TEMPLATES_FOLDER=your-value --env MARKDOWN_VAULT_MCP_PROMPTS_FOLDER=your-value --env MARKDOWN_VAULT_MCP_CONVENTIONS_FILE=your-value --env MARKDOWN_VAULT_MCP_OKF_MODE=your-value --env MARKDOWN_VAULT_MCP_OKF_WRITE=your-value --env MARKDOWN_VAULT_MCP_OKF_VERIFY=your-value --env MARKDOWN_VAULT_MCP_SERVICE_SUBJECTS=your-value --env MARKDOWN_VAULT_MCP_ATTACHMENT_EXTENSIONS=your-value --env MARKDOWN_VAULT_MCP_MAX_ATTACHMENT_SIZE_MB=your-value --env MARKDOWN_VAULT_MCP_MAX_NOTE_READ_BYTES=your-value --env MARKDOWN_VAULT_MCP_DEFAULT_SEARCH_MODE=your-value --env MARKDOWN_VAULT_MCP_CHUNKS_PER_FILE=your-value --env MARKDOWN_VAULT_MCP_SNIPPET_WORDS=your-value --env MARKDOWN_VAULT_MCP_LENGTH_DOWNWEIGHT_ALPHA=your-value --env MARKDOWN_VAULT_MCP_MAX_CHUNK_WORDS=your-value --env MARKDOWN_VAULT_MCP_MAX_CHUNK_CHARS=your-value --env MARKDOWN_VAULT_MCP_CHUNK_OVERLAP_WORDS=your-value --env MARKDOWN_VAULT_MCP_FOLDER_WEIGHTS=your-value --env MARKDOWN_VAULT_MCP_FTS_WEIGHTS=your-value --env MARKDOWN_VAULT_MCP_EMBEDDING_PROVIDER=your-value --env MARKDOWN_VAULT_MCP_OLLAMA_MODEL=your-value --env MARKDOWN_VAULT_MCP_OLLAMA_CPU_ONLY=your-value --env MARKDOWN_VAULT_MCP_VOYAGE_MODEL=your-value --env MARKDOWN_VAULT_MCP_OPENAI_BASE_URL=your-value --env MARKDOWN_VAULT_MCP_OPENAI_EMBEDDING_MODEL=your-value --env MARKDOWN_VAULT_MCP_FASTEMBED_MODEL=your-value --env MARKDOWN_VAULT_MCP_FASTEMBED_CACHE_DIR=your-value --env MARKDOWN_VAULT_MCP_EMBED_CONTEXT=your-value --env MARKDOWN_VAULT_MCP_EMBED_TIMEOUT_S=your-value --env MARKDOWN_VAULT_MCP_EMBEDDING_BATCH_SIZE=your-value --env MARKDOWN_VAULT_MCP_GIT_TOKEN=your-value --env MARKDOWN_VAULT_MCP_GIT_REPO_URL=your-value --env MARKDOWN_VAULT_MCP_GIT_USERNAME=your-value --env MARKDOWN_VAULT_MCP_GIT_PULL_INTERVAL_S=your-value --env MARKDOWN_VAULT_MCP_GIT_PUSH_DELAY_S=your-value --env MARKDOWN_VAULT_MCP_GIT_COMMIT_NAME=your-value --env MARKDOWN_VAULT_MCP_GIT_COMMIT_EMAIL=your-value --env MARKDOWN_VAULT_MCP_GIT_COMMIT_NAME_CLAIM=your-value --env MARKDOWN_VAULT_MCP_GIT_COMMIT_EMAIL_CLAIM=your-value --env MARKDOWN_VAULT_MCP_GIT_LFS=your-value --env MARKDOWN_VAULT_MCP_FILE_WATCHER=your-value --env MARKDOWN_VAULT_MCP_FILE_WATCHER_DEBOUNCE_S=your-value --env MARKDOWN_VAULT_MCP_FILE_WATCHER_ROOT_FLOOR=your-value --env MARKDOWN_VAULT_MCP_BOOT_REINDEX=your-value --env MARKDOWN_VAULT_MCP_GITHUB_WEBHOOK_SECRET=your-value --env MARKDOWN_VAULT_MCP_GITLAB_WEBHOOK_SIGNING_TOKEN=your-value --env MARKDOWN_VAULT_MCP_GITLAB_WEBHOOK_SECRET_TOKEN=your-value --env MARKDOWN_VAULT_MCP_SUMMARIZE_PROVIDER=your-value --env MARKDOWN_VAULT_MCP_SUMMARIZE_OPENAI_API_KEY=your-value --env MARKDOWN_VAULT_MCP_SUMMARIZE_OPENAI_BASE_URL=your-value --env MARKDOWN_VAULT_MCP_SUMMARIZE_OPENAI_MODEL=your-value --env MARKDOWN_VAULT_MCP_SUMMARIZE_MAX_TOKENS=your-value --env MARKDOWN_VAULT_MCP_SUMMARIZE_MAX_NOTES=your-value --env MARKDOWN_VAULT_MCP_SUMMARIZE_MAX_INPUT_CHARS=your-value --env MARKDOWN_VAULT_MCP_SUMMARIZE_TIMEOUT=your-value --env MARKDOWN_VAULT_MCP_TRANSFER_TTL_DEFAULT_S=your-value --env MARKDOWN_VAULT_MCP_TRANSFER_TTL_MAX_S=your-value --env MARKDOWN_VAULT_MCP_TRANSFER_GRACE_TTL_S=your-value --env MARKDOWN_VAULT_MCP_TRANSFER_LEASE_S=your-value --env MARKDOWN_VAULT_MCP_TRANSFER_MAX_UPLOAD_BYTES=your-value --env MARKDOWN_VAULT_MCP_JOBS_SOFT_DEADLINE_S=your-value --env MARKDOWN_VAULT_MCP_JOBS_RESULT_TTL_S=your-value --env MARKDOWN_VAULT_MCP_JOBS_MAX_PER_SUBJECT=your-value -- uvx markdown-vault-mcp

실행하기 전에 빈 값을 채워 주세요.

Cursor에서 열기

또는 설정을 직접 복사하기

프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요

{
  "mcpServers": {
    "markdown-vault": {
      "command": "uvx",
      "args": [
        "markdown-vault-mcp"
      ],
      "env": {
        "MARKDOWN_VAULT_MCP_KV_STORE_URL": "your-value",
        "MARKDOWN_VAULT_MCP_TOOLS_ALLOW": "your-value",
        "MARKDOWN_VAULT_MCP_TOOLS_DENY": "your-value",
        "MARKDOWN_VAULT_MCP_SERVER_NAME": "your-value",
        "MARKDOWN_VAULT_MCP_INSTANCE_DESCRIPTION": "your-value",
        "MARKDOWN_VAULT_MCP_INSTRUCTIONS_EXTRA": "your-value",
        "MARKDOWN_VAULT_MCP_INSTRUCTIONS": "your-value",
        "MARKDOWN_VAULT_MCP_LOG_LEVEL": "your-value",
        "MARKDOWN_VAULT_MCP_LOG_FORMAT": "your-value",
        "OLLAMA_HOST": "your-value",
        "OPENAI_API_KEY": "your-value",
        "VOYAGE_API_KEY": "your-value",
        "OPENAI_BASE_URL": "your-value",
        "OPENAI_EMBEDDING_MODEL": "your-value",
        "MARKDOWN_VAULT_MCP_BUILD_TIMEOUT_S": "your-value",
        "MARKDOWN_VAULT_MCP_DRAIN_TIMEOUT_S": "your-value",
        "MARKDOWN_VAULT_MCP_SERVER_URL": "your-value",
        "MARKDOWN_VAULT_MCP_CLIENT_CONFIG": "your-value",
        "MARKDOWN_VAULT_MCP_CLIENT_TOKEN": "your-value",
        "MARKDOWN_VAULT_MCP_SOURCE_DIR": "your-value",
        "MARKDOWN_VAULT_MCP_READ_ONLY": "your-value",
        "MARKDOWN_VAULT_MCP_WRITE_PROTECT_EXISTING": "your-value",
        "MARKDOWN_VAULT_MCP_REPORT_UNRESOLVED_LINKS": "your-value",
        "MARKDOWN_VAULT_MCP_DISABLE_APPS_UI": "your-value",
        "MARKDOWN_VAULT_MCP_INDEX_PATH": "your-value",
        "MARKDOWN_VAULT_MCP_STATE_PATH": "your-value",
        "MARKDOWN_VAULT_MCP_EMBEDDINGS_PATH": "your-value",
        "MARKDOWN_VAULT_MCP_EMBEDDING_STORE": "your-value",
        "MARKDOWN_VAULT_MCP_EMBEDDING_SEARCH": "your-value",
        "MARKDOWN_VAULT_MCP_EMBEDDING_SEARCH_WORKSPACE_MB": "your-value",
        "MARKDOWN_VAULT_MCP_EMBEDDING_POSTGRES_DSN": "your-value",
        "MARKDOWN_VAULT_MCP_EMBEDDING_POSTGRES_SCHEMA": "your-value",
        "MARKDOWN_VAULT_MCP_EMBEDDING_POSTGRES_POOL_SIZE": "your-value",
        "MARKDOWN_VAULT_MCP_EMBEDDING_POSTGRES_STATEMENT_TIMEOUT_S": "your-value",
        "MARKDOWN_VAULT_MCP_INDEXED_FIELDS": "your-value",
        "MARKDOWN_VAULT_MCP_REQUIRED_FIELDS": "your-value",
        "MARKDOWN_VAULT_MCP_EXCLUDE": "your-value",
        "MARKDOWN_VAULT_MCP_TITLE_FIELD": "your-value",
        "MARKDOWN_VAULT_MCP_SEARCHABLE_FIELDS": "your-value",
        "MARKDOWN_VAULT_MCP_TEMPLATES_FOLDER": "your-value",
        "MARKDOWN_VAULT_MCP_PROMPTS_FOLDER": "your-value",
        "MARKDOWN_VAULT_MCP_CONVENTIONS_FILE": "your-value",
        "MARKDOWN_VAULT_MCP_OKF_MODE": "your-value",
        "MARKDOWN_VAULT_MCP_OKF_WRITE": "your-value",
        "MARKDOWN_VAULT_MCP_OKF_VERIFY": "your-value",
        "MARKDOWN_VAULT_MCP_SERVICE_SUBJECTS": "your-value",
        "MARKDOWN_VAULT_MCP_ATTACHMENT_EXTENSIONS": "your-value",
        "MARKDOWN_VAULT_MCP_MAX_ATTACHMENT_SIZE_MB": "your-value",
        "MARKDOWN_VAULT_MCP_MAX_NOTE_READ_BYTES": "your-value",
        "MARKDOWN_VAULT_MCP_DEFAULT_SEARCH_MODE": "your-value",
        "MARKDOWN_VAULT_MCP_CHUNKS_PER_FILE": "your-value",
        "MARKDOWN_VAULT_MCP_SNIPPET_WORDS": "your-value",
        "MARKDOWN_VAULT_MCP_LENGTH_DOWNWEIGHT_ALPHA": "your-value",
        "MARKDOWN_VAULT_MCP_MAX_CHUNK_WORDS": "your-value",
        "MARKDOWN_VAULT_MCP_MAX_CHUNK_CHARS": "your-value",
        "MARKDOWN_VAULT_MCP_CHUNK_OVERLAP_WORDS": "your-value",
        "MARKDOWN_VAULT_MCP_FOLDER_WEIGHTS": "your-value",
        "MARKDOWN_VAULT_MCP_FTS_WEIGHTS": "your-value",
        "MARKDOWN_VAULT_MCP_EMBEDDING_PROVIDER": "your-value",
        "MARKDOWN_VAULT_MCP_OLLAMA_MODEL": "your-value",
        "MARKDOWN_VAULT_MCP_OLLAMA_CPU_ONLY": "your-value",
        "MARKDOWN_VAULT_MCP_VOYAGE_MODEL": "your-value",
        "MARKDOWN_VAULT_MCP_OPENAI_BASE_URL": "your-value",
        "MARKDOWN_VAULT_MCP_OPENAI_EMBEDDING_MODEL": "your-value",
        "MARKDOWN_VAULT_MCP_FASTEMBED_MODEL": "your-value",
        "MARKDOWN_VAULT_MCP_FASTEMBED_CACHE_DIR": "your-value",
        "MARKDOWN_VAULT_MCP_EMBED_CONTEXT": "your-value",
        "MARKDOWN_VAULT_MCP_EMBED_TIMEOUT_S": "your-value",
        "MARKDOWN_VAULT_MCP_EMBEDDING_BATCH_SIZE": "your-value",
        "MARKDOWN_VAULT_MCP_GIT_TOKEN": "your-value",
        "MARKDOWN_VAULT_MCP_GIT_REPO_URL": "your-value",
        "MARKDOWN_VAULT_MCP_GIT_USERNAME": "your-value",
        "MARKDOWN_VAULT_MCP_GIT_PULL_INTERVAL_S": "your-value",
        "MARKDOWN_VAULT_MCP_GIT_PUSH_DELAY_S": "your-value",
        "MARKDOWN_VAULT_MCP_GIT_COMMIT_NAME": "your-value",
        "MARKDOWN_VAULT_MCP_GIT_COMMIT_EMAIL": "your-value",
        "MARKDOWN_VAULT_MCP_GIT_COMMIT_NAME_CLAIM": "your-value",
        "MARKDOWN_VAULT_MCP_GIT_COMMIT_EMAIL_CLAIM": "your-value",
        "MARKDOWN_VAULT_MCP_GIT_LFS": "your-value",
        "MARKDOWN_VAULT_MCP_FILE_WATCHER": "your-value",
        "MARKDOWN_VAULT_MCP_FILE_WATCHER_DEBOUNCE_S": "your-value",
        "MARKDOWN_VAULT_MCP_FILE_WATCHER_ROOT_FLOOR": "your-value",
        "MARKDOWN_VAULT_MCP_BOOT_REINDEX": "your-value",
        "MARKDOWN_VAULT_MCP_GITHUB_WEBHOOK_SECRET": "your-value",
        "MARKDOWN_VAULT_MCP_GITLAB_WEBHOOK_SIGNING_TOKEN": "your-value",
        "MARKDOWN_VAULT_MCP_GITLAB_WEBHOOK_SECRET_TOKEN": "your-value",
        "MARKDOWN_VAULT_MCP_SUMMARIZE_PROVIDER": "your-value",
        "MARKDOWN_VAULT_MCP_SUMMARIZE_OPENAI_API_KEY": "your-value",
        "MARKDOWN_VAULT_MCP_SUMMARIZE_OPENAI_BASE_URL": "your-value",
        "MARKDOWN_VAULT_MCP_SUMMARIZE_OPENAI_MODEL": "your-value",
        "MARKDOWN_VAULT_MCP_SUMMARIZE_MAX_TOKENS": "your-value",
        "MARKDOWN_VAULT_MCP_SUMMARIZE_MAX_NOTES": "your-value",
        "MARKDOWN_VAULT_MCP_SUMMARIZE_MAX_INPUT_CHARS": "your-value",
        "MARKDOWN_VAULT_MCP_SUMMARIZE_TIMEOUT": "your-value",
        "MARKDOWN_VAULT_MCP_TRANSFER_TTL_DEFAULT_S": "your-value",
        "MARKDOWN_VAULT_MCP_TRANSFER_TTL_MAX_S": "your-value",
        "MARKDOWN_VAULT_MCP_TRANSFER_GRACE_TTL_S": "your-value",
        "MARKDOWN_VAULT_MCP_TRANSFER_LEASE_S": "your-value",
        "MARKDOWN_VAULT_MCP_TRANSFER_MAX_UPLOAD_BYTES": "your-value",
        "MARKDOWN_VAULT_MCP_JOBS_SOFT_DEADLINE_S": "your-value",
        "MARKDOWN_VAULT_MCP_JOBS_RESULT_TTL_S": "your-value",
        "MARKDOWN_VAULT_MCP_JOBS_MAX_PER_SUBJECT": "your-value"
      }
    }
  }
}

브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.

VS Code에서 열기

또는 설정을 직접 복사하기

프로젝트의 .vscode/mcp.json에 붙여 넣으세요

{
  "servers": {
    "markdown-vault": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "markdown-vault-mcp"
      ],
      "env": {
        "MARKDOWN_VAULT_MCP_KV_STORE_URL": "your-value",
        "MARKDOWN_VAULT_MCP_TOOLS_ALLOW": "your-value",
        "MARKDOWN_VAULT_MCP_TOOLS_DENY": "your-value",
        "MARKDOWN_VAULT_MCP_SERVER_NAME": "your-value",
        "MARKDOWN_VAULT_MCP_INSTANCE_DESCRIPTION": "your-value",
        "MARKDOWN_VAULT_MCP_INSTRUCTIONS_EXTRA": "your-value",
        "MARKDOWN_VAULT_MCP_INSTRUCTIONS": "your-value",
        "MARKDOWN_VAULT_MCP_LOG_LEVEL": "your-value",
        "MARKDOWN_VAULT_MCP_LOG_FORMAT": "your-value",
        "OLLAMA_HOST": "your-value",
        "OPENAI_API_KEY": "your-value",
        "VOYAGE_API_KEY": "your-value",
        "OPENAI_BASE_URL": "your-value",
        "OPENAI_EMBEDDING_MODEL": "your-value",
        "MARKDOWN_VAULT_MCP_BUILD_TIMEOUT_S": "your-value",
        "MARKDOWN_VAULT_MCP_DRAIN_TIMEOUT_S": "your-value",
        "MARKDOWN_VAULT_MCP_SERVER_URL": "your-value",
        "MARKDOWN_VAULT_MCP_CLIENT_CONFIG": "your-value",
        "MARKDOWN_VAULT_MCP_CLIENT_TOKEN": "your-value",
        "MARKDOWN_VAULT_MCP_SOURCE_DIR": "your-value",
        "MARKDOWN_VAULT_MCP_READ_ONLY": "your-value",
        "MARKDOWN_VAULT_MCP_WRITE_PROTECT_EXISTING": "your-value",
        "MARKDOWN_VAULT_MCP_REPORT_UNRESOLVED_LINKS": "your-value",
        "MARKDOWN_VAULT_MCP_DISABLE_APPS_UI": "your-value",
        "MARKDOWN_VAULT_MCP_INDEX_PATH": "your-value",
        "MARKDOWN_VAULT_MCP_STATE_PATH": "your-value",
        "MARKDOWN_VAULT_MCP_EMBEDDINGS_PATH": "your-value",
        "MARKDOWN_VAULT_MCP_EMBEDDING_STORE": "your-value",
        "MARKDOWN_VAULT_MCP_EMBEDDING_SEARCH": "your-value",
        "MARKDOWN_VAULT_MCP_EMBEDDING_SEARCH_WORKSPACE_MB": "your-value",
        "MARKDOWN_VAULT_MCP_EMBEDDING_POSTGRES_DSN": "your-value",
        "MARKDOWN_VAULT_MCP_EMBEDDING_POSTGRES_SCHEMA": "your-value",
        "MARKDOWN_VAULT_MCP_EMBEDDING_POSTGRES_POOL_SIZE": "your-value",
        "MARKDOWN_VAULT_MCP_EMBEDDING_POSTGRES_STATEMENT_TIMEOUT_S": "your-value",
        "MARKDOWN_VAULT_MCP_INDEXED_FIELDS": "your-value",
        "MARKDOWN_VAULT_MCP_REQUIRED_FIELDS": "your-value",
        "MARKDOWN_VAULT_MCP_EXCLUDE": "your-value",
        "MARKDOWN_VAULT_MCP_TITLE_FIELD": "your-value",
        "MARKDOWN_VAULT_MCP_SEARCHABLE_FIELDS": "your-value",
        "MARKDOWN_VAULT_MCP_TEMPLATES_FOLDER": "your-value",
        "MARKDOWN_VAULT_MCP_PROMPTS_FOLDER": "your-value",
        "MARKDOWN_VAULT_MCP_CONVENTIONS_FILE": "your-value",
        "MARKDOWN_VAULT_MCP_OKF_MODE": "your-value",
        "MARKDOWN_VAULT_MCP_OKF_WRITE": "your-value",
        "MARKDOWN_VAULT_MCP_OKF_VERIFY": "your-value",
        "MARKDOWN_VAULT_MCP_SERVICE_SUBJECTS": "your-value",
        "MARKDOWN_VAULT_MCP_ATTACHMENT_EXTENSIONS": "your-value",
        "MARKDOWN_VAULT_MCP_MAX_ATTACHMENT_SIZE_MB": "your-value",
        "MARKDOWN_VAULT_MCP_MAX_NOTE_READ_BYTES": "your-value",
        "MARKDOWN_VAULT_MCP_DEFAULT_SEARCH_MODE": "your-value",
        "MARKDOWN_VAULT_MCP_CHUNKS_PER_FILE": "your-value",
        "MARKDOWN_VAULT_MCP_SNIPPET_WORDS": "your-value",
        "MARKDOWN_VAULT_MCP_LENGTH_DOWNWEIGHT_ALPHA": "your-value",
        "MARKDOWN_VAULT_MCP_MAX_CHUNK_WORDS": "your-value",
        "MARKDOWN_VAULT_MCP_MAX_CHUNK_CHARS": "your-value",
        "MARKDOWN_VAULT_MCP_CHUNK_OVERLAP_WORDS": "your-value",
        "MARKDOWN_VAULT_MCP_FOLDER_WEIGHTS": "your-value",
        "MARKDOWN_VAULT_MCP_FTS_WEIGHTS": "your-value",
        "MARKDOWN_VAULT_MCP_EMBEDDING_PROVIDER": "your-value",
        "MARKDOWN_VAULT_MCP_OLLAMA_MODEL": "your-value",
        "MARKDOWN_VAULT_MCP_OLLAMA_CPU_ONLY": "your-value",
        "MARKDOWN_VAULT_MCP_VOYAGE_MODEL": "your-value",
        "MARKDOWN_VAULT_MCP_OPENAI_BASE_URL": "your-value",
        "MARKDOWN_VAULT_MCP_OPENAI_EMBEDDING_MODEL": "your-value",
        "MARKDOWN_VAULT_MCP_FASTEMBED_MODEL": "your-value",
        "MARKDOWN_VAULT_MCP_FASTEMBED_CACHE_DIR": "your-value",
        "MARKDOWN_VAULT_MCP_EMBED_CONTEXT": "your-value",
        "MARKDOWN_VAULT_MCP_EMBED_TIMEOUT_S": "your-value",
        "MARKDOWN_VAULT_MCP_EMBEDDING_BATCH_SIZE": "your-value",
        "MARKDOWN_VAULT_MCP_GIT_TOKEN": "your-value",
        "MARKDOWN_VAULT_MCP_GIT_REPO_URL": "your-value",
        "MARKDOWN_VAULT_MCP_GIT_USERNAME": "your-value",
        "MARKDOWN_VAULT_MCP_GIT_PULL_INTERVAL_S": "your-value",
        "MARKDOWN_VAULT_MCP_GIT_PUSH_DELAY_S": "your-value",
        "MARKDOWN_VAULT_MCP_GIT_COMMIT_NAME": "your-value",
        "MARKDOWN_VAULT_MCP_GIT_COMMIT_EMAIL": "your-value",
        "MARKDOWN_VAULT_MCP_GIT_COMMIT_NAME_CLAIM": "your-value",
        "MARKDOWN_VAULT_MCP_GIT_COMMIT_EMAIL_CLAIM": "your-value",
        "MARKDOWN_VAULT_MCP_GIT_LFS": "your-value",
        "MARKDOWN_VAULT_MCP_FILE_WATCHER": "your-value",
        "MARKDOWN_VAULT_MCP_FILE_WATCHER_DEBOUNCE_S": "your-value",
        "MARKDOWN_VAULT_MCP_FILE_WATCHER_ROOT_FLOOR": "your-value",
        "MARKDOWN_VAULT_MCP_BOOT_REINDEX": "your-value",
        "MARKDOWN_VAULT_MCP_GITHUB_WEBHOOK_SECRET": "your-value",
        "MARKDOWN_VAULT_MCP_GITLAB_WEBHOOK_SIGNING_TOKEN": "your-value",
        "MARKDOWN_VAULT_MCP_GITLAB_WEBHOOK_SECRET_TOKEN": "your-value",
        "MARKDOWN_VAULT_MCP_SUMMARIZE_PROVIDER": "your-value",
        "MARKDOWN_VAULT_MCP_SUMMARIZE_OPENAI_API_KEY": "your-value",
        "MARKDOWN_VAULT_MCP_SUMMARIZE_OPENAI_BASE_URL": "your-value",
        "MARKDOWN_VAULT_MCP_SUMMARIZE_OPENAI_MODEL": "your-value",
        "MARKDOWN_VAULT_MCP_SUMMARIZE_MAX_TOKENS": "your-value",
        "MARKDOWN_VAULT_MCP_SUMMARIZE_MAX_NOTES": "your-value",
        "MARKDOWN_VAULT_MCP_SUMMARIZE_MAX_INPUT_CHARS": "your-value",
        "MARKDOWN_VAULT_MCP_SUMMARIZE_TIMEOUT": "your-value",
        "MARKDOWN_VAULT_MCP_TRANSFER_TTL_DEFAULT_S": "your-value",
        "MARKDOWN_VAULT_MCP_TRANSFER_TTL_MAX_S": "your-value",
        "MARKDOWN_VAULT_MCP_TRANSFER_GRACE_TTL_S": "your-value",
        "MARKDOWN_VAULT_MCP_TRANSFER_LEASE_S": "your-value",
        "MARKDOWN_VAULT_MCP_TRANSFER_MAX_UPLOAD_BYTES": "your-value",
        "MARKDOWN_VAULT_MCP_JOBS_SOFT_DEADLINE_S": "your-value",
        "MARKDOWN_VAULT_MCP_JOBS_RESULT_TTL_S": "your-value",
        "MARKDOWN_VAULT_MCP_JOBS_MAX_PER_SUBJECT": "your-value"
      }
    }
  }
}

브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.

이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.

선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.

직접 입력할 값

  • MARKDOWN_VAULT_MCP_KV_STORE_URL env
    Persistent-state backend URL shared by every pvl-core subsystem that needs state. `memory://` is in-process and lost on restart; `file:///path` persists on one server; `redis://`, `dynamodb://` and `…
  • MARKDOWN_VAULT_MCP_TOOLS_ALLOW env
    Comma-separated explicit tool names this instance exposes; every other tool is hidden from listings and cannot be invoked. Names matching no registered tool are inert. Mutually exclusive with `tools_…
  • MARKDOWN_VAULT_MCP_TOOLS_DENY env
    Comma-separated explicit tool names hidden from this instance (absent from listings, cannot be invoked). Names matching no registered tool are inert. Mutually exclusive with `tools_allow`. Takes effe…
  • MARKDOWN_VAULT_MCP_SERVER_NAME env
    Rename this server instance; defaults to the project name.
  • MARKDOWN_VAULT_MCP_INSTANCE_DESCRIPTION env
    Concise routing context that distinguishes this deployment's material or responsibility.
  • MARKDOWN_VAULT_MCP_INSTRUCTIONS_EXTRA env
    Deployment-specific behavioral policy added to the generated MCP instructions.
  • MARKDOWN_VAULT_MCP_INSTRUCTIONS env
    Legacy: replaces all generated MCP instructions (deprecated; use _INSTANCE_DESCRIPTION for routing and _INSTRUCTIONS_EXTRA for policy).
  • MARKDOWN_VAULT_MCP_LOG_LEVEL env
    Log level for every logger in the process, FastMCP's included (DEBUG / INFO / WARNING / ERROR / CRITICAL). The -v CLI flag overrides to DEBUG. The unprefixed FASTMCP_LOG_LEVEL still works for one maj…
  • MARKDOWN_VAULT_MCP_LOG_FORMAT env
    Log rendering. rich is one colour event key=value line per record, for a terminal; json is one JSON object per record, for a collector. Unset picks rich when stderr is a terminal and json everywhere…
  • OLLAMA_HOST env
    Ollama server URL for the ollama embedding provider. Bare (not MARKDOWN_VAULT_MCP_-prefixed), matching the Ollama ecosystem convention.
  • OPENAI_API_KEY 비밀 env
    OpenAI API key for the openai embedding provider, and the fallback key for the summarize tool when MARKDOWN_VAULT_MCP_SUMMARIZE_OPENAI_API_KEY is unset. Bare (not MARKDOWN_VAULT_MCP_-prefixed), match…
  • VOYAGE_API_KEY 비밀 env
    Voyage AI API key for the voyage embedding provider. Bare (not MARKDOWN_VAULT_MCP_-prefixed), matching the OPENAI_API_KEY / OLLAMA_HOST convention. Setting it never auto-selects the provider; choose…
  • OPENAI_BASE_URL env
    Bare fallback for MARKDOWN_VAULT_MCP_OPENAI_BASE_URL (embeddings). For the summarize tool it only routes traffic when an API key already enables the feature; it never enables summarize by itself.
  • OPENAI_EMBEDDING_MODEL env
    Bare fallback for MARKDOWN_VAULT_MCP_OPENAI_EMBEDDING_MODEL.
  • MARKDOWN_VAULT_MCP_BUILD_TIMEOUT_S env
    Maximum seconds an index-backed tool or resource waits for the FTS index to become queryable during a cold-start background build before raising IndexUnavailableError(reason="timeout"). Increase for…
  • MARKDOWN_VAULT_MCP_DRAIN_TIMEOUT_S env
    Maximum seconds an index-querying read tool waits for the IndexWriter to drain when called with wait_for_pending_writes=true. On timeout the tool answers from the current index and reports index_stal…
  • MARKDOWN_VAULT_MCP_SERVER_URL env
    Hosted MCP endpoint for CLI reads. The explicit server option overrides it. Local mode bypasses it.
  • MARKDOWN_VAULT_MCP_CLIENT_CONFIG env
    Client TOML profile path; defaults to XDG_CONFIG_HOME/markdown-vault-mcp/client.toml.
  • MARKDOWN_VAULT_MCP_CLIENT_TOKEN 비밀 env
    Optional CLI bearer token. A nonempty value overrides the profile-selected token environment source; an empty value leaves that source in effect. Never stored in client TOML.
  • MARKDOWN_VAULT_MCP_SOURCE_DIR env
    Path to the markdown vault directory. When it does not exist, or the server cannot access it, the server starts but every tool fails with a message saying which until it is fixed (managed git mode cl…
  • MARKDOWN_VAULT_MCP_READ_ONLY env
    Set to true to hide the write tools (write, edit, append, delete, rename, move_folder, fetch, git_sync, the okf_* tools, create_upload_link) and serve a search-only vault.
  • MARKDOWN_VAULT_MCP_WRITE_PROTECT_EXISTING env
    Refuse a write that would overwrite an existing file when no if_match etag is supplied. Deliberate replacement still works: read the file first, then pass if_match. Unaffected: edit, append, delete,…
  • MARKDOWN_VAULT_MCP_REPORT_UNRESOLVED_LINKS env
    Set to true to have write, edit and append list, under unresolved_links, the target of each link the call added that get_broken_links reports. Links the note already held are left out. Off by default…
  • MARKDOWN_VAULT_MCP_DISABLE_APPS_UI env
    Hide the MCP Apps UI tools (browse_vault, show_context) from the tool listing for clients that do not render MCP Apps panels.
  • MARKDOWN_VAULT_MCP_INDEX_PATH env
    Path to the SQLite FTS5 index file; unset keeps the index in memory. Set it for persistence across restarts.
  • MARKDOWN_VAULT_MCP_STATE_PATH env
    Path to the change-tracking state file. Defaults to INDEX_PATH plus .state.json (index.db.state.json beside index.db); without INDEX_PATH the state is kept in memory. Never written into the vault by…
  • MARKDOWN_VAULT_MCP_EMBEDDINGS_PATH env
    Base path for the embeddings files. Defaults beside INDEX_PATH (index-db-embeddings.sqlite3 beside index.db, or index-db-embeddings.v2.json and the matrix it names with EMBEDDING_STORE=numpy; the fir…
  • MARKDOWN_VAULT_MCP_EMBEDDING_STORE env
    Where embeddings are stored. 'sqlite' (the default) keeps them in one SQLite database beside the index (index-db-embeddings.sqlite3), each change written durably on its own; 'numpy' keeps them in fil…
  • MARKDOWN_VAULT_MCP_EMBEDDING_SEARCH env
    How semantic search reads the embeddings. 'resident' holds them all in memory, the fastest; 'streamed' keeps none in memory and reads them from the store in batches for each search, slower as the vau…
  • MARKDOWN_VAULT_MCP_EMBEDDING_SEARCH_WORKSPACE_MB env
    With EMBEDDING_STORE=sqlite and EMBEDDING_SEARCH=streamed, the embeddings one batch of a search may hold, in MiB (at least 1). It bounds the search's working memory, not the process's; postgres score…
  • MARKDOWN_VAULT_MCP_EMBEDDING_POSTGRES_DSN 비밀 env
    With EMBEDDING_STORE=postgres, the libpq connection string or URI of the database holding the embeddings. A secret: never logged or shown. The password may instead come from PGPASSWORD or a .pgpass f…
  • MARKDOWN_VAULT_MCP_EMBEDDING_POSTGRES_SCHEMA env
    With EMBEDDING_STORE=postgres, the schema this vault's embeddings live in: one schema per vault, created by the operator. The vault creates only its own tables there.
  • MARKDOWN_VAULT_MCP_EMBEDDING_POSTGRES_POOL_SIZE env
    With EMBEDDING_STORE=postgres, the most connections the store opens (at least 1).
  • MARKDOWN_VAULT_MCP_EMBEDDING_POSTGRES_STATEMENT_TIMEOUT_S env
    With EMBEDDING_STORE=postgres, the longest one query may run, in seconds (0 sets none; at most 2147483.647). The bulk write of a full rebuild is never limited.
  • MARKDOWN_VAULT_MCP_INDEXED_FIELDS env
    Comma-separated frontmatter fields promoted to the tag index for structured filtering. Changing it cold-rebuilds the index once on next startup; SEARCHABLE_FIELDS inherits this value when unset.
  • MARKDOWN_VAULT_MCP_REQUIRED_FIELDS env
    Comma-separated frontmatter fields required on every document; documents missing any are excluded from the index.
  • MARKDOWN_VAULT_MCP_EXCLUDE env
    Comma-separated glob patterns excluded from scanning, e.g. .obsidian/**,.trash/**.
  • MARKDOWN_VAULT_MCP_TITLE_FIELD env
    Frontmatter field used as the document title (falls back to title, the first H1, then the filename). Changing it cold-rebuilds the index once on next startup.
  • MARKDOWN_VAULT_MCP_SEARCHABLE_FIELDS env
    Comma-separated frontmatter fields whose text values become keyword-searchable and enrich first-chunk embeddings. Inherits INDEXED_FIELDS when unset; the sentinel none means filterable but not search…
  • MARKDOWN_VAULT_MCP_TEMPLATES_FOLDER env
    Relative folder where note templates live (used by the create_from_template prompt).
  • MARKDOWN_VAULT_MCP_PROMPTS_FOLDER env
    Directory of .md prompt files that extend or override built-in prompts; a relative path is resolved against SOURCE_DIR.
  • MARKDOWN_VAULT_MCP_CONVENTIONS_FILE env
    Filename of the per-folder conventions files surfaced to clients at write time (bare .md filename without glob characters). Set to none to disable folder conventions.
  • MARKDOWN_VAULT_MCP_OKF_MODE env
    OKF (Open Knowledge Format) read semantics. With auto (the default), read annotations switch on when the vault declares an OKF version in its root index.md. Use off to disable OKF semantics entirely,…
  • MARKDOWN_VAULT_MCP_OKF_WRITE env
    OKF (Open Knowledge Format) enforced write layer. When true on an OKF-active vault, the server stamps generated provenance on each write and clears any verified attestation when a note's content chan…
  • MARKDOWN_VAULT_MCP_OKF_VERIFY env
    How the okf_verify tool attributes a human review. This applies only when OKF_WRITE is on, which gates the tool. With elicit (the default), okf_verify asks the human to confirm the review through an…
  • MARKDOWN_VAULT_MCP_SERVICE_SUBJECTS env
    Comma-separated token sub values that belong to applications, not people. A caller whose sub is listed is a service: its OKF writes stamp the tool actor instead of human: , and okf_verify records its…
  • MARKDOWN_VAULT_MCP_ATTACHMENT_EXTENSIONS env
    Comma-separated allowed attachment extensions (e.g. pdf,png,jpg); case and a leading dot are ignored, so PDF and .pdf name the same type. Use * to allow every non-markdown file. Unset selects the bui…
  • MARKDOWN_VAULT_MCP_MAX_ATTACHMENT_SIZE_MB env
    Maximum attachment size in MB returned by read / accepted by write; 0 disables the limit.
  • MARKDOWN_VAULT_MCP_MAX_NOTE_READ_BYTES env
    Maximum bytes returned by a full-document read of a note; use `read(path, section=…)` for partial reads. 0 disables the limit.
  • MARKDOWN_VAULT_MCP_DEFAULT_SEARCH_MODE env
    Mode used when a search call omits 'mode': auto, keyword, semantic, or hybrid. The default 'auto' picks hybrid when embeddings are configured and keyword when they are not. Pin 'keyword' to keep unqu…
  • MARKDOWN_VAULT_MCP_CHUNKS_PER_FILE env
    Maximum chunks returned per document in search results.
  • MARKDOWN_VAULT_MCP_SNIPPET_WORDS env
    Width of the snippet window (words) in search results; 0 returns full chunk content.
  • MARKDOWN_VAULT_MCP_LENGTH_DOWNWEIGHT_ALPHA env
    Down-weights longer chunks in ranking: score / (1 + alpha * log(chunk_count)).
  • MARKDOWN_VAULT_MCP_MAX_CHUNK_WORDS env
    Word cap per chunk; the adaptive chunker splits at deeper heading levels, then paragraph/word boundaries, to respect it. Match it to the embedding model's context. A reindex applies a new value.
  • MARKDOWN_VAULT_MCP_MAX_CHUNK_CHARS env
    Character cap enforced alongside MAX_CHUNK_WORDS to bound token-dense chunks. Unset derives min(1500, model context * 2.8). Set a positive value for an exact cap, or -1 to scale with the model's full…
  • MARKDOWN_VAULT_MCP_CHUNK_OVERLAP_WORDS env
    Words of overlap between adjacent budget-split fragments of the same heading section (0 disables). A reindex applies a new value.
  • MARKDOWN_VAULT_MCP_FOLDER_WEIGHTS env
    Folder-prefix score multipliers (`prefix:weight` pairs, comma-separated, weights > 0) applied to all search modes; the deepest matching prefix wins (sessions:0.5 demotes sessions/**).
  • MARKDOWN_VAULT_MCP_FTS_WEIGHTS env
    Per-column BM25 weights (`column:weight` pairs, comma-separated, weights >= 0) for keyword ranking. Columns: path, title, folder, heading, content, summary.
  • MARKDOWN_VAULT_MCP_EMBEDDING_PROVIDER env
    Embedding provider: openai, voyage, ollama, or fastembed; setting it turns on search by meaning. Unset auto-detects from the environment (never voyage), but only when EMBEDDINGS_PATH is set or EMBEDD…
  • MARKDOWN_VAULT_MCP_OLLAMA_MODEL env
    Ollama embedding model name.
  • MARKDOWN_VAULT_MCP_OLLAMA_CPU_ONLY env
    Force Ollama to embed on CPU only.
  • MARKDOWN_VAULT_MCP_VOYAGE_MODEL env
    Voyage AI embedding model name.
  • MARKDOWN_VAULT_MCP_OPENAI_BASE_URL env
    OpenAI-compatible API base URL for embeddings; the bare OPENAI_BASE_URL is honoured as a fallback.
  • MARKDOWN_VAULT_MCP_OPENAI_EMBEDDING_MODEL env
    OpenAI-compatible embedding model name; the bare OPENAI_EMBEDDING_MODEL is honoured as a fallback.
  • MARKDOWN_VAULT_MCP_FASTEMBED_MODEL env
    FastEmbed model name.
  • MARKDOWN_VAULT_MCP_FASTEMBED_CACHE_DIR env
    FastEmbed model cache directory (in Docker, stored under /data/state/fastembed).
  • MARKDOWN_VAULT_MCP_EMBED_CONTEXT env
    Enrich embedding input with the note title, chunk heading, and (first chunk) searchable-field values. Flipping it re-embeds the whole vault once on next startup.
  • MARKDOWN_VAULT_MCP_EMBED_TIMEOUT_S env
    Per-request wall-clock budget in seconds for a single embedding HTTP call (OpenAI/Ollama). The local FastEmbed backend runs in-process with no network call and ignores this. CPU-only or large-model w…
  • MARKDOWN_VAULT_MCP_EMBEDDING_BATCH_SIZE env
    Number of chunks sent per embedding request. Smaller batches shorten each request (useful under a tight timeout on slow models) at the cost of more round-trips.
  • MARKDOWN_VAULT_MCP_GIT_TOKEN 비밀 env
    Token/password for HTTPS git auth; remotes must be HTTPS when set.
  • MARKDOWN_VAULT_MCP_GIT_REPO_URL env
    HTTPS remote URL for managed git mode: the server clones into an empty SOURCE_DIR on startup (or validates an existing origin) and enables the pull loop, auto-commit, and deferred push.
  • MARKDOWN_VAULT_MCP_GIT_USERNAME env
    Username for HTTPS git auth prompts (x-access-token for GitHub, oauth2 for GitLab, the account name for Bitbucket).
  • MARKDOWN_VAULT_MCP_GIT_PULL_INTERVAL_S env
    Seconds between git fetch + fast-forward update attempts; 0 disables periodic pull.
  • MARKDOWN_VAULT_MCP_GIT_PUSH_DELAY_S env
    Seconds of write-idle time before pushing; 0 pushes only on shutdown.
  • MARKDOWN_VAULT_MCP_GIT_COMMIT_NAME env
    Git committer name for auto-commits, and the author name too unless an OIDC claim supplies one; set this in Docker where git config user.name is empty.
  • MARKDOWN_VAULT_MCP_GIT_COMMIT_EMAIL env
    Git committer email for auto-commits, and the author email too unless an OIDC claim supplies one.
  • MARKDOWN_VAULT_MCP_GIT_COMMIT_NAME_CLAIM env
    OIDC claim key used as the commit author name (e.g. name) when an OIDC token is present; the committer stays GIT_COMMIT_NAME. The claim is resolved when the tool call arrives and carried to the backg…
  • MARKDOWN_VAULT_MCP_GIT_COMMIT_EMAIL_CLAIM env
    OIDC claim key used as the commit author email (e.g. email) when an OIDC token is present; the committer stays GIT_COMMIT_EMAIL. Resolved and carried the same way as the name claim.
  • MARKDOWN_VAULT_MCP_GIT_LFS env
    Run git lfs pull on startup to fetch LFS-tracked attachments; set to false for repos without LFS.
  • MARKDOWN_VAULT_MCP_FILE_WATCHER env
    Watch the vault for external filesystem changes; auto-disabled when git pull is active or a webhook can deliver (HTTP/SSE transports only). Requires the file-watcher extra.
  • MARKDOWN_VAULT_MCP_FILE_WATCHER_DEBOUNCE_S env
    Seconds of quiet after the last filesystem event before reindexing.
  • MARKDOWN_VAULT_MCP_FILE_WATCHER_ROOT_FLOOR env
    Keep the non-recursive watch on the vault root; set false to register zero source-dir-rooted FSEvents streams (avoids repeated macOS access prompts on a home-rooted vault) at the cost of root-level f…
  • MARKDOWN_VAULT_MCP_BOOT_REINDEX env
    Reconcile offline changes at startup by reindexing once the initial build completes. Set false on a large vault to start without paying a full filesystem scan per server start; changes made while no…
  • MARKDOWN_VAULT_MCP_GITHUB_WEBHOOK_SECRET 비밀 env
    Shared secret for the GitHub push-event webhook; when set, mounts POST /github-webhook on HTTP/SSE transports to trigger an immediate pull + reindex on push events.
  • MARKDOWN_VAULT_MCP_GITLAB_WEBHOOK_SIGNING_TOKEN 비밀 env
    Signing token for the GitLab push-event webhook (GitLab 19.0+); when set, mounts POST /gitlab-webhook on HTTP/SSE transports to trigger an immediate pull + reindex on push events. GitLab generates th…
  • MARKDOWN_VAULT_MCP_GITLAB_WEBHOOK_SECRET_TOKEN 비밀 env
    Secret token for the GitLab push-event webhook, GitLab's plain-text form and the only one below 19.0; also mounts POST /gitlab-webhook. It proves nothing about the body and cannot expire, so prefer t…
  • MARKDOWN_VAULT_MCP_SUMMARIZE_PROVIDER env
    Summarization backend (only openai is recognised). Unset auto-detects: the backend activates when credentials or an explicit endpoint are present.
  • MARKDOWN_VAULT_MCP_SUMMARIZE_OPENAI_API_KEY 비밀 env
    API key for the OpenAI-compatible summarize endpoint; the bare OPENAI_API_KEY is honoured as a fallback. Unset works for keyless local endpoints (Ollama).
  • MARKDOWN_VAULT_MCP_SUMMARIZE_OPENAI_BASE_URL env
    OpenAI-compatible endpoint base URL for the summarize tool; setting it enables the tool even without an API key. The bare OPENAI_BASE_URL routes traffic only when a key already enables the feature.
  • MARKDOWN_VAULT_MCP_SUMMARIZE_OPENAI_MODEL env
    Chat model id used for summaries.
  • MARKDOWN_VAULT_MCP_SUMMARIZE_MAX_TOKENS env
    Upper bound on generated tokens per summarize call; on reasoning models this budget also covers internal reasoning tokens.
  • MARKDOWN_VAULT_MCP_SUMMARIZE_MAX_NOTES env
    Cap on the number of notes summarised in one call (subtree expansion truncates to this many).
  • MARKDOWN_VAULT_MCP_SUMMARIZE_MAX_INPUT_CHARS env
    Aggregate cap on note characters sent to the model in one call; excess is truncated with a flag on the result.
  • MARKDOWN_VAULT_MCP_SUMMARIZE_TIMEOUT env
    Per-request wall-clock budget in seconds for a single summarize backend call; keep it below the MCP client's request timeout so the server-side error wins the race.
  • MARKDOWN_VAULT_MCP_TRANSFER_TTL_DEFAULT_S env
    Link lifetime in seconds when the caller requests no explicit TTL.
  • MARKDOWN_VAULT_MCP_TRANSFER_TTL_MAX_S env
    Ceiling in seconds a caller-requested link TTL is clamped to.
  • MARKDOWN_VAULT_MCP_TRANSFER_GRACE_TTL_S env
    Post-success grace window in seconds: a served token's TTL shrinks to this so a stalled transfer can retry within it.
  • MARKDOWN_VAULT_MCP_TRANSFER_LEASE_S env
    Crashed-handler reclaim window in seconds for an in-flight reservation.
  • MARKDOWN_VAULT_MCP_TRANSFER_MAX_UPLOAD_BYTES env
    Maximum size in bytes of a single upload.
  • MARKDOWN_VAULT_MCP_JOBS_SOFT_DEADLINE_S env
    Seconds a long-running tool call may run in the foreground before it is promoted to a background job and a job handle is returned instead.
  • MARKDOWN_VAULT_MCP_JOBS_RESULT_TTL_S env
    Seconds a background-job record (working or finished) is retained for polling before it expires from the store.
  • MARKDOWN_VAULT_MCP_JOBS_MAX_PER_SUBJECT env
    Maximum live background jobs per calling subject; further promotions are rejected until older records expire.

이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.

할 수 있는 일

내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.

기본 점검i

누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 7일 점검

  • ✓ 통과

    제작자와 저장소 일치

    레지스트리 이름이 GitHub 계정 pvliesdonk 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요

  • … 아직 점검 안 함

    계속 관리되고 있음

    아직 GitHub에서 이 저장소를 읽어 오지 않았어요

  • … 아직 점검 안 함

    라이선스 있음

    아직 GitHub에서 이 저장소를 읽어 오지 않았어요

  • – 해당 없음

    엔드포인트 응답

    내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요

  • – 해당 없음

    OAuth로 로그인

    내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요

  • … 아직 점검 안 함

    도구 설명에 숨겨진 지시 없음

    내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요

문서, 시트 및 사무 업무 카테고리의 다른 서버와 비교i

  • 이 카테고리의 다른 서버 3526개 중 0%보다 스타가 많아요
  • 이 카테고리의 다른 서버 3526개 중 85%보다 최근에 레지스트리에 공개됐어요
  • 기본 점검 결과가 이 카테고리의 다른 서버 3526개 중 100%와 같거나 더 좋아요

레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.

자주 묻는 질문

Markdown Vault MCP, 안전한가요?

해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.

어떤 키나 코드가 필요한가요?

입력해야 할 값: OPENAI_API_KEY, VOYAGE_API_KEY, MARKDOWN_VAULT_MCP_CLIENT_TOKEN, MARKDOWN_VAULT_MCP_EMBEDDING_POSTGRES_DSN, MARKDOWN_VAULT_MCP_GIT_TOKEN, MARKDOWN_VAULT_MCP_GITHUB_WEBHOOK_SECRET, MARKDOWN_VAULT_MCP_GITLAB_WEBHOOK_SIGNING_TOKEN, MARKDOWN_VAULT_MCP_GITLAB_WEBHOOK_SECRET_TOKEN, MARKDOWN_VAULT_MCP_SUMMARIZE_OPENAI_API_KEY

내 컴퓨터에서 실행되나요, 클라우드에서 실행되나요?

내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).

아직 관리되고 있나요?

GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(6.1.0)은 5일 전 레지스트리에 올라왔어요.

어떤 앱에서 쓸 수 있나요?

Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Python (uv), Docker도 있어야 해요.

대신 쓸 수 있는 건 뭐가 있나요?

같은 카테고리에는: Agent-Native Calendar, Excel MCP Server, MCP Server for Excel

대안

같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.

카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i

Agent-Native Calendar

제작자: BuilderIO

Agent-Native Google Calendar - manage events, sync, and public booking

클라우드에서 실행★ 7,620MIT2개월 전 업데이트
설치

Excel MCP Server

제작자: haris-musa

Create and edit Excel files with AI: charts, PivotTables, formulas. No Excel needed.

내 컴퓨터에서 실행★ 4,276MIT7일 전 업데이트
설치

MCP Server for Excel

제작자: sbroenne

Excel automation for AI - Sheets, Power Query, DAX, VBA, Tables, Ranges and more. Windows only.

내 컴퓨터에서 실행★ 847MIT4일 전 업데이트
설치

제작자의 README

README 열기

제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.

Markdown Vault MCP

Generic markdown vault MCP with hybrid search

[Documentation](https://pvliesdonk.github.io/markdown-vault-mcp/) | [Config wizard](https://pvliesdonk.github.io/markdown-vault-mcp/latest/reference/configuration-generator/) | [PyPI](https://pypi.org/project/markdown-vault-mcp/) | [Docker](https://github.com/pvliesdonk/markdown-vault-mcp/pkgs/container/markdown-vault-mcp)

Give Claude, or any MCP client, a folder of Markdown notes to search, read and write. An Obsidian vault works as it is.

  • Hybrid search. Keyword search with SQLite FTS5 and, once an embedding provider is configured, search by meaning, fused by Reciprocal Rank Fusion, with the vectors kept in SQLite, files or PostgreSQL. Results are short snippets; read fetches the whole section. See Embeddings and Choosing an embedding store.
  • Hosted CLI reads. Search a running vault with markdown-vault-mcp search "term" --server https://vault.example/mcp; read notes, list metadata, collect context, traverse note links and discover paths with query path "topic" --fuzzy using the same connection options. Use query metadata, query body or query note for exact lexical pages, query count for the full matching population, and query aggregate --by tag for buckets. Use --json for native payloads or --agent for escaped records. See the CLI reference.
  • Exact queries. Page through indexed notes, count every match, or group the full population with query_documents, count_documents and aggregate_documents. See Reader tools and the library API.
  • Path discovery. Find literal paths or nearby ASCII spellings with search_paths; approximate coverage and output truncation are reported separately. See Reader tools.
  • Frontmatter as data. YAML frontmatter fields become search filters, and long notes are split at their headings.
  • Careful writes. The write tools (write, edit, append, delete, rename, move_folder, fetch, git_sync, the okf_* tools, create_upload_link) are on by default and hidden when MARKDOWN_VAULT_MCP_READ_ONLY=true. Replacing a file takes the etag from reading it. A rename still accepts an etag that only the server's own link rewrites made stale. Per-folder _conventions.md rules reach the client as it writes.
  • Git. Optional commit per write with a delayed push, pull or webhook sync, and history and diffs; an overwritten note can be read back at the revision it replaced. See Git integration.
  • Links. Backlinks, outlinks, broken links and the path between two notes, for wikilinks and Markdown links alike, with interactive views in clients that render MCP Apps. With MARKDOWN_VAULT_MCP_REPORT_UNRESOLVED_LINKS=true, write, edit and append name each link they added that doesn't resolve.
  • Open Knowledge Format. OKF bundles are recognized, and results carry each note's type, status and trust tier. See OKF.

The tools reference lists every tool. The same engine is a Python library: see the Vault API.

Does it fit?

What the server can reach, what it changes and who gets in is set out in the security model; the block below says who it serves and where it stops.

It suits one person or a small team who keep notes as Markdown files and want Claude to search them, follow their links and write back into them, on their own machine or as a shared server. It reaches the vault folder, plus only what you configure: a git remote, an embedding or summarizing model, and the URLs a fetch call names.

What it assumes:

  • One vault per server. Several vaults take one server each, for now (#1232); give each a MARKDOWN_VAULT_MCP_SERVER_NAME.
  • Markdown is what gets searched. Other files, such as PDFs and images, can be read and written as attachments, but their contents are not indexed yet (#1234).
  • The default store trades search speed for memory. With an index path the vectors live in a SQLite database and each search reads them from it: measured with 227,640 sections at 1,024 dimensions, searching added 25 MB to the server and 95 in 100 searches returned within about a second. Holding them in memory (the numpy store) answered those searches about ten times faster, and peaked at about 1.25 GB while searching. Choosing an embedding store has the measured costs and the limits.
  • State sits on local disk. The index and embeddings are files, and the change-tracking file sits beside the index, never inside the vault. Without MARKDOWN_VAULT_MCP_INDEX_PATH, the index and that file stay in memory and are rebuilt at each start.

Reach for something else for a corpus beyond the 227,640 sections it was measured at (a vector database behind a retrieval pipeline), for mostly scanned or office documents (a document management system with text recognition), or for many users who must not see each other's notes (a multi-tenant knowledge platform): every caller the server admits gets every tool it exposes.

Quick start

Pick the client you use. Each line installs the released version; the Get started tutorials carry on from there.

Claude Desktop. Download the .mcpb bundle from the releases page and open it with Claude Desktop (or Settings › Extensions › Advanced settings › Install Extension…). Claude Desktop asks for the required settings itself. Tutorial.

Claude Code. Two commands inside Claude Code; the second asks for a scope. Tutorial.

/plugin marketplace add pvliesdonk/claude-plugins

/plugin install markdown-vault-mcp@pvliesdonk

A client that runs a command (stdio). To register it in Claude Code, see the Claude Code tutorial.

uv tool install "markdown-vault-mcp"

markdown-vault-mcp serve

A server for remote clients (streamable HTTP). A remote server connects the clients.

docker run --rm -p 8000:8000 --env-file .env ghcr.io/pvliesdonk/markdown-vault-mcp:latest

A compose.yml ships at the repository root and runs as-is: copy .env.example to .env, then docker compose up -d. Deploy covers authentication, OIDC, a reverse proxy and system packages (.deb/.rpm on the releases page). The server answers /health and /health/ready outside the MCP mount, and its get_server_info tool reports the running version.

The plain package covers keyword search, the write tools and git. Search by meaning, the file watcher, the summarize tool and keeping embeddings in PostgreSQL need extras; [all] installs every one:

uv tool install "markdown-vault-mcp[all]"

The Docker image, the .mcpb bundle and the Claude Code plugin already include them. Installation lists each extra.

Configuration

Everything is configured through environment variables with the MARKDOWN_VAULT_MCP_ prefix. The ones most installs set:

VariableDefaultRequiredDescription
MARKDOWN_VAULT_MCP_SOURCE_DIR/data/vaultNoPath to the markdown vault directory. When it does not exist, or the server cannot access it, the server starts but every tool fails with a message saying which until it is fixed (managed git mode clones into it). Symbolic links inside the vault are followed on Python 3.13+.
MARKDOWN_VAULT_MCP_READ_ONLYfalseNoSet to true to hide the write tools (write, edit, append, delete, rename, move_folder, fetch, git_sync, the okf_* tools, create_upload_link) and serve a search-only vault.
MARKDOWN_VAULT_MCP_WRITE_PROTECT_EXISTINGtrueNoRefuse a write that would overwrite an existing file when no if_match etag is supplied. Deliberate replacement still works: read the file first, then pass if_match. Unaffected: edit, append, delete, rename. Set to false to allow blind overwrites.
MARKDOWN_VAULT_MCP_REPORT_UNRESOLVED_LINKSfalseNoSet to true to have write, edit and append list, under unresolved_links, the target of each link the call added that get_broken_links reports. Links the note already held are left out. Off by default, leaving those responses unchanged.

| MARKDOWN_VAULT_MCP_DEFAULT_SEARCH_MODE | auto | No | Mode used when a search call omits 'mode': auto, keyword, semantic, or hybrid. The default 'auto' picks hybrid when embeddings are configured and keyword when they are not. Pin 'keyword' to keep unqualified searches off the embedding provider (each hybrid or semantic search embeds the query, which costs an API call on a metered provider). A configured semantic/hybrid default also degrades to keyword without embeddings, so no setting can make a vault unsearchable; an explicit mode= argument is n

앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요

PopNx에게 묻기