# Markdown Vault MCP

Даёт агенту доступ к папке с Markdown-заметками: искать по ключевым словам и по смыслу, читать разделы, писать обратно. Хранилище Obsidian подходит как есть.

- MCP-сервер · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed · ★ 35
- Автор: pvliesdonk
- Лицензия: MIT · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/pvliesdonk/markdown-vault-mcp
- Обновлён: 2026-10-24
- HTML: https://affpapa.org/nevibecode/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` индекс и файл отслеживания изменений живут в памяти и пересобираются при каждом старте.

## Требования
- Нужно: Python и uv (команды через uvx)
- Переменные окружения: `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` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.
- Работает с: Obsidian

## Когда брать
- найти нужную заметку по смыслу, а не по точному слову
- прочитать конкретный раздел длинного файла, не вытягивая его целиком
- записать правку в заметку и получить коммит в git
- отфильтровать заметки по полям frontmatter
- проверить, какие ссылки в заметке не разрешаются

## Примеры запросов агенту
- Найди в хранилище заметки про деплой и покажи фрагменты
- Допиши в `notes/deploy.md` раздел про откат и закоммить
- Покажи, какие ссылки в этой заметке ведут в никуда

## Похожие
- [GitHub](https://affpapa.org/nevibecode/mcp/github.md) — MCP-сервер · ★ 33918
- [Netdata](https://affpapa.org/nevibecode/mcp/netdata.md) — MCP-сервер · ★ 81115
- [browser-use](https://affpapa.org/nevibecode/mcp/browser-use.md) — MCP-сервер · ★ 119160
- [Codebase Memory](https://affpapa.org/nevibecode/mcp/codebase-memory.md) — MCP-сервер · ★ 47392
- [mcp-server](https://affpapa.org/nevibecode/mcp/mcp-server.md) — MCP-сервер · ★ 43872
- [AIHawk](https://affpapa.org/nevibecode/mcp/aihawk.md) — MCP-сервер · ★ 32221

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
