# OpenGrok MCP Server

Подключает ИИ-агента к индексу OpenGrok: поиск символов, чтение файлов, blame, историю коммитов и связи между вызовами. Пригодится для разбора больших кодовых баз.

- MCP-сервер · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 10
- Автор: IcyHot09
- Лицензия: не указана · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/IcyHot09/opengrok-mcp-server
- Обновлён: 2026-09-25
- HTML: https://affpapa.org/nevibecode/mcp/opengrok-mcp-server

## Что делает

OpenGrok MCP Server связывает MCP-клиент с OpenGrok через REST API и веб-запасной режим. Агент ищет код, находит файлы и символы, читает участки исходников, смотрит blame, историю файлов, различия, графы вызовов и зависимости.

В Code Mode сервер даёт инструменты `opengrok_api` и `opengrok_execute`: агент собирает несколько операций в один скрипт JavaScript, а промежуточные результаты остаются в песочнице. Состояние расследования можно хранить в `active-task.md` и `investigation-log.md`. Без URL OpenGrok, логина и пароля подключение не настроить.

## Требования
- Нужно: Node.js (команды через npx)
- Переменные окружения: `OPENGROK_BASE_URL`, `OPENGROK_USERNAME`, `OPENGROK_PASSWORD`, `OPENGROK_VERIFY_SSL`, `OPENGROK_CODE_MODE`, `OPENGROK_ENABLE_MEMORY_TOOLS`, `OPENGROK_DEFAULT_PROJECT`, `OPENGROK_CONTEXT_BUDGET`, `OPENGROK_API_VERSION`, `HTTP_PROXY` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.

## Установка

### Claude Code (родная платформа)

**Командой платформы**
```bash
claude mcp add --env OPENGROK_BASE_URL=<OPENGROK_BASE_URL> --env OPENGROK_USERNAME=<OPENGROK_USERNAME> --env OPENGROK_PASSWORD=<OPENGROK_PASSWORD> --env OPENGROK_VERIFY_SSL=<OPENGROK_VERIFY_SSL> --env OPENGROK_CODE_MODE=<OPENGROK_CODE_MODE> --transport stdio opengrok-mcp-server -- npx -y opengrok-mcp-server
```
Вместо <…> подставьте свои значения. Ещё 26 переменных окружения — в README сервера

### Codex

**Командой платформы**
```bash
codex mcp add opengrok-mcp-server --env OPENGROK_BASE_URL=<OPENGROK_BASE_URL> --env OPENGROK_USERNAME=<OPENGROK_USERNAME> --env OPENGROK_PASSWORD=<OPENGROK_PASSWORD> --env OPENGROK_VERIFY_SSL=<OPENGROK_VERIFY_SSL> --env OPENGROK_CODE_MODE=<OPENGROK_CODE_MODE> -- npx -y opengrok-mcp-server
```
Вместо <…> подставьте свои значения. Ещё 26 переменных окружения — в README сервера

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "opengrok-mcp-server": {
            "command": "npx",
            "args": [
                "-y",
                "opengrok-mcp-server"
            ],
            "env": {
                "OPENGROK_BASE_URL": "<OPENGROK_BASE_URL>",
                "OPENGROK_USERNAME": "<OPENGROK_USERNAME>",
                "OPENGROK_PASSWORD": "<OPENGROK_PASSWORD>",
                "OPENGROK_VERIFY_SSL": "<OPENGROK_VERIFY_SSL>",
                "OPENGROK_CODE_MODE": "<OPENGROK_CODE_MODE>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 26 переменных окружения — в README сервера

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "opengrok-mcp-server": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "opengrok-mcp-server"
            ],
            "env": {
                "OPENGROK_BASE_URL": "<OPENGROK_BASE_URL>",
                "OPENGROK_USERNAME": "<OPENGROK_USERNAME>",
                "OPENGROK_PASSWORD": "<OPENGROK_PASSWORD>",
                "OPENGROK_VERIFY_SSL": "<OPENGROK_VERIFY_SSL>",
                "OPENGROK_CODE_MODE": "<OPENGROK_CODE_MODE>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 26 переменных окружения — в README сервера

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add -e OPENGROK_BASE_URL=<OPENGROK_BASE_URL> -e OPENGROK_USERNAME=<OPENGROK_USERNAME> -e OPENGROK_PASSWORD=<OPENGROK_PASSWORD> -e OPENGROK_VERIFY_SSL=<OPENGROK_VERIFY_SSL> -e OPENGROK_CODE_MODE=<OPENGROK_CODE_MODE> opengrok-mcp-server npx -y opengrok-mcp-server
```
Вместо <…> подставьте свои значения. Ещё 26 переменных окружения — в README сервера

## Когда брать
- найти определения и ссылки на символ
- прочитать нужный участок большого файла
- проверить авторов и историю изменений
- проследить вызывающие компоненты
- разобрать связи между зависимостями

## Примеры запросов агенту
- Найди все вызовы функции `authenticate` и покажи файлы, где она используется.
- Прочитай реализацию `PaymentService`, затем проверь её историю изменений и авторов.
- Составь карту вызовов для метода `parseConfig` и сохрани вывод в `investigation-log.md`.

## Похожие
- [sverklo](https://affpapa.org/nevibecode/mcp/sverklo.md) — MCP-сервер · ★ 81
- [ccc](https://affpapa.org/nevibecode/skills/ccc.md) — скилл · 5900 установок
- [searching-sourcegraph](https://affpapa.org/nevibecode/skills/searching-sourcegraph.md) — скилл · 1400 установок
- [jevgrep](https://affpapa.org/nevibecode/skills/jevgrep.md) — скилл · 1300 установок
- [grepai-mcp-claude](https://affpapa.org/nevibecode/skills/grepai-mcp-claude.md) — скилл · 612 установок
- [file-search](https://affpapa.org/nevibecode/skills/file-search.md) — скилл · 521 установка

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
