Skip to main content
Glama

AiDex

npm version MIT License Node.js 18+ MCP Server GitHub Discussions

Verschwenden Sie nicht 80% des Kontextfensters Ihrer KI mit der Suche nach Code.

AiDex ist ein MCP-Server, der KI-Programmierassistenten durch einen persistenten, vorgefertigten Index sofortigen Zugriff auf Ihre gesamte Codebasis ermöglicht. Funktioniert mit jedem MCP-kompatiblen KI-Assistenten: Claude Code, Claude Desktop, Cursor, Windsurf, Gemini CLI, VS Code Copilot und mehr.

AiDex Demo - grep vs aidex

AiDex Demo GIF

Was ist enthalten — 30 Tools in einem Server

Kategorie

Tools

Was es tut

Suche & Index

init, query, update, remove, status

Indizieren Sie Ihr Projekt, suchen Sie Bezeichner nach Namen (exakt/enthält/beginnt_mit), zeitbasierte Filterung

Signaturen

signature, signatures

Klassen + Methoden jeder Datei abrufen, ohne sie zu lesen — einzelne Datei oder Glob-Muster

Projektübersicht

summary, tree, describe, files

Einstiegspunkte, Sprachaufschlüsselung, Dateibaum mit Statistiken, Dateiauflistung nach Typ

Projektübergreifend

link, unlink, links, scan

Abhängigkeiten verknüpfen, indizierte Projekte entdecken

Globale Suche

global_init, global_query, global_signatures, global_status, global_refresh

Suchen Sie in ALLEN Ihren Projekten gleichzeitig — "Habe ich jemals X geschrieben?"

Richtlinien

global_guideline

Persistente KI-Anweisungen & Programmierkonventionen — projektübergreifend geteilt

Sitzungen

session, note

Sitzungen verfolgen, externe Änderungen erkennen, Notizen für die nächste Sitzung hinterlassen (mit durchsuchbarem Verlauf)

Aufgaben-Backlog

task, tasks

Integrierte Aufgabenverwaltung mit Prioritäten, Tags, automatisch protokolliertem Verlauf und geplanten/wiederkehrenden Aufgaben

Log Hub

log

Universeller Log-Empfänger — jedes Programm sendet Logs per HTTP, abfragbar durch die KI, live im Viewer

Screenshots

screenshot, windows

Plattformübergreifende Bildschirmaufnahme mit LLM-Optimierung — Skalierung + Farbreduzierung spart bis zu 95% Token

Viewer

viewer

Interaktive Browser-UI mit Dateibaum, Signaturen, Aufgaben, Logs und Live-Reload

11 Sprachen — C#, TypeScript, JavaScript, Rust, Python, C, C++, Java, Go, PHP, Ruby

# Find where "PlayerHealth" is defined — 1 call, ~50 tokens
aidex_query({ term: "PlayerHealth" })
→ Engine.cs:45, Player.cs:23, UI.cs:156

# All methods in a file — without reading the whole file
aidex_signature({ file: "src/Engine.cs" })
→ class GameEngine { Update(), Render(), LoadScene(), ... }

# What changed in the last 2 hours?
aidex_query({ term: "render", modified_since: "2h" })

# Search across ALL your projects at once
aidex_global_query({ term: "TransparentWindow", mode: "contains" })
→ Found in: LibWebAppGpu (3 hits), DebugViewer (1 hit)

# Leave a note for your next session
aidex_note({ path: ".", note: "Test the parser fix after restart" })

# Create a task while working
aidex_task({ path: ".", action: "create", title: "Fix edge case in parser", priority: 1, tags: "bug" })

Inhaltsverzeichnis

Das Problem

Jedes Mal, wenn Ihr KI-Assistent nach Code sucht:

  • Grept er durch Tausende von Dateien → Hunderte von Ergebnissen überfluten den Kontext

  • Liest er Datei für Datei, um die Struktur zu verstehen → mehr Kontext verbraucht

  • Vergisst er alles, wenn die Sitzung endet → Wiederholung von vorne

Eine einzige Frage wie "Wo ist X definiert?" kann über 2.000 Token verbrauchen. Wenn Sie das 10 Mal tun, haben Sie die Hälfte Ihres Kontextes allein für die Navigation verbrannt.

Die Lösung

Einmal indizieren, für immer abfragen:

# Before: grep flooding your context
AI: grep "PlayerHealth" → 200 hits in 40 files
AI: read File1.cs, File2.cs, File3.cs...
→ 2000+ tokens consumed, 5+ tool calls

# After: precise results, minimal context
AI: aidex_query({ term: "PlayerHealth" })
→ Engine.cs:45, Player.cs:23, UI.cs:156
→ ~50 tokens, 1 tool call

Ergebnis: 50-80% weniger Kontextverbrauch für die Codenavigation.

