Skip to main content

ChunkSilo Logo

ChunkSilo terminal demo

ChunkSilo MCP Server

ChunkSilo is like a local Google for your documents. It uses semantic search — matching by meaning rather than exact keywords — so your LLM can find relevant information across all your files even when the wording differs from your query. Point it at your PDFs, Word docs, Markdown, and text files, and it builds a fully searchable index locally on your machine.

  • Runs entirely on your machine — no servers, no infrastructure
  • Semantic search + keyword filename matching across PDF, DOCX, DOC, Markdown, and TXT
  • Incremental indexing — only reprocesses new or changed files, and never writes inside an indexed directory
  • Revision-aware indexing — files that are revisions of one document (Spec_v2.pdf, .../Rev B/Spec.docx) are grouped and only the newest is indexed; review-comment copies are skipped
  • Heading-aware results with source links back to the original file, spread across documents instead of one document's every chunk
  • Date filtering and recency boosting
  • Files indexed from a mounted network share can be presented at the share's own location (an smb:// URI plus the Windows UNC path)
  • Serves MCP over stdio to a local client, or over streamable-http behind a reverse proxy of your own (oauth2-proxy + KeyCloak walkthrough included)
  • Optional Confluence and Jira integrations (supports Cloud and Server/Data Center)

Installation

Requires Python 3.11 or later. Models are downloaded automatically on first run (~250MB). The first run may appear to pause while models download — this is normal.

pip install chunksilo

Confluence and Jira support is included by default — just provide a config file to enable them. (pip install chunksilo[confluence,jira] still works as an alias for backward compatibility.)

Then:

  1. Create a config file at ~/.config/chunksilo/config.yaml (see Configuration)
  2. Build the index: chunksilo --build-index
  3. Configure your MCP client (see docs/mcp-clients.md)

Option B: Offline Bundle

A self-contained package with pre-downloaded models, ideal for air-gapped environments or systems without Python installed.

Download from the Releases page:

  1. Download the chunksilo-vX.Y.Z-manylinux_2_34_x86_64.tar.gz file
  2. Extract and install:
tar -xzf chunksilo-vX.Y.Z-manylinux_2_34_x86_64.tar.gz
cd chunksilo
./setup.sh
  1. Edit config.yaml to set your document directories
  2. Build the index: ./venv/bin/chunksilo --build-index
  3. Configure your MCP client (see docs/mcp-clients.md)

Configuration

ChunkSilo reads one file, config.yaml, taken from --config, else the CHUNKSILO_CONFIG environment variable, else ./config.yaml, else ~/.config/chunksilo/config.yaml. Every setting is optional and chunksilo --dump-defaults prints them all with their defaults.

indexing:
  directories:
    - "./data"
    - "/mnt/docs"

retrieval:
  rerank_top_k: 5

storage:
  storage_dir: "./storage"
  model_cache_dir: "./models"

The full reference — per-directory filters, revision handling, retrieval tuning, Confluence and Jira, share locations, the HTTP transport, and what changed for users upgrading from 2.x — is in docs/configuration.md.

The search_docs tool

search_docs answers with the files whose names matched and the individual chunks that carry the answer, each located by a URI, the page or line it came from, and its heading path:

{
  "matched_files": [
    { "uri": "file:///docs/database-configuration.docx", "unc": null, "score": 0.8432 }
  ],
  "num_matched_files": 1,
  "chunks": [
    {
      "text": "To configure the database connection, set the DATABASE_URL environment variable...",
      "score": 0.912,
      "location": {
        "uri": "file:///docs/setup-guide.pdf",
        "unc": null,
        "page": 12,
        "line": null,
        "heading_path": ["Getting Started", "Configuration", "Database"]
      }
    }
  ],
  "num_chunks": 1,
  "query": "how to configure the database",
  "retrieval_time": "0.42s"
}

See docs/tools.md for every field, including how files on a mounted network share are presented.

Documentation

  • docs/configuration.md — the config file, where it is discovered, and a reference for every setting.
  • docs/cli.mdchunksilo and chunksilo-mcp options, including --check-files for explaining why a file is or is not indexed.
  • docs/tools.md — the search_docs result shape.
  • docs/mcp-clients.md — client setup for Claude Code, Claude Desktop, Cline, Roo Code and opencode, over stdio or HTTP.
  • docs/reverse-proxy.md — sharing an instance behind an authenticating reverse proxy, with oauth2-proxy and KeyCloak group-based access.
  • docs/troubleshooting.md — indexing surprises, network mounts, offline mode and more.

License

Apache-2.0. See LICENSE and NOTICE.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

chunksilo-3.0.0.tar.gz (149.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

chunksilo-3.0.0-py3-none-any.whl (84.9 kB view details)

Uploaded Python 3

File details

Details for the file chunksilo-3.0.0.tar.gz.

File metadata

  • Download URL: chunksilo-3.0.0.tar.gz
  • Upload date:
  • Size: 149.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for chunksilo-3.0.0.tar.gz
Algorithm Hash digest
SHA256 8239799691239662d4d0f43eec938dc8b600c1b7376619bf5180e92ad1c555f2
MD5 6b0b921f3c3413d4354ca88ecc2b3f57
BLAKE2b-256 07726241fa37d156dc36d0f7e1b631990beefaf3ea4391a43a300069ad1ab362

See more details on using hashes here.

Provenance

The following attestation bundles were made for chunksilo-3.0.0.tar.gz:

Publisher: manual-release.yml on Chetic/chunksilo

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file chunksilo-3.0.0-py3-none-any.whl.

File metadata

  • Download URL: chunksilo-3.0.0-py3-none-any.whl
  • Upload date:
  • Size: 84.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for chunksilo-3.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7214d925db0f73b120fe767fb6bcd49a1d65e7f6a83c3aa39421adc60b279893
MD5 b56cde1105b0b09fd354fe72e92f6aa3
BLAKE2b-256 2b71226e70752b23f87f2fb384236f622216a3852223a7a4229a2d32f6e2f538

See more details on using hashes here.

Provenance

The following attestation bundles were made for chunksilo-3.0.0-py3-none-any.whl:

Publisher: manual-release.yml on Chetic/chunksilo

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

3.0.0 This release

2 files

2.4.0

2 files

2.3.4

2 files

2.3.3

2 files

2.3.2

2 files

2.3.1

2 files

2.3.0

2 files

2.2.0

2 files

2.1.3

2 files

2.1.2

2 files

2.1.1

2 files

2.1.0

2 files

2.0.0

2 files

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