vault-index
Local hybrid search for markdown vaults and codebases, served as an MCP server. Keyword search (SQLite FTS5) and vector search (sqlite-vec, bge-small-en-v1.5 on CPU) are merged with reciprocal rank fusion. Everything lives in one SQLite file on your machine; no cloud services.
Part of claude-second-brain, where every search change is measured against golden question sets and compared with naive grep and basic-memory (see its README for the numbers).
Use with Claude Code
claude mcp add vault-index -- uvx --python 3.12 vault-index
Then ask Claude to index a folder, for example: "index_paths ~/notes". After that, search_notes finds paraphrased answers with file path and heading. The first run downloads the embedding model (about 65 MB).
From a terminal
uvx --python 3.12 vault-index index ~/notes # index a folder (progress on stderr); no paths re-syncs all
uvx --python 3.12 vault-index search "why did the probe fail"
uvx --python 3.12 vault-index --help
With no command it serves MCP over stdio. Indexing a large vault from the terminal first keeps the first tool call short.
Tools
index_paths(paths, reindex=False): add folders or files as sources and sync them. With no paths, re-syncs every source (new, changed and deleted files).search_notes(query, limit=8, path_prefix=None): hybrid search; returns chunks with file path and heading path.get_note(path): full text of an indexed file.list_sources(),remove_source(path).
Markdown is chunked by heading. A .indexignore in a source folder lists relative paths to skip.
Settings
| Env var | Default |
|---|---|
VAULT_INDEX_DB |
~/.mcp-memory/vault-index.db |
VAULT_MODEL_CACHE |
~/.mcp-memory/models |
Python 3.10 to 3.13 (--python 3.12 keeps uvx off newer Pythons that onnxruntime does not support yet). MIT license.
Metadata
Release files for vault-index 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| vault_index-0.3.0.tar.gz | 9.4 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| vault_index-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 19.4 kB
Release files / vault_index-0.3.0.tar.gz
| Download URL | vault_index-0.3.0.tar.gz |
|---|---|
| Size | 9.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
69c3c28eccba2a1c3679ef63cff590e909c2d6130ca9c5bf722392282291ea38
|
|
BLAKE2b-256 checksum How to use checksums |
53e10c0047de6ca60612aafa8ce09031905428669c0a50d16cbc0064e360b020
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.
Transparency logRelease files / vault_index-0.3.0-py3-none-any.whl
| Download URL | vault_index-0.3.0-py3-none-any.whl |
|---|---|
| Size | 10.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
54659420f5344258236420b414b072b1803dd59c25c591f3fc7c0804c781c65a
|
|
BLAKE2b-256 checksum How to use checksums |
9f38a4f7afce1aaa50381af399a6c175e8a9f0dd6e9d95d5870a8c668dfd6559
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.
Transparency logSecurity for vault-index 0.3.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for vault_index-0.3.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.