MCPcopy Index your code
hub / github.com/chunkhound/chunkhound

github.com/chunkhound/chunkhound @v5.1.0a1

Chat with this repo
repository ↗ · DeepWiki ↗ · release v5.1.0a1 ↗ · + Follow
10,763 symbols 43,289 edges 723 files 5,926 documented · 55% updated todayv5.1.0 · 2026-05-20★ 1,35274 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

  <img src="https://github.com/chunkhound/chunkhound/raw/v5.1.0a1/public/wordmark-centered.svg" alt="ChunkHound" width="400">

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.github.io for complete guides: - Quickstart - Configuration Guide - Architecture Deep Dive

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. 2. Index your codebase

chunkhound index

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

Extension points exported contracts — how you extend this code

Processor (Interface)
(no doc) [4 implementers]
tests/fixtures/java/Sample.java
ConfiguratorEditor (Interface)
(no doc)
site/src/components/configurator-data.ts
UserRepositoryInterface (Interface)
* User repository interface. */
tests/fixtures/php/comprehensive.php
ConfiguratorProviderOption (Interface)
(no doc)
site/src/components/configurator-data.ts
IProcessor (Interface)
Processor interface example
tests/fixtures/csharp/Sample.cs
PlatformOption (Interface)
(no doc)
site/src/components/configurator-data.ts
IExtendedProcessor (Interface)
Extended processor interface
tests/fixtures/csharp/Sample.cs
UserRepository (Interface)
(no doc)
tests/fixtures/kotlin/Sample.kt

Core symbols most depended-on inside this repo

get
called by 1181
chunkhound/tree_cache.py
get
called by 620
tests/fixtures/kotlin/Sample.kt
get_node_text
called by 572
chunkhound/parsers/mappings/base.py
debug
called by 385
chunkhound/services/realtime/context.py
error
called by 365
chunkhound/api/cli/utils/rich_output.py
info
called by 256
chunkhound/api/cli/utils/rich_output.py
find_child_by_type
called by 240
chunkhound/parsers/mappings/base.py
warning
called by 240
chunkhound/api/cli/utils/rich_output.py

Shape

Method 5,713
Function 4,047
Class 970
Route 20
Interface 8
Enum 5

Languages

Python81%
TypeScript18%
C#1%
C++1%
PHP1%
Kotlin1%

Modules by API surface

tests/fixtures/real_world_files/d3.min.js839 symbols
tests/fixtures/real_world_files/vue.min.js585 symbols
tests/fixtures/real_world_files/bootstrap.min.js390 symbols
tests/test_twincat_parser.py245 symbols
chunkhound/providers/database/duckdb_provider.py148 symbols
tests/unit/test_voyageai_provider.py113 symbols
tests/test_evidence_ledger.py113 symbols
tests/test_realtime_functional.py99 symbols
tests/test_java_mapping.py99 symbols
tests/test_constant_extraction.py96 symbols
chunkhound/providers/database/lancedb_provider.py87 symbols
tests/fixtures/real_world_files/jquery-3.7.1.min.js80 symbols

For agents

$ claude mcp add chunkhound \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact