Skip to main content

mcp-trove-crunchtools

Self-hosted local file indexing MCP server with semantic search. Index any local directory (pCloud ~/AutoSync/, rclone mounts, ~/Documents/, anything) and search over the contents using hybrid vector + keyword search.

Features

  • Hybrid search — Combines semantic vector similarity with FTS5 keyword matching
  • Multiple file formats — PDF, DOCX, Markdown, plain text, source code
  • Local-first — No cloud services, no per-seat fees, your data stays on your machine
  • Lightweight embeddings — Uses fastembed (ONNX runtime) instead of PyTorch (~22MB vs ~2GB)
  • Incremental indexing — SHA-256 checksum-based change detection
  • Background mode — --index CLI mode for systemd timer automation

Install

uvx mcp-trove-crunchtools

pip

pip install mcp-trove-crunchtools

Container

podman run -v trove-data:/data -v ~/Documents:/docs:ro quay.io/crunchtools/mcp-trove

Claude Code Integration

claude mcp add mcp-trove-crunchtools -- uvx mcp-trove-crunchtools

Tools (10)

Search (2)

Tool Description
trove_search Hybrid semantic + FTS5 search. Returns ranked chunks with file paths, scores, and content.
trove_similar Find files similar to a given indexed file using its average embedding.

Index Management (3)

Tool Description
trove_index Index a specific file or directory. Skips unchanged files (checksum-based).
trove_reindex Force re-index ignoring checksums. If no path given, reindexes everything.
trove_remove Remove a file or directory from the index.

Status (5)

Tool Description
trove_status Index statistics: total files, chunks, disk usage, model info.
trove_list List indexed files with metadata (size, type, chunk count).
trove_get_chunks Show the text chunks for a specific indexed file.
trove_log Activity log of indexing runs: start/finish times, file counts, errors. Persisted in SQLite, survives container crashes.
trove_quality Per-file error tracking from indexing runs: which files failed, why, and whether a later index resolved it.

Environment Variables

Variable Default Description
TROVE_DB ~/.local/share/mcp-trove/trove.db SQLite database path
TROVE_PATHS (none) Directories to index in background mode, separated by : (; on Windows)
TROVE_INDEX_WORKERS 20 Concurrent embedding workers
TROVE_INDEX_BATCH 50 Files per indexing batch
TROVE_EMBEDDING_MODEL BAAI/bge-small-en-v1.5 fastembed model name
TROVE_EXCLUDE_PATTERNS *.iso,*.zip,... Glob patterns to skip
TROVE_CHUNK_SIZE 1000 Characters per text chunk
TROVE_CHUNK_OVERLAP 200 Overlap between chunks
TROVE_PDF_MAX_PAGES 5 Pages indexed from the start of each PDF, enough to tell what the document is about while keeping memory flat on large manuals; 0 or negative indexes every page
TROVE_MAX_TEXT_CHARS 5000000 Characters of extracted text kept per file; the rest is dropped with a warning so one huge document cannot flood a batch with chunks; must be positive, other values fall back to the default with a warning
TROVE_VISION_BACKEND none Vision captioning backend: gemini, openai, openrouter, ollama, or none to disable
TROVE_VISION_MODEL per backend Vision model. Defaults to gemini-2.5-flash, gpt-4o-mini, google/gemini-3.1-flash-lite (openrouter) or llava depending on the backend; empty when disabled
TROVE_VISION_PROMPT (see below) Caption prompt sent with each image
TROVE_VISION_TIMEOUT 120 Seconds allowed per vision API call

Image and video captioning is off until TROVE_VISION_BACKEND is set. The openrouter backend reads OPENROUTER_API_KEY_FILE or OPENROUTER_API_KEY, handles video as well as images, and only routes to zero-retention providers. The default caption prompt is:

Generate a concise caption for this image suitable for search indexing. Include: what you see, location if identifiable, time of day, any readable text or signs.

Background Indexing

Set up a systemd timer to keep your index fresh:

TROVE_PATHS=~/Documents:~/AutoSync mcp-trove-crunchtools --index

License

AGPL-3.0-or-later

Metadata

Release files for mcp-trove-crunchtools 0.9.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mcp-trove-crunchtools 0.9.3
File Size Uploaded Provenance
mcp_trove_crunchtools-0.9.3.tar.gz 246.7 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for mcp-trove-crunchtools 0.9.3
File Interpreter ABI Platform
mcp_trove_crunchtools-0.9.3-py3-none-any.whl Python 3 none any Details

Total release size: 290.1 kB

Release files / mcp_trove_crunchtools-0.9.3.tar.gz

Download URL mcp_trove_crunchtools-0.9.3.tar.gz
Size 246.7 kB
Tags Source
SHA-256 checksum
How to use checksums
801eb923d2a8427bbfb64d234be8a6e06c8cb65151f22acaae681354cca6293c
BLAKE2b-256 checksum
How to use checksums
028e54efa3096fb17be00c0a124413741502cdad76043a3b2cc201b7760e5674
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 25, 2026.

Transparency log

Release files / mcp_trove_crunchtools-0.9.3-py3-none-any.whl

Download URL mcp_trove_crunchtools-0.9.3-py3-none-any.whl
Size 43.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
635a792d22397dd395b6322c6b6030e24726042ae05b9c45f6e400129045ff3b
BLAKE2b-256 checksum
How to use checksums
555052fa0aee3e0f942be8058270d7176f0e1c79471b2ca66a7b08f7b6872a9d
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 25, 2026.

Transparency log

Security for mcp-trove-crunchtools 0.9.3

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.

Select from 2 files

Attestation for mcp_trove_crunchtools-0.9.3.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 25, 2026.

Transparency log

A 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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page