MCP server Codeix
Предоставляет AI-агентам быстрый семантический поиск по коду для нахождения символов, ссылок и вызывающих функций в кодовых базах с использованием переносимого формата индекса.
Также известен как montanetech/codeix
- Звёзды
- 9
- Инструменты
- 7
- Загрузки, 30 дней
- 69
- Последняя версия
- 0.5.0
- Последний коммит
- 21 февр. 2026 г.
- Лицензия
- Apache-2.0
Что такое Codeix MCP?
Codeix — это MCP server. Предоставляет AI-агентам быстрый семантический поиск по коду для нахождения символов, ссылок и вызывающих функций в кодовых базах с использованием переносимого формата индекса. Он предоставляет 7 инструментов, например explore, search, get_file_symbols.
Сводка сгенерирована из README проекта
О Codeix MCP server
Codeix позволяет AI-агентам быстро находить конкретные функции или классы в крупных кодовых базах. Вместо того чтобы заставлять агента тратить токены на grep по сырому тексту, этот MCP server предоставляет готовую карту вашего проекта в переносимом формате .codeindex. Это позволяет агентам мгновенно находить символы, сигнатуры и связи между родительскими и дочерними элементами в нескольких репозиториях или монорепозиториях.
Разработчики используют этот инструмент локально, запуская команду codeix для создания индекса, а затем предоставляя его через MCP. Инструменту не требуются API-ключи или доступ к сети, что делает его подходящим для изолированных сред. Сервер использует Rust и tree-sitter для создания структурированных данных, которые включают типы символов и диапазоны строк. Поскольку индекс представляет собой набор файлов JSONL, его можно коммитить в Git, позволяя членам команды и CI-раннерам использовать один и тот же готовый индекс без повторного парсинга исходного кода.
С помощью семи специализированных инструментов, таких как get_callers и search, агенты могут перемещаться по сложным деревьям зависимостей. Сервер даже поддерживает текстовый поиск для работы именно с docstrings и комментариями, гарантируя, что агент сможет найти TODO или сообщение об ошибке, не отвлекаясь на совпадения в паттернах кода.
Что вы можете с ним делать
- 1Поиск определений функций и сигнатурAI-агент может найти точный диапазон строк и сигнатуру конкретной функции, чтобы понять, как её вызвать.
- 2Отслеживание зависимостей и ссылок в кодеРазработчик может попросить агента определить все места в кодовой базе, где вызывается определенный метод.
- 3Поиск по документации и комментариямАгент может искать текст именно внутри docstrings или комментариев, чтобы найти заметки по реализации или TODO.
- 4Навигация по монорепозиториям и зависимостямАгент может выполнять запросы по различным пакетам в монорепозитории или даже перемещаться по API установленных зависимостей.
Взято из README проекта. Каждый вариант использования проверен на соответствие цитате из него.
Как установить Codeix MCP
Форматы проверены 10 ноя 2026Добавить в CursorДобавить в GooseУстановка Codeix MCP в Claude Code
$ claude mcp add codeix -- npx -y codeixУстановка Codeix MCP в Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"codeix": {
"command": "npx",
"args": [
"-y",
"codeix"
]
}
}
}Установка Codeix MCP в VS Code
.vscode/mcp.json
{
"servers": {
"codeix": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"codeix"
]
}
}
}Установка Codeix MCP в VS Code CLI
$ code --add-mcp '{"name":"codeix","type":"stdio","command":"npx","args":["-y","codeix"]}'Установка Codeix MCP в Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"codeix": {
"command": "npx",
"args": [
"-y",
"codeix"
]
}
}
}Установка Codeix MCP в Codex
$ codex mcp add codeix -- npx -y codeixУстановка Codeix MCP в Codex config.toml
~/.codex/config.toml
[mcp_servers.codeix] command = "npx" args = ["-y", "codeix"]
Установка Codeix MCP в Gemini CLI
$ gemini mcp add -s user codeix npx -- -y codeixУстановка Codeix MCP в Gemini settings.json
~/.gemini/settings.json
{
"mcpServers": {
"codeix": {
"command": "npx",
"args": [
"-y",
"codeix"
]
}
}
}Инструменты Codeix MCP 7
Определено из READMEexploresearchget_file_symbolsget_childrenget_callersget_calleesflush_index
| explore | — | |
| search | — | |
| get_file_symbols | — | |
| get_children | — | |
| get_callers | — | |
| get_callees | — | |
| flush_index | — |
Автоматические проверки
Запущено 14 нояб. 2026 г.Полный отчёт →Еще не проверено. Для сервера требуется оценка 80, отсутствие серьезных проблем и достаточно данных для нашей проверки. Как работают проверки · Что исправить, чтобы получить больше баллов
- Связанный и доступный исходный репозиторийmontanetech/codeix is public and reachablegithub.com/montanetech/codeix ↗Пройдено
- Пакет указывает этот репозиторий как источникcodeix, codeix name montanetech/codeix as sourcenpmjs.com/package/codeix ↗Пройдено
- Происхождение сборки (аттестация Sigstore)Sigstore attestation for codeix, codeixnpmjs.com/package/codeix/v/0.5.0#provenance ↗Пройдено
- Open source лицензия (OSI)Apache-2.0spdx.org/licenses/Apache-2.0.html ↗Пройдено
- Коммит или релиз за последний годLast commit or release 2026-02-21github.com/montanetech/codeix ↗Пройдено
- OpenSSF ScorecardНе проверялось
- Имя пакета не похоже на популярный пакетcodeix looks like @claude-flow/codexПроблема
- Нет критических предупреждений в пакете или его зависимостях1 resolved dependencies checked; no critical advisoryosv.dev ↗Пройдено
- Нет скрытых инструкций для модели7 tool descriptions and the README read; no override phrases, credential paths or hidden charactersПройдено
- Деструктивные инструменты помеченыNo tool named like delete, drop or execПройдено
- Удалённая конечная точка отвечает на рукопожатие MCPНе проверялось
README
Открыть на GitHubcodeix
codeix.dev · Fast semantic code search for AI agents — find symbols, references, and callers across any codebase.
codeix # start MCP server, watch for changes
codeix build # parse source files, write .codeindex
codeix -r ~/project build # build from a specific directory
Why
AI coding agents spend most of their token budget finding code before they can work on it. They grep, read files, grep again, backtrack. On a large codebase the agent might burn thousands of tokens just locating the right function — or worse, miss it entirely and hallucinate.
Codeix gives the agent a pre-built map of your codebase. One structured query returns the symbol name, file, line range, signature, and parent — no scanning, no guessing.
What existing tools get wrong
| Problem | What happens today |
|---|---|
| No structure | grep finds text matches, not symbols. The agent can't distinguish a function definition from a comment mentioning it. |
| Slow re-parsing | Python-based indexers re-parse everything on startup. On large codebases, you wait. |
| Not shareable | Indexes are local caches — ephemeral, per-machine. A new developer or CI runner starts from scratch. |
| No composition | Monorepo with 10 packages? Dependencies with useful APIs? No way to query across boundaries. |
| Prose is invisible | TODOs, docstrings, error messages — searchable by grep but not selectively. You can't search only comments without also matching code. |
What codeix does differently
- Committed to git — the index is a
.codeindexdirectory you commit with your code. Clone the repo, the index is already there. No re-indexing. - Shareable — library authors can ship
.codeindexin their npm/PyPI/crates.io package. Consumers get instant navigation of dependencies. - Composable — the MCP server auto-discovers dependency indexes and mounts them. Query your code and your dependencies in one place.
- Structured for LLMs — symbols have kinds, signatures, parent relationships, and line ranges. The agent gets exactly what it needs in one tool call instead of piecing it together from raw text.
- Prose search —
search --scope texttargets comments, docstrings, and string literals specifically. Find TODOs, find the error message a user reported, find what a function's docstring says — without noise from code. - Fast — builds in seconds, queries in milliseconds. Rust + tree-sitter + in-memory SQLite FTS5 under the hood.
The .codeindex format
An open, portable format for structured code indexing. Plain JSONL files you commit alongside your code — git-friendly diffs, human-readable with grep and jq, no binary blobs.
.codeindex/
index.json # manifest: version, name, languages
files.jsonl # one line per source file (path, lang, hash, line count)
symbols.jsonl # one line per symbol (functions, classes, imports, with signatures)
texts.jsonl # one line per comment, docstring, string literal
Any tool that can parse JSON can consume a .codeindex. Codeix builds it using tree-sitter, and AI agents query it through MCP (Model Context Protocol).
Example — symbols.jsonl:
{"file":"src/main.py","name":"os","kind":"import","line":[1,1]}
{"file":"src/main.py","name":"Config","kind":"class","line":[22,45]}
{"file":"src/main.py","name":"Config.__init__","kind":"method","line":[23,30],"parent":"Config","sig":"def __init__(self, path: str, debug: bool = False)"}
{"file":"src/main.py","name":"main","kind":"function","line":[48,60],"sig":"def main(args: list[str]) -> int"}
Ship your index with your package
Include .codeindex in your package and every developer who depends on you gets instant navigation of your API — no setup, no re-indexing.
Works with Git repos, npm, PyPI, and crates.io.
MCP tools
Seven tools, zero setup. The agent queries immediately — no init, no config, no refresh.
| Tool | What it does |
|---|---|
explore |
Explore project structure: metadata, subprojects, files grouped by directory |
search |
Unified full-text search across symbols, files, and texts (FTS5, BM25-ranked) with scope/kind/path/project filters |
get_file_symbols |
List all symbols in a file |
get_children |
Get children of a class/module |
get_callers |
Find all places that call or reference a symbol |
get_callees |
Find all symbols that a function/method calls |
flush_index |
Flush pending index changes to disk |
Project discovery
Launch codeix from any directory. It walks downward and treats every directory containing .git/ as a separate project — each gets its own .codeindex.
Works uniformly for single repos, monorepos, sibling repos, and git submodules. No config needed.
Languages
Tree-sitter grammars, feature-gated at compile time:
| Language | Feature flag | Default | Extensions |
|---|---|---|---|
| Python | lang-python |
yes | .py .pyi .pyw |
| Rust | lang-rust |
yes | .rs |
| JavaScript | lang-javascript |
yes | .js .mjs .cjs .jsx |
| TypeScript | lang-typescript |
yes | .ts .mts .cts .tsx |
| Go | lang-go |
yes | .go |
| Java | lang-java |
yes | .java |
| C | lang-c |
yes | .c .h |
| C++ | lang-cpp |
yes | .cpp .cc .cxx .hpp .hxx |
| Ruby | lang-ruby |
yes | .rb .rake .gemspec |
| C# | lang-csharp |
yes | .cs |
| Markdown | lang-markdown |
yes | .md .markdown |
Markdown support
Markdown files are parsed for headings (both ATX # and Setext underline styles) which are indexed as section symbols with hierarchical parent-child relationships — enabling TOC extraction and document structure navigation.
Fenced code blocks are extracted as code text entries, parented to their containing section.
Embedded scripts
HTML, Vue, Svelte, and Astro files are preprocessed to extract embedded <script> blocks, which are then parsed with the JavaScript or TypeScript grammar:
| Format | Extensions | Script detection |
|---|---|---|
| HTML | .html .htm |
<script> tags, with optional lang="ts" |
| Vue | .vue |
<script> and <script setup>, with optional lang="ts" |
| Svelte | .svelte |
<script>, with optional lang="ts" |
| Astro | .astro |
--- frontmatter (always TypeScript) + optional <script> tags |
Line numbers in the index point to the original file, not the extracted script block.
Install
# npm / npx — run without installing
npx codeix
# pip / uvx — run without installing
uvx codeix
# Rust
cargo install codeix
# Homebrew
brew install codeix
# Or build from source
git clone https://github.com/montanetech/codeix.git
cd codeix
cargo build --release
All channels install the same single binary. No runtime dependencies.
Usage
# Build the index for the current project
codeix build
# Build from a specific directory (discovers all git repos below)
codeix -r ~/projects build
# Start MCP server (default command, watches for changes)
codeix
# Or explicitly
codeix serve
codeix serve --no-watch
# Serve from a specific directory
codeix -r ~/projects serve
MCP client configuration
Add to your MCP client config (e.g. Claude Desktop, Cursor):
{
"mcpServers": {
"codeix": {
"command": "codeix"
}
}
}
Design principles
- Local only — no network, no API keys, works offline and air-gapped
- Deterministic — same source always produces the same index (clean diffs)
- Composable — dependency indexes are auto-discovered and mounted at query time
- Minimal surface — 7 query tools, zero management plumbing
Architecture
See docs/architecture.md for the full set of architecture decision records.
License
MIT OR Apache-2.0
Вопросы о Codeix MCP
Как добавить Codeix MCP в Claude Code?
Выполните claude mcp add codeix -- npx -y codeix в терминале. Добавьте --scope user, чтобы сервер был доступен во всех проектах.
Как добавить Codeix MCP в Cursor?
Откройте ~/.cursor/mcp.json и добавьте сервер в mcpServers, используя конфигурацию Cursor из раздела установки выше.
Какие инструменты предоставляет Codeix MCP?
Он предоставляет 7 инструментов, включая explore, search, get_file_symbols, get_children, get_callers.
Как Codeix помогает AI-агентам для написания кода?
Он предоставляет готовую карту кодовой базы, позволяя агентам находить символы, сигнатуры и иерархические связи за один вызов инструмента вместо сканирования сырого текста.
Можно ли делиться индексом между разработчиками?
Да, индекс хранится в директории .codeindex, которую можно закоммитить в git, чтобы другие могли использовать его без повторного индексирования.
Требуется ли для Codeix интернет-соединение или API-ключи?
Нет, он разработан для локального использования, работает офлайн и в изолированных средах без необходимости сетевого доступа или API-ключей.