Skip to content
ReviewRamble

The weekly brief

AI, reviewed, in your inbox.

  • New reviews of tools, models, MCP servers and repos, with the verdict up front
  • Re-checked prices and ratings when something changes
  • New analysis pieces as they are published

Models, agents, MCP servers and the tools actually worth your time.

One email a week. Unsubscribe with the link in any brief. How we use your email

CocoIndex Code

Local semantic code search over AST-based chunks, kept current incrementally and served to agents through one MCP search tool.

Reviewed by ReviewRamble editors · Updated

Setup docs Open source

Our rating

3.8/5

A tidy, private way to give an agent search-by-meaning over a repository, but it is vector search alone, it reports usage by default and it costs a gigabyte of dependencies to run locally.

What is CocoIndex Code?

CocoIndex Code, from the team behind the CocoIndex data-transformation engine, splits a repository into chunks along function and class boundaries with tree-sitter, embeds them and stores the vectors in embedded SQLite and LMDB files inside the project's .cocoindex_code folder. An agent then finds code by describing it, such as "how user sessions are managed", instead of guessing names for grep. The Rust engine re-indexes only files that changed.

The ccc command line tool runs as a CLI, as a skill for Claude Code and other agents, or as an MCP server with claude mcp add cocoindex-code -- ccc mcp. The full install pulls in Sentence Transformers and defaults to the small Snowflake/snowflake-arctic-embed-xs model on your own machine, with no API key; the slim install routes embeddings through LiteLLM to cloud providers or Ollama. A background daemon keeps the model loaded between queries.

The repo was created in February 2026, has about 2,980 stars and is Apache-2.0 licensed. Version 0.2.43 shipped on 5 November 2026 and is listed in the official MCP registry. The PyPI package logged about 1,270 downloads in the week to 10 November.

How to install CocoIndex Code

pipx install 'cocoindex-code[full]' && claude mcp add cocoindex-code -- ccc mcp

Is CocoIndex Code worth it?

CocoIndex Code does one thing: it answers a natural-language question with the five most similar chunks of code. The MCP server exposes a single tool, search, with filters for language and path glob and a limit of 1 to 100 results. One tool keeps the context overhead close to nothing, and because refresh_index defaults to true, each query first re-indexes whatever changed since the last one, so the agent does not read stale code.

The retrieval is pure embedding similarity. There is no keyword or BM25 leg, which an issue opened in March 2026 still asks for, so an exact identifier can rank below a chunk that merely sounds related. Semble, its closest rival here, fuses BM25 with embeddings and adds a find_related tool. The README's headline of 70% token savings comes with no published methodology, while Semble at least documents its benchmark.

Local embedding is the main attraction and the main cost. The full install adds about 1 GB of PyTorch and transformers, and the full Docker image is about 5 GB against 450 MB for the slim one that sends code to a cloud embedding API. The default model is small and fast on CPU; the README points users who want better code retrieval to nomic-ai/CodeRankEmbed, at 137M parameters and about 1 GB of VRAM, and switching models means a full re-index.

Two defaults need attention. Anonymous usage telemetry is on unless COCOINDEX_DISABLE_USAGE_TRACKING=1 is set; the README says code, paths, queries and results are excluded. The documented Docker setup mounts your whole home directory read-write into the container unless you narrow it with COCOINDEX_HOST_WORKSPACE. Neither is unusual, but both are opt-out.

The index store has a ceiling worth knowing before a big monorepo: LMDB defaults to 4 GiB, and tens of thousands of files with a high-dimensional model can hit MDB_MAP_FULL until you raise COCOINDEX_LMDB_MAP_SIZE and restart the daemon. Against Serena or a code graph such as codebase-memory-mcp, it finds code but cannot say who calls it.

