Skip to main content
Glama
repo-explorer-mcp

repo-explorer-mcp

by kwitsch

repo-explorer-mcp

Ein Rust-MCP-Server, der das explore_repository-Tool über einen rmcp-stdio-Transport bereitstellt, ausgeliefert für Linux (x86_64-unknown-linux-gnu) und Windows (x86_64-pc-windows-msvc). Er steuert eine interne LLM-Erkundungsschleife über ein codebase-memory-mcp-Backend und ripgrep/rtk-Textsuche.

Installation (empfohlen: npx-Setupskript)

Das Setupskript erkennt Ihr Betriebssystem/Ihre Architektur, prüft/installiert Laufzeitabhängigkeiten, lädt das passende Release-Archiv herunter und verifiziert dessen Prüfsumme, installiert die Binärdatei, meldet den PATH-Status und gibt einen gebrauchsfertigen .mcp.json-Ausschnitt aus.

npx github:kwitsch/repo-explorer-mcp
# After the package is published to npm:
# npx repo-explorer-mcp-setup

Flags:

  • -y, --yes — nicht interaktiv; Abhängigkeitsinstallationen automatisch genehmigen.

  • --force — Neuinstallation, auch wenn bereits eine aktuelle Binärdatei vorhanden ist.

  • --version <x.y.z> — eine bestimmte Version installieren (Standard: neueste).

  • -h, --help — Verwendung.

Das Skript installiert in ~/.local/bin (Linux) oder %LOCALAPPDATA%\repo-explorer-mcp (Windows). Es bearbeitet niemals Ihr Shell-Profil oder den System-PATH – es meldet nur, ob das Installationsverzeichnis im PATH liegt. ripgrep wird automatisch über apt/dnf/pacman unter Linux oder winget unter Windows installiert; falls keines davon verfügbar ist, warnt das Skript und verweist auf die Installationsdokumentation von ripgrep, anstatt es selbst zu installieren. rtk und codebase-memory-mcp sind nur meldend: Wenn sie fehlen, teilt das Skript Ihnen dies mit und verweist auf deren Upstream-Installationsdokumentation (rtk ist optional; die Suche fällt auf einfaches ripgrep zurück).

Related MCP server: mnemo

Installation (manuelles Fallback)

Aus dem Quellcode bauen:

cargo build --release --workspace
# binary at target/release/repo-explorer-mcp

Oder laden Sie ein Release-Archiv und seine Prüfsumme herunter, verifizieren Sie es und platzieren Sie die Binärdatei im PATH (siehe docs/smoke-test.md für die Verifikationsbefehle). Release-Assets folgen dem festgelegten Namensvertrag:

repo-explorer-mcp-<version>-x86_64-unknown-linux-gnu.tar.gz (+ .sha256)
repo-explorer-mcp-<version>-x86_64-pc-windows-msvc.zip       (+ .sha256)

von https://github.com/kwitsch/repo-explorer-mcp/releases.

Überprüfen Sie die Version:

repo-explorer-mcp --version # prints: repo-explorer-mcp 0.1.0

Konfiguration

Der Server liest eine TOML-Konfiguration. Pfadpriorität: --config <path> → Umgebungsvariable REPO_EXPLORER_CONFIG → ./repo-explorer.toml. Das Arbeitsverzeichnis beim Start wird als Repository-Stammverzeichnis für die Erkundung behandelt.

Beispiel repo-explorer.toml:

[llm]
# Failover cooldown after a provider errors, in seconds.
cooldown_seconds = 90

# Providers are tried in file order (= failover order).
[[llm.providers]]
name = "primary"
kind = "anthropic"
api_key_env = "ANTHROPIC_API_KEY"   # names an env var; never the key itself
model = "claude-sonnet-4"

[[llm.providers]]
name = "secondary"
kind = "openai"
api_key_env = "OPENAI_API_KEY"
model = "gpt-4o"

# Exactly one of `command`+`args` (stdio) XOR `endpoint` (network).
[codebase_memory]
command = "codebase-memory-mcp"
args = ["--stdio"]

[search]
prefer_rtk = false        # true prefers `rtk rg`; false uses plain ripgrep
timeout_seconds = 45
# rtk_path / ripgrep_path may be set explicitly; omitted => auto-detected on PATH.

[logging]
level = "info"            # trace | debug | info | warn | error

Die von jedem api_key_env benannte Umgebungsvariable muss tatsächlich in der Umgebung gesetzt sein, sonst schlägt das Laden der Konfiguration mit MissingEnvVar fehl.

.mcp.json

Form der installierten Binärdatei (was das Setupskript ausgibt):

{
  "mcpServers": {
    "repo-explorer": {
      "command": "/home/you/.local/bin/repo-explorer-mcp",
      "args": [],
      "env": {}
    }
  }
}

Unter Windows lautet der command %LOCALAPPDATA%\\repo-explorer-mcp\\repo-explorer-mcp.exe. Fügen Sie "--config", "<path>" zu args hinzu, wenn sich Ihre repo-explorer.toml nicht im Start-Arbeitsverzeichnis befindet. Die Entwicklungsform im Repository startet stattdessen über cargo run --release --quiet -p repo-explorer-mcp --.

Build & Test

cargo build --workspace
cargo test --workspace
cargo clippy --all-targets -- -D warnings
cargo fmt --check

Fehlerbehebung

Das Laden der Konfiguration schlägt schnell mit einem benannten Fehler fehl:

Fehler

Ursache

Behebung

EmptyProviderList

llm.providers ist leer

Fügen Sie mindestens ein [[llm.providers]] hinzu.

DuplicateProviderName

Zwei Anbieter teilen sich einen name

Machen Sie jeden Anbieter-name eindeutig.

MissingEnvVar

Ein api_key_env benennt eine nicht gesetzte Variable

exportieren Sie die benannte Variable vor dem Start.

MissingCodebaseMemoryConnection

Weder command noch endpoint gesetzt

Setzen Sie genau eines unter [codebase_memory].

ConflictingCodebaseMemoryConnection

Sowohl command als auch endpoint gesetzt

Behalten Sie genau eines.

Siehe docs/smoke-test.md für die End-to-End-Überprüfung eines heruntergeladenen Release-Artefakts.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Enables read-only querying of a local repository through a deterministic tree-sitter symbol and edge graph, exposing keyword search with exact file:line hits, regex text search, per-file symbol skeletons, caller/callee traversal, and directory-level maps of clusters, hubs, and hotspots over stdio.
    10
    166 npm
    1
    Apache 2.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    Serves local-first project memory over stdio, exposing tools to inspect project state, search and retrieve context, report memory, and create Git-aware checkpoints for coding agents.
    1
    Apache 2.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables MCP clients such as Claude Desktop and Claude Code to query an indexed source repository through path-guarded tools for hybrid keyword-and-vector code search, file snippets, symbol explanations, reference lookups, and test-skeleton suggestions. Serves those results over stdio with cited file:line locations so agents can answer questions about a codebase and drive grounded code review.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables coding agents to find code by behavior across an authorized repository, returning exact source excerpts with paths and line numbers. It exposes a single semantic search tool over stdio so agents can locate relevant code without knowing file names or symbols.
    234 npm
    1
    MIT