Serveur MCP Codeix
Fournit aux agents IA une recherche sémantique de code rapide pour trouver des symboles, des références et des appelants à travers des bases de code via un format d'index portable.
Aussi connu sous montanetech/codeix
- Étoiles
- 9
- Outils
- 7
- Téléchargements, 30 jours
- 69
- Dernière version
- 0.5.0
- Dernier commit
- 21 févr. 2026
- Licence
- Apache-2.0
Qu'est-ce que Codeix MCP ?
Codeix est un serveur MCP. Fournit aux agents IA une recherche sémantique de code rapide pour trouver des symboles, des références et des appelants à travers des bases de code via un format d'index portable. Il expose 7 outils, comme explore, search, get_file_symbols.
Résumé généré à partir du README du projet
À propos du MCP server Codeix
Codeix permet aux agents de codage IA de trouver des fonctions ou des classes spécifiques au sein de bases de code volumineuses. Au lieu de forcer un agent à consommer des tokens en effectuant des recherches textuelles brutes (grep), ce serveur fournit une cartographie pré-établie de votre projet utilisant un format .codeindex portable. Cela permet aux agents de localiser instantanément des symboles, des signatures et des relations de parenté à travers plusieurs dépôts ou monorepos.
Les développeurs utilisent cet outil localement en exécutant la commande codeix pour construire un index, puis en le servant via MCP. Il ne nécessite aucune clé API ni accès réseau, ce qui le rend adapté aux environnements isolés. Le serveur utilise Rust et tree-sitter pour créer des données structurées incluant les types de symboles et les plages de lignes. Comme l'index est un ensemble de fichiers JSONL, il peut être versionné sur Git, permettant aux membres de l'équipe et aux runners CI d'utiliser le même index pré-construit sans avoir à re-parser le code source.
Grâce à sept outils spécifiques tels que get_callers et search, les agents peuvent naviguer dans des arbres de dépendances complexes. Le serveur prend même en charge la recherche textuelle pour cibler spécifiquement les docstrings et les commentaires, garantissant qu'un agent puisse trouver un TODO ou un message d'erreur sans être distrait par des correspondances de motifs de code.
Ce que vous pouvez faire avec
- 1Localiser des définitions et des signatures de fonctionsUn agent IA peut trouver la plage de lignes exacte et la signature d'une fonction spécifique pour comprendre comment l'appeler.
- 2Tracer les dépendances et les références de codeUn développeur peut demander à un agent d'identifier chaque emplacement dans une base de code qui appelle une méthode spécifique.
- 3Rechercher dans la documentation et les commentairesUn agent peut effectuer des recherches spécifiquement sur du texte dans les docstrings ou les commentaires pour trouver des notes d'implémentation ou des TODO.
- 4Naviguer dans les monorepos et les dépendancesUn agent peut interroger différents packages dans un monorepo ou même naviguer à travers les API des dépendances installées.
Extrait du README du projet. Chaque cas d'utilisation est vérifié par rapport à une citation du document.
Comment installer Codeix MCP
Formats vérifiés le 10 nov. 2026Ajouter à CursorAjouter à GooseInstaller Codeix MCP dans Claude Code
$ claude mcp add codeix -- npx -y codeixInstaller Codeix MCP dans Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"codeix": {
"command": "npx",
"args": [
"-y",
"codeix"
]
}
}
}Installer Codeix MCP dans VS Code
.vscode/mcp.json
{
"servers": {
"codeix": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"codeix"
]
}
}
}Installer Codeix MCP dans VS Code CLI
$ code --add-mcp '{"name":"codeix","type":"stdio","command":"npx","args":["-y","codeix"]}'Installer Codeix MCP dans Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"codeix": {
"command": "npx",
"args": [
"-y",
"codeix"
]
}
}
}Installer Codeix MCP dans Codex
$ codex mcp add codeix -- npx -y codeixInstaller Codeix MCP dans Codex config.toml
~/.codex/config.toml
[mcp_servers.codeix] command = "npx" args = ["-y", "codeix"]
Installer Codeix MCP dans Gemini CLI
$ gemini mcp add -s user codeix npx -- -y codeixInstaller Codeix MCP dans Gemini settings.json
~/.gemini/settings.json
{
"mcpServers": {
"codeix": {
"command": "npx",
"args": [
"-y",
"codeix"
]
}
}
}Outils MCP Codeix 7
Détectés depuis le READMEexploresearchget_file_symbolsget_childrenget_callersget_calleesflush_index
| explore | — | |
| search | — | |
| get_file_symbols | — | |
| get_children | — | |
| get_callers | — | |
| get_callees | — | |
| flush_index | — |
Vérifications automatisées
Exécuté le 14 nov. 2026Rapport complet →Pas encore vérifié. Un serveur nécessite un score de 80, aucune faille sérieuse et suffisamment de données pour que nous puissions effectuer les vérifications. Fonctionnement des vérifications · Ce qu'il faut corriger pour gagner des points
- Dépôt source lié et accessiblemontanetech/codeix is public and reachablegithub.com/montanetech/codeix ↗Réussi
- Le nom du package correspond au dépôt sourcecodeix, codeix name montanetech/codeix as sourcenpmjs.com/package/codeix ↗Réussi
- Provenance du build (attestation Sigstore)Sigstore attestation for codeix, codeixnpmjs.com/package/codeix/v/0.5.0#provenance ↗Réussi
- Licence open source (OSI)Apache-2.0spdx.org/licenses/Apache-2.0.html ↗Réussi
- Commit ou version publiée au cours de l'année écouléeLast commit or release 2026-02-21github.com/montanetech/codeix ↗Réussi
- OpenSSF ScorecardNon vérifié
- Nom du package non proche d'un package populairecodeix looks like @claude-flow/codexFaille
- Aucun avis critique dans le package ou ses dépendances1 resolved dependencies checked; no critical advisoryosv.dev ↗Réussi
- Aucune instruction cachée destinée au modèle7 tool descriptions and the README read; no override phrases, credential paths or hidden charactersRéussi
- Les outils destructifs sont étiquetésNo tool named like delete, drop or execRéussi
- Le point de terminaison distant répond à la poignée de main MCPNon vérifié
README
Voir sur 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
Questions sur Codeix MCP
Comment ajouter Codeix MCP à Claude Code ?
Exécutez claude mcp add codeix -- npx -y codeix dans votre terminal. Ajoutez --scope user pour le rendre disponible dans tous les projets.
Comment ajouter Codeix MCP à Cursor ?
Ouvrez ~/.cursor/mcp.json et ajoutez le serveur sous mcpServers, avec la configuration Cursor indiquée dans la section d'installation ci-dessus.
Quels outils Codeix MCP fournit-il ?
Il expose 7 outils, dont explore, search, get_file_symbols, get_children, get_callers.
Comment Codeix aide-t-il les agents de codage IA ?
Il fournit une cartographie pré-établie de la base de code, permettant aux agents de trouver des symboles, des signatures et des relations de parenté en un seul appel d'outil au lieu de scanner du texte brut.
L'index est-il partageable entre développeurs ?
Oui, l'index est stocké dans un répertoire .codeindex qui peut être versionné avec git, permettant ainsi aux autres de l'utiliser sans avoir à ré-indexer.
Codeix nécessite-t-il une connexion internet ou des clés API ?
Non, il est conçu pour fonctionner exclusivement en local, ce qui lui permet de fonctionner hors ligne et dans des environnements isolés (air-gapped) sans aucun besoin de réseau ou de clé API.