Where it earns its place

  • A developer joining an unfamiliar Python and TypeScript codebase

    Find where a behaviour lives without knowing what anyone named it

    Install cocoindex-code[full] with pipx, register ccc mcp in Claude Code and ask for "where retries are handled for webhooks". The agent gets five ranked chunks instead of grepping for guessed names; follow-up questions about callers still need Serena or a code graph.

  • A security-conscious consultancy working under client NDAs

    Give agents semantic search without any code leaving the laptop

    Keep the default local Sentence Transformers model and set COCOINDEX_DISABLE_USAGE_TRACKING=1 in the shell profile. Nothing is billed; the cost is about 1 GB of disk for dependencies and CPU time on the first index.

  • A platform team running agents in a shared dev container

    Provide the same search setup to every developer image

    Run the slim cocoindex/cocoindex-code image (about 450 MB) with a Voyage or OpenAI embedding key and bind-mount only the code folder via COCOINDEX_HOST_WORKSPACE. Embedding spend depends on repository size and the provider's per-token price.

Before you commit

Setup
pipx install 'cocoindex-code[full]' or uv tool install, then claude mcp add cocoindex-code -- ccc mcp (documented also for Codex, OpenCode, Kilo Code and Oh My Pi). ccc init picks the model; the first search builds the index. Non-interactive first runs need a one-time ccc init.
Integrations
One MCP tool, search (query, limit, offset, refresh_index, languages, paths), read-only. The CLI adds ccc grep for structural search by example, ccc status and ccc doctor. A Claude Code plugin marketplace and a skill install are offered as alternatives to MCP.
Data and privacy
Index files sit in the project's .cocoindex_code folder, added to .gitignore. With local Sentence Transformers no code leaves the machine; with a LiteLLM provider every chunk is sent to that provider. Anonymous telemetry is on by default. No security advisories are published.
Cost at scale
Free to run locally beyond CPU or GPU time and disk. Cloud embedding costs scale with codebase size at the provider's rates; shared team indexes and branch deduplication are enterprise features, priced on request.
Limits
LMDB index store capped at 4 GiB by default; large repos need COCOINDEX_LMDB_MAP_SIZE raised. Switching models requires ccc reset and a full re-index. The macOS system Python lacks SQLite extension loading. About 26 open issues and 41 open pull requests.

What’s good

  • One read-only MCP tool, so almost no context overhead
  • Local embeddings with no API key in the full install
  • Incremental re-index before each query by default
  • Apache-2.0, with LiteLLM access to 100+ embedding providers

What’s not

  • Vector similarity only; no keyword or BM25 ranking
  • Anonymous telemetry on by default
  • Full install adds about 1 GB of PyTorch dependencies
  • No call graph, references or types

Best for

Developers who want an agent to find code by description in a private repository without sending source to a cloud embedding API.

CocoIndex Code alternatives

CocoIndex Code: common questions

Is CocoIndex Code worth it?
A tidy, private way to give an agent search-by-meaning over a repository, but it is vector search alone, it reports usage by default and it costs a gigabyte of dependencies to run locally. We rate it 3.8 out of 5.
How much does CocoIndex Code cost?
Free and open source (Apache-2.0). Cloud embedding providers bill you directly; shared team indexes are an enterprise feature with prices not published.
What are the downsides of CocoIndex Code?
Vector similarity only; no keyword or BM25 ranking; anonymous telemetry on by default; full install adds about 1 GB of PyTorch dependencies; no call graph, references or types.
Who is CocoIndex Code best for?
Developers who want an agent to find code by description in a private repository without sending source to a cloud embedding API.
How much does CocoIndex Code cost for a team or in production?
Free to run locally beyond CPU or GPU time and disk. Cloud embedding costs scale with codebase size at the provider's rates; shared team indexes and branch deduplication are enterprise features, priced on request.
Is CocoIndex Code safe for company data?
Index files sit in the project's .cocoindex_code folder, added to .gitignore. With local Sentence Transformers no code leaves the machine; with a LiteLLM provider every chunk is sent to that provider. Anonymous telemetry is on by default. No security advisories are published.
What are the best CocoIndex Code alternatives?
The closest alternatives we have reviewed are Semble, codebase-memory-mcp, Serena and CodeGraph.

Answers checked Nov 11, 2026.