<!-- mcp-name: io.github.pvliesdonk/markdown-vault-mcp -->
# markdown-vault-mcp
[](https://github.com/pvliesdonk/markdown-vault-mcp/actions/workflows/ci.yml) [](https://codecov.io/gh/pvliesdonk/markdown-vault-mcp) [](https://pypi.org/project/markdown-vault-mcp/) [](https://pypi.org/project/markdown-vault-mcp/) [](LICENSE) [](https://github.com/pvliesdonk/markdown-vault-mcp/pkgs/container/markdown-vault-mcp) [](https://pvliesdonk.github.io/markdown-vault-mcp/) [](https://pvliesdonk.github.io/markdown-vault-mcp/llms.txt) [](https://deepwiki.com/pvliesdonk/markdown-vault-mcp)
<!-- DOMAIN-START -->
A generic markdown collection [MCP](https://modelcontextprotocol.io/) server with FTS5 full-text search, semantic vector search, frontmatter-aware indexing, incremental reindexing, and non-markdown attachment support.
**[Documentation]
*(truncated)*
π Trend Scout: pvliesdonk/markdown-vault-mcp
π What problem it solves
Generic markdown collection MCP server with FTS5 + semantic search, frontmatter-aware indexing, and incremental reindexing
π Timeline
β Strengths
π‘ What this repo can learn
query-session.py/briefing.pyβ e.g., a query for 'docker networking' would also surface entries tagged 'container' or 'network_mode' even without exact term overlapquery-session.pyandbriefing.pyas directly callable MCP tools β e.g., a Copilot agent could invoke the briefing lookup in-process rather than shelling out to a subprocess, reducing latency in hook-driven workflowsbuild-session-index.pyandextract-knowledge.pyto use structured metadata (category, tags, date) as indexed fields β e.g., frontmattercategory: mistakecould pre-populate the knowledge type without relying on regex heuristicswatch-sessions.py's polling loop β e.g., storing per-file content hashes so only modified or new session files trigger re-extraction, reducing redundantextract-knowledge.pypasses on large session directoriesbuild-session-index.pyto normalise non-markdown sources β e.g., a pre-processing stage that converts attachments or exported documents to plain text before the FTS5 insert pathREADME excerpt
Scouted on 2026-04-27 Β· View on GitHub