Skip to main content

Local-first codebase intelligence for AI assistants via MCP

Project description

ChunkHound

Local-first codebase intelligence

Tests License: MIT 100% AI Generated Discord

Your AI assistant searches code but doesn't understand it. ChunkHound researches your codebase—extracting architecture, patterns, and institutional knowledge at any scale. Integrates via MCP.

Features

  • cAST Algorithm - Research-backed semantic code chunking
  • Multi-Hop Semantic Search - Discovers interconnected code relationships beyond direct matches
  • Semantic search - Natural language queries like "find authentication code"
  • Regex search - Pattern matching without API keys
  • Local-first - Your code stays on your machine
  • 32 languages with structured parsing
    • Programming (via Tree-sitter): Python, JavaScript, TypeScript, JSX, TSX, Java, Kotlin, Groovy, C, C++, C#, Go, Rust, Haskell, Swift, Bash, MATLAB, Makefile, Objective-C, PHP, Dart, Lua, Vue, Svelte, Zig
    • Configuration: JSON, YAML, TOML, HCL, Markdown
    • Text-based (custom parsers): Text files, PDF
  • MCP integration - Works with Claude, VS Code, Cursor, Windsurf, Zed, etc
  • Real-time indexing - Automatic file watching, smart diffs, seamless branch switching, and explicit backend selection (watchdog, watchman, polling)

Documentation

Visit chunkhound.ai for documentation:

Requirements

Installation

# Install uv if needed
curl -LsSf https://astral.sh/uv/install.sh | sh

# Install ChunkHound
uv tool install chunkhound

Quick Start

  1. Create .chunkhound.json in project root
{
  "embedding": {
    "provider": "voyageai",
    "api_key": "your-voyageai-key"
  },
  "llm": {
    "provider": "claude-code-cli"
  }
}

Note: Use "codex-cli" instead if you prefer Codex. Both work equally well and require no API key.

  1. Index your codebase
chunkhound index
  1. Search changed code in recent commits
# Last N commits
chunkhound search "authentication changes" --last-n 20

# Changes introduced by that commit (diff against its parent; root commits use empty tree)
chunkhound search "database migration" --commit-hash abc1234

# Custom git range
chunkhound search "API changes" --commit-range v2.0..HEAD

# Deep research over recent changes
chunkhound research "what changed in the auth module?" --last-n 50

--vector-source controls scope: diff (default, changed code only), both (merges diff + DB), db (ignore diff).

For configuration, IDE setup, and advanced usage, see the documentation.

Why ChunkHound?

Approach Capability Scale Maintenance
Keyword Search Exact matching Fast None
Traditional RAG Semantic search Scales Re-index files
Knowledge Graphs Relationship queries Expensive Continuous sync
ChunkHound Semantic + Regex + Code Research Automatic Incremental + realtime

Ideal for:

  • Large monorepos with cross-team dependencies
  • Security-sensitive codebases (local-only, no cloud)
  • Multi-language projects needing consistent search
  • Offline/air-gapped development environments

License

MIT

Project details


Download files

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

Source Distribution

chunkhound-5.2.1.tar.gz (1.3 MB view details)

Uploaded Source

Built Distributions

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

chunkhound-5.2.1-py3-none-win_amd64.whl (12.6 MB view details)

Uploaded Python 3Windows x86-64

chunkhound-5.2.1-py3-none-manylinux_2_34_x86_64.whl (6.7 MB view details)

Uploaded Python 3manylinux: glibc 2.34+ x86-64

File details

Details for the file chunkhound-5.2.1.tar.gz.

File metadata

  • Download URL: chunkhound-5.2.1.tar.gz
  • Upload date:
  • Size: 1.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for chunkhound-5.2.1.tar.gz
Algorithm Hash digest
SHA256 6cdfd41f46e6cdbd354e45751a91e6581767e4714f1d8cfb13dba69d7e88c923
MD5 368d8a3cc5a9d0722888c07a107db3c6
BLAKE2b-256 ef84736a15874d446f3f96d27f2f30d3cb8faf1858789c19382924434387fdd0

See more details on using hashes here.

Provenance

The following attestation bundles were made for chunkhound-5.2.1.tar.gz:

Publisher: release.yml on chunkhound/chunkhound

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

File details

Details for the file chunkhound-5.2.1-py3-none-win_amd64.whl.

File metadata

  • Download URL: chunkhound-5.2.1-py3-none-win_amd64.whl
  • Upload date:
  • Size: 12.6 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for chunkhound-5.2.1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 26fb0016385ccfe7ec7a901275ed2615c41c6f40ee3b9e7d7cd2ac7c7cb6e907
MD5 1b1af73ea8486624601d994296c0999b
BLAKE2b-256 f16ad491fe76973d3da72fc62654071060827b8946de81ebf0da35c54cf6c38e

See more details on using hashes here.

Provenance

The following attestation bundles were made for chunkhound-5.2.1-py3-none-win_amd64.whl:

Publisher: release.yml on chunkhound/chunkhound

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

File details

Details for the file chunkhound-5.2.1-py3-none-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for chunkhound-5.2.1-py3-none-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 af70ed9654dd7ad1ea795c7b87136b177b2a27b735f0d55978494cd3857e456f
MD5 c62e88f067fdf6f59195ee1fee74a941
BLAKE2b-256 9e2ab934954c291bdad081cd887224df2a204992312f00b31809a97c57511607

See more details on using hashes here.

Provenance

The following attestation bundles were made for chunkhound-5.2.1-py3-none-manylinux_2_34_x86_64.whl:

Publisher: release.yml on chunkhound/chunkhound

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

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page