Skip to main content
Glama
kwitsch

repo-explorer-mcp

by kwitsch

repo-explorer-mcp

Rust MCP-сервер, который предоставляет инструмент explore_repository через транспорт rmcp stdio, поставляется для Linux (x86_64-unknown-linux-gnu) и Windows (x86_64-pc-windows-msvc). Он запускает внутренний цикл исследования LLM поверх бэкенда codebase-memory-mcp и текстового поиска ripgrep/rtk.

Установка (рекомендуется: скрипт установки npx)

Скрипт установки определяет вашу ОС/архитектуру, проверяет/устанавливает зависимости времени выполнения, загружает и проверяет контрольную сумму соответствующего архива релиза, устанавливает бинарный файл, сообщает статус PATH и выводит готовый к использованию фрагмент .mcp.json.

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

Флаги:

  • -y, --yes — неинтерактивный режим; автоматическое подтверждение установки зависимостей.

  • --force — переустановка, даже если актуальный бинарный файл уже присутствует.

  • --version <x.y.z> — установка конкретного релиза (по умолчанию: последний).

  • -h, --help — справка.

Скрипт устанавливает в ~/.local/bin (Linux) или %LOCALAPPDATA%\repo-explorer-mcp (Windows). Он никогда не редактирует ваш профиль оболочки или системный PATH — он только сообщает, находится ли каталог установки в PATH. ripgrep устанавливается автоматически через apt/dnf/pacman на Linux или winget на Windows; если ни один из них недоступен, скрипт предупреждает и указывает на собственную документацию по установке ripgrep, а не устанавливает его сам. rtk и codebase-memory-mcp только сообщаются: если они отсутствуют, скрипт сообщает вам и указывает на их вышестоящую документацию по установке (rtk необязателен; поиск возвращается к обычному ripgrep).

Related MCP server: mnemo

Установка (ручной запасной вариант)

Сборка из исходного кода:

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

Или загрузите архив релиза и его контрольную сумму, проверьте и поместите бинарный файл в PATH (см. docs/smoke-test.md для команд проверки). Артефакты релиза следуют зафиксированному соглашению об именовании:

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

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

Проверьте версию:

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

Конфигурация

Сервер читает конфигурацию TOML. Приоритет путей: --config <path> → переменная окружения REPO_EXPLORER_CONFIG → ./repo-explorer.toml. Рабочий каталог запуска рассматривается как корень репозитория для исследования.

Пример 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

Переменная окружения, указанная в каждом api_key_env, должна быть фактически установлена в окружении, иначе загрузка конфигурации завершится ошибкой MissingEnvVar.

.mcp.json

Форма установленного бинарного файла (то, что выводит скрипт установки):

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

В Windows command — это %LOCALAPPDATA%\\repo-explorer-mcp\\repo-explorer-mcp.exe. Добавьте "--config", "<path>" в args, если ваш repo-explorer.toml не находится в рабочем каталоге запуска. Форма разработки внутри репозитория вместо этого запускается через cargo run --release --quiet -p repo-explorer-mcp --.

Сборка и тестирование

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

Устранение неполадок

Загрузка конфигурации быстро завершается ошибкой с именем:

Ошибка

Причина

Исправление

EmptyProviderList

llm.providers пуст

Добавьте хотя бы один [[llm.providers]].

DuplicateProviderName

Два провайдера имеют одинаковый name

Сделайте name каждого провайдера уникальным.

MissingEnvVar

api_key_env указывает на неустановленную переменную

export указанной переменной перед запуском.

MissingCodebaseMemoryConnection

Ни command, ни endpoint не заданы

Задайте ровно один в [codebase_memory].

ConflictingCodebaseMemoryConnection

Заданы и command, и endpoint

Оставьте ровно один.

См. docs/smoke-test.md для сквозной проверки загруженного артефакта релиза.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    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
    269 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
    B
    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.
    13 npm
    1
    MIT