Warum nicht einfach Grep?

Grep/Ripgrep

AiDex

Kontextverbrauch

2000+ Token pro Suche

~50 Token

Ergebnisse

Alle Textübereinstimmungen

Nur Bezeichner

Präzision

log findet catalog, logarithm

log findet nur log

Persistenz

Startet jedes Mal neu

Index überdauert Sitzungen

Struktur

Flache Textsuche

Kennt Methoden, Klassen, Typen

Die wahren Kosten von Grep: Jedes Grep-Ergebnis enthält den umgebenden Kontext. Suchen Sie nach User in einem großen Projekt und Sie erhalten Hunderte von Treffern - Kommentare, Strings, Teilübereinstimmungen. Ihre KI liest sie alle durch und verbrennt Kontext-Token für Rauschen.

AiDex indiziert Bezeichner: Es verwendet Tree-sitter, um Ihren Code tatsächlich zu parsen. Wenn Sie nach User suchen, erhalten Sie die Klassendefinition, die Methodenparameter, die Variablendeklarationen - nicht jeden Kommentar, der "user" erwähnt.

Wie es funktioniert

  1. Indizieren Sie Ihr Projekt einmal (~1 Sekunde pro 1000 Dateien)

    aidex_init({ path: "/path/to/project" })
  2. KI durchsucht den Index anstatt zu greppen

    aidex_query({ term: "Calculate", mode: "starts_with" })
    → All functions starting with "Calculate" + exact line numbers
    
    aidex_query({ term: "Player", modified_since: "2h" })
    → Only matches changed in the last 2 hours
  3. Erhalten Sie Dateiübersichten, ohne ganze Dateien zu lesen

    aidex_signature({ file: "src/Engine.cs" })
    → All classes, methods, and their signatures

Der Index befindet sich in .aidex/index.db (SQLite) - schnell, portabel, keine externen Abhängigkeiten.

Funktionen

  • Tree-sitter Parsing: Echte Code-Analyse, kein Regex — indiziert Bezeichner, ignoriert Schlüsselwörter und Rauschen

  • ~50 Token pro Suche: vs 2000+ mit Grep — Ihre KI behält ihren Kontext für die eigentliche Arbeit

  • Persistenter Index: Überdauert Sitzungen — kein erneutes Scannen, kein erneutes Lesen

  • Inkrementelle Updates: Re-Indizierung einzelner Dateien nach Änderungen, nicht des gesamten Projekts

  • Zeitbasierte Filterung: Finden Sie, was sich in der letzten Stunde, dem letzten Tag oder der letzten Woche geändert hat

  • Automatische Bereinigung: Ausgeschlossene Dateien (z. B. Build-Ausgaben) werden automatisch aus dem Index entfernt

  • Null Abhängigkeiten: SQLite mit WAL-Modus — einzelne Datei, schnell, portabel

Unterstützte Sprachen

Sprache

Erweiterungen

C#

.cs

TypeScript

.ts, .tsx

JavaScript

.js, .jsx, .mjs, .cjs

Rust

.rs

Python

.py, .pyw

C

.c, .h

C++

.cpp, .cc, .cxx, .hpp, .hxx

Java

.java

Go

.go

PHP

.php

Ruby

.rb, .rake

Schnellstart

1. Installieren

npm install -g aidex-mcp

Das war's. Das Setup läuft nach der Installation automatisch — es erkennt Ihre installierten KI-Clients (Claude Code, Claude Desktop, Cursor, Windsurf, Gemini CLI, VS Code Copilot) und registriert AiDex als MCP-Server. Es fügt auch Nutzungshinweise zur Konfiguration Ihrer KI hinzu (~/.claude/CLAUDE.md, ~/.gemini/GEMINI.md).

Um das Setup manuell erneut auszuführen: aidex setup | Zum Aufheben der Registrierung: aidex unsetup | Um das automatische Setup zu überspringen: AIDEX_NO_SETUP=1 npm install -g aidex-mcp

2. Oder registrieren Sie sich manuell bei Ihrem KI-Assistenten

Für Claude Code (~/.claude/settings.json oder ~/.claude.json):

{
  "mcpServers": {
    "aidex": {
      "type": "stdio",
      "command": "aidex",
      "env": {}
    }
  }
}

Für Claude Desktop (%APPDATA%/Claude/claude_desktop_config.json unter Windows):

{
  "mcpServers": {
    "aidex": {
      "command": "aidex"
    }
  }
}

Hinweis: Sowohl aidex als auch aidex-mcp funktionieren als Befehlsnamen.

Wichtig: Der Servername in Ihrer Konfiguration bestimmt das MCP-Tool-Präfix. Verwenden Sie wie oben gezeigt "aidex" — dies gibt Ihnen Tool-Namen wie aidex_query, aidex_signature usw. Die Verwendung eines anderen Namens (z. B. "codegraph") würde das Präfix entsprechend ändern.

