# codeindex [Health: Active]

**Category:** 🧬 Biology & Bioinformatics  
**Repository:** https://github.com/munhq/codeindex  
**GitHub Stars:** 3  
**npm Downloads (last month):** 765  
**Views:** 5  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/codeindex

## Description
Structural code intelligence over MCP: symbols, callers, imports and blast radius, 40+ languages.

## Tools
Capabilities this server exposes over MCP:

- **status** — Index stats: file count, symbol count, indexing state, token savings %, the indexed `workspace` and whether a `watcher` is live
- **search** — Trigram-accelerated full-text search across all indexed files
- **find_symbol** — Find symbol definitions (functions, structs, classes…) by name
- **find_word** — Exact word/identifier lookup in the inverted word index
- **find_callers** — Call sites of a symbol, each with the function that holds it. Matched by name, so a same-named definition elsewhere is included
- **get_outline** — Structural outline of a file (symbols, line counts)
- **get_tree** — Directory tree with file metadata
- **get_imports** — What files does a given file import/depend on
- **get_imported_by** — Reverse dependencies — who imports this file
- **get_change_impact** — Transitive blast radius: what breaks if a file changes
- **plan_change** — Full refactor plan for a symbol or file — definitions, callers, file role, literals, blast radius
- **get_hot_files** — Recently changed files sorted by recency
- **read_file** — Read file contents with optional line range
- **read_symbol** — Read just a symbol's source code (with optional context lines)
- **index_workspace** — Index or re-index a workspace directory
- **analyze** — Run one of 22 code analyses (see below)

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "codeindex": {
    "command": "npx",
    "args": ["-y","@munhq/codeindex"]
  }
}
```

## Documentation

## What codeindex does

The codeindex MCP server indexes a local software workspace and exposes code-navigation data to MCP clients. It supports more than 40 languages, including Rust, Python, TypeScript, Go, Java, C and C++, Ruby, Kotlin, Swift, SQL, JSON, YAML, Dockerfile, Markdown, and others. Parsing uses tree-sitter, while separate trigram and inverted-word indexes support text and identifier lookup.

The server is designed for questions about code structure rather than only file contents. It can locate definitions, show a file outline, identify callers, trace imports in both directions, calculate a transitive change impact, and produce a refactoring plan for a symbol or file. It can also return selected file or symbol source, list recently changed files, and report index status.

## How it works

An MCP client communicates with a local relay over stdio. By default, a workspace daemon maintains the shared index, dependency graph, file watcher, and persisted snapshot. Multiple sessions connected to the same repository can therefore use one indexed representation instead of building independent copies. The daemon can be disabled with the `--no-daemon` option.

The `analyze` tool runs one of 22 named analyses. These cover areas such as security patterns, dead code, test coverage, architecture, dependency cycles, coupling, duplication, type drift, migration parity, hardcoded literals, dependency inventory, and database or call-cost concerns. The `health` analysis combines results into an index-health report.

## Setup and configuration

Node.js 18 or newer is the shortest installation path. The npm package is `@munhq/codeindex`; an MCP client can launch it with `npx -y @munhq/codeindex`. The repository also provides an install script that installs the prebuilt binary, skill, and MCP registration, plus a source-build path using Zig. Docker is available when the server should run as an image; the documented example mounts the workspace at `/workspace` as read-only.

The executable runs as an MCP server with `codeindex --mcp`. It can be registered directly with Claude Code or configured in an MCP client using the `command` and `args` fields. The project documentation warns against registering both the Claude Code plugin and a separate direct server for the same workspace, because that creates duplicate server processes and snapshots.

## Tools and capabilities

The codeindex MCP server provides these tools:

- `status`, `index_workspace`, and `get_tree` for index state, workspace indexing, and file metadata.
- `search`, `find_word`, and `find_symbol` for full-text, identifier, and definition lookup.
- `find_callers`, `get_imports`, `get_imported_by`, and `get_change_impact` for references and dependency tracing.
- `get_outline`, `read_file`, and `read_symbol` for focused source inspection.
- `plan_change` for definitions, callers, file role, literals, and transitive impact.
- `get_hot_files` for recently changed files.
- `analyze` for the repository analyses described above.

## Limitations and notes

Caller matching is name-based, so a same-named definition elsewhere may also appear in the results. The available structural information depends on the indexed workspace and the supported language parsers. The Docker example treats the workspace as read-only, while normal local operation maintains an index, watcher, and persisted snapshot outside the source tree as configured by the server. No API key is required for the documented npm quickstart.

_Full upstream README: https://allmcps.com/mcp/codeindex/readme_

