Codeix MCP server
Memberikan kemampuan semantic code search yang cepat bagi AI agent untuk menemukan symbol, reference, dan caller di seluruh codebase menggunakan format index yang portable.
Juga dikenal sebagai montanetech/codeix
- Stars
- 9
- Tools
- 7
- Unduhan, 30 hari
- 69
- Versi terbaru
- 0.5.0
- Commit terakhir
- 21 Feb 2026
- Lisensi
- Apache-2.0
Apa itu Codeix MCP?
Codeix adalah MCP server. Memberikan kemampuan semantic code search yang cepat bagi AI agent untuk menemukan symbol, reference, dan caller di seluruh codebase menggunakan format index yang portable. Server ini menyediakan 7 tool, seperti explore, search, get_file_symbols.
Ringkasan dibuat dari README proyek
Tentang Codeix MCP server
Codeix memungkinkan AI coding agent untuk menemukan fungsi atau class spesifik dalam codebase yang besar. Alih-alih memaksa agent menghabiskan token untuk melakukan grepping pada raw text, MCP server ini menyediakan peta proyek Anda yang sudah jadi menggunakan format .codeindex yang portable. Hal ini memungkinkan agent untuk secara instan menemukan symbol, signature, dan hubungan parent di berbagai repository atau monorepo.
Developer dapat menggunakan tool ini secara lokal dengan menjalankan command codeix untuk membangun index dan kemudian menyajikannya via MCP. Tool ini tidak memerlukan API keys atau akses jaringan, sehingga sangat cocok untuk lingkungan air-gapped. Server ini menggunakan Rust dan tree-sitter untuk membuat data terstruktur yang mencakup symbol kinds dan line ranges. Karena index berupa kumpulan file JSONL, file tersebut dapat di-commit ke Git, memungkinkan anggota tim dan CI runners menggunakan index yang sama tanpa harus melakukan parsing ulang pada source code.
Melalui tujuh tool spesifik seperti get_callers dan search, agent dapat menavigasi dependency tree yang kompleks. Server ini bahkan mendukung prose search untuk menargetkan docstrings dan komentar secara spesifik, memastikan agent dapat menemukan TODO atau pesan error tanpa terganggu oleh pola kode yang serupa.
Apa yang bisa Anda lakukan dengannya
- 1Menemukan definisi fungsi dan signatureAI agent dapat menemukan line range dan signature yang tepat dari fungsi tertentu untuk memahami cara memanggilnya.
- 2Melacak dependency code dan referenceDeveloper dapat meminta agent untuk mengidentifikasi setiap lokasi dalam codebase yang memanggil method tertentu.
- 3Mencari melalui dokumentasi dan komentarAgent dapat melakukan pencarian khusus pada teks di dalam docstrings atau komentar untuk menemukan catatan implementasi atau TODO.
- 4Menavigasi monorepo dan dependencyAgent dapat melakukan query di berbagai package dalam sebuah monorepo atau bahkan menavigasi melalui API dari dependency yang terinstall.
Ditulis berdasarkan README proyek. Setiap use case diperiksa terhadap kutipan dari README tersebut.
Cara menginstal Codeix MCP
Format diverifikasi 10 Nov 2026Tambahkan ke CursorTambahkan ke GooseInstal Codeix MCP di Claude Code
$ claude mcp add codeix -- npx -y codeixInstal Codeix MCP di Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"codeix": {
"command": "npx",
"args": [
"-y",
"codeix"
]
}
}
}Instal Codeix MCP di VS Code
.vscode/mcp.json
{
"servers": {
"codeix": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"codeix"
]
}
}
}Instal Codeix MCP di VS Code CLI
$ code --add-mcp '{"name":"codeix","type":"stdio","command":"npx","args":["-y","codeix"]}'Instal Codeix MCP di Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"codeix": {
"command": "npx",
"args": [
"-y",
"codeix"
]
}
}
}Instal Codeix MCP di Codex
$ codex mcp add codeix -- npx -y codeixInstal Codeix MCP di Codex config.toml
~/.codex/config.toml
[mcp_servers.codeix] command = "npx" args = ["-y", "codeix"]
Instal Codeix MCP di Gemini CLI
$ gemini mcp add -s user codeix npx -- -y codeixInstal Codeix MCP di Gemini settings.json
~/.gemini/settings.json
{
"mcpServers": {
"codeix": {
"command": "npx",
"args": [
"-y",
"codeix"
]
}
}
}Tool Codeix MCP 7
Terdeteksi dari READMEexploresearchget_file_symbolsget_childrenget_callersget_calleesflush_index
| explore | — | |
| search | — | |
| get_file_symbols | — | |
| get_children | — | |
| get_callers | — | |
| get_callees | — | |
| flush_index | — |
Pengecekan otomatis
Berjalan 14 Nov 2026Laporan lengkap →Belum diverifikasi. Sebuah server memerlukan skor 80, tidak ada temuan serius, dan data yang cukup untuk kami periksa. Cara kerja checks · Yang perlu diperbaiki untuk menambah poin
- Source repository terhubung dan dapat dijangkaumontanetech/codeix is public and reachablegithub.com/montanetech/codeix ↗Lolos
- Nama paket mencantumkan repositori ini sebagai sumbernyacodeix, codeix name montanetech/codeix as sourcenpmjs.com/package/codeix ↗Lolos
- Provenance build (atestasi Sigstore)Sigstore attestation for codeix, codeixnpmjs.com/package/codeix/v/0.5.0#provenance ↗Lolos
- Lisensi open source (OSI)Apache-2.0spdx.org/licenses/Apache-2.0.html ↗Lolos
- Ada commit atau release dalam satu tahun terakhirLast commit or release 2026-02-21github.com/montanetech/codeix ↗Lolos
- OpenSSF ScorecardTidak diperiksa
- Nama package tidak mirip dengan package populercodeix looks like @claude-flow/codexTemuan
- Tidak ada advisory kritis pada paket atau dependensinya1 resolved dependencies checked; no critical advisoryosv.dev ↗Lolos
- Tidak ada instruksi tersembunyi untuk model7 tool descriptions and the README read; no override phrases, credential paths or hidden charactersLolos
- Tools yang bersifat destruktif telah diberi labelNo tool named like delete, drop or execLolos
- Endpoint remote merespons handshake MCPTidak diperiksa
README
Lihat di 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
Pertanyaan tentang Codeix MCP
Bagaimana cara menambahkan Codeix MCP ke Claude Code?
Jalankan claude mcp add codeix -- npx -y codeix di terminal Anda. Tambahkan --scope user agar tersedia di semua proyek.
Bagaimana cara menambahkan Codeix MCP ke Cursor?
Buka ~/.cursor/mcp.json dan tambahkan server di bawah mcpServers, menggunakan config Cursor yang ditunjukkan di bagian instalasi di atas.
Tool apa yang disediakan Codeix MCP?
Server ini menyediakan 7 tool, termasuk explore, search, get_file_symbols, get_children, get_callers.
Bagaimana Codeix membantu AI coding agent?
Codeix menyediakan peta codebase yang sudah jadi, sehingga agent dapat menemukan symbol, signature, dan hubungan parent dalam satu tool call tanpa harus memindai raw text.
Apakah index ini bisa dibagikan antar developer?
Ya, index disimpan dalam direktori .codeindex yang dapat di-commit ke git, sehingga developer lain bisa langsung menggunakannya tanpa perlu melakukan re-indexing.
Apakah Codeix memerlukan koneksi internet atau API keys?
Tidak, tool ini dirancang untuk penggunaan lokal saja, dapat bekerja secara offline dan di lingkungan air-gapped tanpa memerlukan jaringan atau API key apa pun.