Für Gemini CLI (~/.gemini/settings.json):

{
  "mcpServers": {
    "aidex": {
      "command": "aidex"
    }
  }
}

Für VS Code Copilot (führen Sie MCP: Open User Configuration in der Befehlspalette aus):

{
  "servers": {
    "aidex": {
      "type": "stdio",
      "command": "aidex"
    }
  }
}

Für andere MCP-Clients: Siehe die Dokumentation Ihres Clients zur MCP-Serverkonfiguration.

3. Bringen Sie Ihre KI dazu, es tatsächlich zu nutzen

Fügen Sie dies zu den Anweisungen Ihrer KI hinzu (z. B. ~/.claude/CLAUDE.md für Claude Code oder das Äquivalent für Ihren KI-Client). Dies sagt der KI, wann und wie sie AiDex anstelle von Grep verwenden soll:

## AiDex - Persistent Code Index (MCP Server)

AiDex provides fast, precise code search through a pre-built index.
**Always prefer AiDex over Grep/Glob for code searches.**

### REQUIRED: Before using Grep/Glob/Read for code searches

Will ich Code durchsuchen? ├── .aidex/ existiert → STOPP! Verwende stattdessen AiDex ├── .aidex/ fehlt → führe aidex_init aus (nicht fragen), DANN verwende AiDex └── Config/Logs/Text → Grep/Lesen ist in Ordnung


**NEVER do this when .aidex/ exists:**
- ❌ `Grep pattern="functionName"` → ✅ `aidex_query term="functionName"`
- ❌ `Grep pattern="class.*Name"` → ✅ `aidex_query term="Name" mode="contains"`
- ❌ `Read file.cs` to see methods → ✅ `aidex_signature file="file.cs"`
- ❌ `Glob pattern="**/*.cs"` + Read → ✅ `aidex_signatures pattern="**/*.cs"`

### Session-Start Rule (REQUIRED — every session, no exceptions)

