Markdown Vault MCP — MCP-сервер для Claude Code: поиск и запись
Даёт агенту доступ к папке с Markdown-заметками: искать по ключевым словам и по смыслу, читать разделы, писать обратно. Хранилище Obsidian подходит как есть.
claude mcp add --env MARKDOWN_VAULT_MCP_KV_STORE_URL=<MARKDOWN_VAULT_MCP_KV_STORE_URL> --env MARKDOWN_VAULT_MCP_TOOLS_ALLOW=<MARKDOWN_VAULT_MCP_TOOLS_ALLOW> --env MARKDOWN_VAULT_MCP_TOOLS_DENY=<MARKDOWN_VAULT_MCP_TOOLS_DENY> --env MARKDOWN_VAULT_MCP_SERVER_NAME=<MARKDOWN_VAULT_MCP_SERVER_NAME> --env MARKDOWN_VAULT_MCP_INSTANCE_DESCRIPTION=<MARKDOWN_VAULT_MCP_INSTANCE_DESCRIPTION> --transport stdio markdown-vault-mcp -- uvx markdown-vault-mcpЧто делает Markdown Vault MCP
Сервер подключается к папке с заметками и открывает агенту инструменты чтения и записи. Поиск гибридный: ключевые слова через SQLite FTS5, а если настроить провайдера эмбеддингов — ещё и поиск по смыслу, результаты объединяются через Reciprocal Rank Fusion. Векторы лежат в файлах, SQLite или PostgreSQL. Выдача — короткие фрагменты, целиком раздел достаёт read.
Поля YAML frontmatter становятся фильтрами поиска, длинные заметки режутся по заголовкам. Инструменты записи (write, edit, append, delete, rename, move_folder, fetch, git_sync, okf_*, create_upload_link) включены по умолчанию; при MARKDOWN_VAULT_MCP_READ_ONLY=true они скрываются. Замена файла требует etag, полученный при чтении, а правила из _conventions.md в папках доходят до клиента во время записи. Есть опциональный коммит на каждую запись с отложенным push, pull или синхронизацией по вебхуку, история и диффы.
Один сервер обслуживает одно хранилище — для нескольких нужно поднимать отдельные экземпляры и задавать каждому MARKDOWN_VAULT_MCP_SERVER_NAME. Индексируется только Markdown: PDF и картинки читаются как вложения, но их содержимое в поиск не попадает. Эмбеддинги держатся в памяти, поэтому первым упирается не время запроса, а объём RAM. Без MARKDOWN_VAULT_MCP_INDEX_PATH индекс и файл отслеживания изменений живут в памяти и пересобираются при каждом старте.
Какие задачи решает
- найти нужную заметку по смыслу, а не по точному слову
- прочитать конкретный раздел длинного файла, не вытягивая его целиком
- записать правку в заметку и получить коммит в git
- отфильтровать заметки по полям frontmatter
- проверить, какие ссылки в заметке не разрешаются
Примеры запросов агенту
- Найди в хранилище заметки про деплой и покажи фрагменты
- Допиши в
notes/deploy.mdраздел про откат и закоммить - Покажи, какие ссылки в этой заметке ведут в никуда
Как установить Markdown Vault MCP
Командой платформы
claude mcp add --env MARKDOWN_VAULT_MCP_KV_STORE_URL=<MARKDOWN_VAULT_MCP_KV_STORE_URL> --env MARKDOWN_VAULT_MCP_TOOLS_ALLOW=<MARKDOWN_VAULT_MCP_TOOLS_ALLOW> --env MARKDOWN_VAULT_MCP_TOOLS_DENY=<MARKDOWN_VAULT_MCP_TOOLS_DENY> --env MARKDOWN_VAULT_MCP_SERVER_NAME=<MARKDOWN_VAULT_MCP_SERVER_NAME> --env MARKDOWN_VAULT_MCP_INSTANCE_DESCRIPTION=<MARKDOWN_VAULT_MCP_INSTANCE_DESCRIPTION> --transport stdio markdown-vault-mcp -- uvx markdown-vault-mcpВместо <…> подставьте свои значения. Ещё 105 переменных окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from markdown-vault-mcp <команда>
Командой платформы
codex mcp add markdown-vault-mcp --env MARKDOWN_VAULT_MCP_KV_STORE_URL=<MARKDOWN_VAULT_MCP_KV_STORE_URL> --env MARKDOWN_VAULT_MCP_TOOLS_ALLOW=<MARKDOWN_VAULT_MCP_TOOLS_ALLOW> --env MARKDOWN_VAULT_MCP_TOOLS_DENY=<MARKDOWN_VAULT_MCP_TOOLS_DENY> --env MARKDOWN_VAULT_MCP_SERVER_NAME=<MARKDOWN_VAULT_MCP_SERVER_NAME> --env MARKDOWN_VAULT_MCP_INSTANCE_DESCRIPTION=<MARKDOWN_VAULT_MCP_INSTANCE_DESCRIPTION> -- uvx markdown-vault-mcpВместо <…> подставьте свои значения. Ещё 105 переменных окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from markdown-vault-mcp <команда>
Файл настроек
{
"mcpServers": {
"markdown-vault-mcp": {
"command": "uvx",
"args": [
"markdown-vault-mcp"
],
"env": {
"MARKDOWN_VAULT_MCP_KV_STORE_URL": "<MARKDOWN_VAULT_MCP_KV_STORE_URL>",
"MARKDOWN_VAULT_MCP_TOOLS_ALLOW": "<MARKDOWN_VAULT_MCP_TOOLS_ALLOW>",
"MARKDOWN_VAULT_MCP_TOOLS_DENY": "<MARKDOWN_VAULT_MCP_TOOLS_DENY>",
"MARKDOWN_VAULT_MCP_SERVER_NAME": "<MARKDOWN_VAULT_MCP_SERVER_NAME>",
"MARKDOWN_VAULT_MCP_INSTANCE_DESCRIPTION": "<MARKDOWN_VAULT_MCP_INSTANCE_DESCRIPTION>"
}
}
}
}Вместо <…> подставьте свои значения. Ещё 105 переменных окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from markdown-vault-mcp <команда>
Файл настроек
{
"servers": {
"markdown-vault-mcp": {
"type": "stdio",
"command": "uvx",
"args": [
"markdown-vault-mcp"
],
"env": {
"MARKDOWN_VAULT_MCP_KV_STORE_URL": "<MARKDOWN_VAULT_MCP_KV_STORE_URL>",
"MARKDOWN_VAULT_MCP_TOOLS_ALLOW": "<MARKDOWN_VAULT_MCP_TOOLS_ALLOW>",
"MARKDOWN_VAULT_MCP_TOOLS_DENY": "<MARKDOWN_VAULT_MCP_TOOLS_DENY>",
"MARKDOWN_VAULT_MCP_SERVER_NAME": "<MARKDOWN_VAULT_MCP_SERVER_NAME>",
"MARKDOWN_VAULT_MCP_INSTANCE_DESCRIPTION": "<MARKDOWN_VAULT_MCP_INSTANCE_DESCRIPTION>"
}
}
}
}Вместо <…> подставьте свои значения. Ещё 105 переменных окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from markdown-vault-mcp <команда>
Командой платформы
gemini mcp add -e MARKDOWN_VAULT_MCP_KV_STORE_URL=<MARKDOWN_VAULT_MCP_KV_STORE_URL> -e MARKDOWN_VAULT_MCP_TOOLS_ALLOW=<MARKDOWN_VAULT_MCP_TOOLS_ALLOW> -e MARKDOWN_VAULT_MCP_TOOLS_DENY=<MARKDOWN_VAULT_MCP_TOOLS_DENY> -e MARKDOWN_VAULT_MCP_SERVER_NAME=<MARKDOWN_VAULT_MCP_SERVER_NAME> -e MARKDOWN_VAULT_MCP_INSTANCE_DESCRIPTION=<MARKDOWN_VAULT_MCP_INSTANCE_DESCRIPTION> markdown-vault-mcp uvx markdown-vault-mcpВместо <…> подставьте свои значения. Ещё 105 переменных окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from markdown-vault-mcp <команда>
По шагам, с командами для каждой платформы: Как подключить MCP-сервер: Claude Code, Codex, Cursor, VS Code, Gemini CLI и другие
Вопросы о Markdown Vault MCP
Как установить Markdown Vault MCP в Claude Code?
Одной командой: `claude mcp add --env MARKDOWN_VAULT_MCP_KV_STORE_URL=<MARKDOWN_VAULT_MCP_KV_STORE_URL> --env MARKDOWN_VAULT_MCP_TOOLS_ALLOW=<MARKDOWN_VAULT_MCP_TOOLS_ALLOW> --env MARKDOWN_VAULT_MCP_TOOLS_DENY=<MARKDOWN_VAULT_MCP_TOOLS_DENY> --env MARKDOWN_VAULT_MCP_SERVER_NAME=<MARKDOWN_VAULT_MCP_SERVER_NAME> --env MARKDOWN_VAULT_MCP_INSTANCE_DESCRIPTION=<MARKDOWN_VAULT_MCP_INSTANCE_DESCRIPTION> --transport stdio markdown-vault-mcp -- uvx markdown-vault-mcp`.
Что делает Markdown Vault MCP?
Открывает агенту папку с Markdown-заметками: поиск по ключевым словам и по смыслу, чтение разделов, запись и правка файлов, работа со ссылками и опциональные коммиты в git.
Можно ли подключить несколько хранилищ сразу?
Нет, один сервер обслуживает одно хранилище. Для каждого поднимают отдельный экземпляр и задают ему своё MARKDOWN_VAULT_MCP_SERVER_NAME.