1. Call `aidex_session({ path: "<project>" })` — detects external changes, auto-reindexes
2. If `.aidex/` does NOT exist → run `aidex_init` automatically (don't ask)
3. If a session note exists → **show it to the user** before continuing
4. **Before ending a session:** always leave a note about what to do next

### Question → Right Tool

| Question | Tool |
|----------|------|
| "Where is X defined?" | `aidex_query term="X"` |
| "Find anything containing X" | `aidex_query term="X" mode="contains"` |
| "All functions starting with X" | `aidex_query term="X" mode="starts_with"` |
| "What methods does file Y have?" | `aidex_signature file="Y"` |
| "Explore all files in src/" | `aidex_signatures pattern="src/**"` |
| "Project overview" | `aidex_summary` + `aidex_tree` |
| "What changed recently?" | `aidex_query term="X" modified_since="2h"` |
| "What files changed today?" | `aidex_files path="." modified_since="8h"` |
| "Have I ever written X?" | `aidex_global_query term="X" mode="contains"` |
| "Which project has class Y?" | `aidex_global_signatures term="Y" kind="class"` |
| "All indexed projects?" | `aidex_global_status` |

### Search Modes

- **`exact`** (default): Finds only the exact identifier — `log` won't match `catalog`
- **`contains`**: Finds identifiers containing the term — `render` matches `preRenderSetup`
- **`starts_with`**: Finds identifiers starting with the term — `Update` matches `UpdatePlayer`, `UpdateUI`

### All Tools (30)

| Category | Tools | Purpose |
|----------|-------|---------|
| Search & Index | `aidex_init`, `aidex_query`, `aidex_update`, `aidex_remove`, `aidex_status` | Index project, search identifiers (exact/contains/starts_with), time filter |
| Signatures | `aidex_signature`, `aidex_signatures` | Get classes + methods without reading files |
| Overview | `aidex_summary`, `aidex_tree`, `aidex_describe`, `aidex_files` | Entry points, file tree, file listing by type |
| Cross-Project | `aidex_link`, `aidex_unlink`, `aidex_links`, `aidex_scan` | Link dependencies, discover projects |
| Global Search | `aidex_global_init`, `aidex_global_query`, `aidex_global_signatures`, `aidex_global_status`, `aidex_global_refresh` | Search across ALL projects |
| Guidelines | `aidex_global_guideline` | Persistent AI instructions & conventions (key-value, global) |
| Sessions | `aidex_session`, `aidex_note` | Track sessions, leave notes (with searchable history) |
| Tasks | `aidex_task`, `aidex_tasks` | Built-in backlog with priorities, tags, summaries, auto-logged history, scheduled/recurring tasks |
| Log Hub | `aidex_log` | Universal log receiver — any program sends logs via HTTP, AI queries them, live in Viewer |
| Screenshots | `aidex_screenshot`, `aidex_windows` | Screen capture with LLM optimization (scale + color reduction, no index needed) |
| Viewer | `aidex_viewer` | Interactive browser UI with file tree, signatures, tasks, and live logs |

**11 languages:** C#, TypeScript, JavaScript, Rust, Python, C, C++, Java, Go, PHP, Ruby

### Session Notes

Leave notes for the next session — they persist in the database:

aidex_note({ path: ".", note: "Test the fix after restart" }) # Schreiben aidex_note({ path: ".", note: "Also check edge cases", append: true }) # Anhängen aidex_note({ path: "." }) # Lesen aidex_note({ path: ".", search: "parser" }) # Verlauf durchsuchen aidex_note({ path: ".", clear: true }) # Löschen

- **Before ending a session:** automatically leave a note about next steps
- **User says "remember for next session: ..."** → write it immediately

### Task Backlog

Track TODOs, bugs, and features right next to your code index:

aidex_task({ path: ".", action: "create", title: "Fix bug", priority: 1, tags: "bug" }) aidex_task({ path: ".", action: "update", id: 1, status: "done" }) aidex_task({ path: ".", action: "log", id: 1, note: "Root cause found" }) aidex_tasks({ path: ".", status: "active" })

Geplante & wiederkehrende Aufgaben

aidex_task({ path: ".", action: "create", title: "Check PR status", due: "3d", interval: "3d", task_action: "gh pr list" })

Priority: 1=high, 2=medium, 3=low | Status: `backlog → active → done | cancelled`

### Global Search (across all projects)

aidex_global_init({ path: "/path/to/all/repos" }) # Scannen & registrieren aidex_global_init({ path: "...", index_unindexed: true }) # + kleine Projekte automatisch indizieren aidex_global_query({ term: "TransparentWindow", mode: "contains" }) # Überall suchen aidex_global_signatures({ term: "Render", kind: "method" }) # Methoden überall finden aidex_global_status({ sort: "recent" }) # Alle Projekte auflisten


### Screenshots

aidex_screenshot() # Vollbild aidex_screenshot({ mode: "active_window" }) # Aktives Fenster aidex_screenshot({ mode: "window", window_title: "VS Code" }) # Bestimmtes Fenster aidex_screenshot({ scale: 0.5, colors: 2 }) # S/W, halbe Größe (ideal für LLM) aidex_screenshot({ colors: 16 }) # 16 Farben (UI lesbar) aidex_windows({ filter: "chrome" }) # Fenstertitel finden

No index needed. Returns file path → use `Read` to view immediately.

**LLM optimization strategy:** Always start with aggressive settings, then retry if unreadable:
1. First try: `scale: 0.5, colors: 2` (B&W, half size — smallest possible)
2. If unreadable: retry with `colors: 16` (adds shading for UI elements)
3. If still unclear: `scale: 0.75` or omit `colors` for full quality
4. **Remember** what works for each window/app during the session — don't retry every time.

4. Indizieren Sie Ihr Projekt

Fragen Sie Ihre KI: "Indiziere dieses Projekt mit AiDex"

Oder manuell im KI-Chat:

aidex_init({ path: "/path/to/your/project" })

Verfügbare Tools

Tool

Beschreibung

aidex_init

Projekt indizieren (erstellt .aidex/)

aidex_query

Nach Begriff suchen (exakt/enthält/beginnt_mit)

aidex_signature

Klassen + Methoden einer Datei abrufen

aidex_signatures

Signaturen für mehrere Dateien abrufen (Glob)

aidex_update

Einzelne geänderte Datei neu indizieren

aidex_remove

Gelöschte Datei aus dem Index entfernen

aidex_summary

Projektübersicht

aidex_tree

Dateibaum mit Statistiken

aidex_describe

Dokumentation zur Zusammenfassung hinzufügen

aidex_link

Ein weiteres indiziertes Projekt verknüpfen

aidex_unlink

Verknüpftes Projekt entfernen

aidex_links

Verknüpfte Projekte auflisten

aidex_status

Index-Statistiken

aidex_scan

Indizierte Projekte im Verzeichnisbaum finden

aidex_files

Projektdateien nach Typ auflisten (Code/Config/Doc/Asset)

aidex_note

Sitzungsnotizen lesen/schreiben (bleiben zwischen Sitzungen erhalten)

aidex_session

Sitzung starten, externe Änderungen erkennen, automatisch neu indizieren

aidex_viewer

Interaktiven Projektbaum im Browser öffnen

aidex_task

Aufgaben mit Priorität und Tags erstellen, lesen, aktualisieren, löschen

aidex_tasks

Aufgaben nach

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - A tier

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/CSCSoftware/AiDex'

If you have feedback or need assistance with the MCP directory API, please join our Discord server