---
title: "MCP-сервер"
description: "Запускайте Repomix как сервер Model Context Protocol, чтобы AI-ассистенты могли напрямую упаковывать, искать и читать локальные или удалённые кодовые базы."
---

# MCP-сервер

Repomix поддерживает [Model Context Protocol (MCP)](https://modelcontextprotocol.io), позволяя ИИ-ассистентам напрямую взаимодействовать с вашей кодовой базой. При запуске в качестве MCP-сервера Repomix предоставляет инструменты, которые позволяют ИИ-ассистентам упаковывать локальные или удалённые репозитории для анализа без необходимости ручной подготовки файлов.

> [!NOTE]
> Это экспериментальная функция, которую мы будем активно улучшать на основе отзывов пользователей и реального использования

## Запуск Repomix как MCP-сервера

Для запуска Repomix в качестве MCP-сервера используйте флаг `--mcp`:

```bash
repomix --mcp
```

Это запускает Repomix в режиме MCP-сервера, делая его доступным для ИИ-ассистентов, поддерживающих Model Context Protocol.

## Настройка MCP-серверов

Для использования Repomix в качестве MCP-сервера с ИИ-ассистентами, такими как Claude, вам нужно настроить параметры MCP:

### Для VS Code

Вы можете установить MCP-сервер Repomix в VS Code одним из следующих способов:

1. **Используя значок установки:**

  [![Install in VS Code](https://img.shields.io/badge/VS_Code-VS_Code?style=flat-square&label=Install%20Server&color=0098FF)](vscode:mcp/install?%7B%22name%22%3A%22repomix%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22repomix%22%2C%22--mcp%22%5D%7D)<br>
  [![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-VS_Code_Insiders?style=flat-square&label=Install%20Server&color=24bfa5)](vscode-insiders:mcp/install?%7B%22name%22%3A%22repomix%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22repomix%22%2C%22--mcp%22%5D%7D)

2. **Используя командную строку:**

  ```bash
  code --add-mcp '{"name":"repomix","command":"npx","args":["-y","repomix","--mcp"]}'
  ```

  Для VS Code Insiders:
  ```bash
  code-insiders --add-mcp '{"name":"repomix","command":"npx","args":["-y","repomix","--mcp"]}'
  ```

### Для Cline (расширение VS Code)

Отредактируйте файл `cline_mcp_settings.json`:

```json
{
  "mcpServers": {
    "repomix": {
      "command": "npx",
      "args": [
        "-y",
        "repomix",
        "--mcp"
      ]
    }
  }
}
```

### Для Cursor

В Cursor добавьте новый MCP-сервер из `Cursor Settings` > `MCP` > `+ Add new global MCP server` с конфигурацией, аналогичной Cline.

### Для Claude Desktop

Отредактируйте файл `claude_desktop_config.json` с конфигурацией, аналогичной конфигурации Cline.

### Для Claude Code

Настройте Repomix как MCP-сервер в [Claude Code](https://docs.anthropic.com/en/docs/claude-code/overview) с помощью следующей команды:

```bash
claude mcp add repomix -- npx -y repomix --mcp
```

Альтернативно вы можете использовать **официальные плагины Repomix** для более удобного опыта. Плагины предоставляют команды на естественном языке и упрощённую настройку. Подробнее см. в документации [Плагины Claude Code](/ru/guide/claude-code-plugins).

### Использование Docker вместо npx

Вместо npx вы также можете использовать Docker для запуска Repomix в качестве MCP-сервера:

```json
{
  "mcpServers": {
    "repomix-docker": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/yamadashy/repomix",
        "--mcp"
      ]
    }
  }
}
```

## Доступные MCP-инструменты

При запуске в качестве MCP-сервера Repomix предоставляет следующие инструменты:

### pack_codebase

Этот инструмент упаковывает локальную директорию кода в консолидированный XML-файл для анализа ИИ. Он анализирует структуру кодовой базы, извлекает релевантное содержимое кода и генерирует комплексный отчёт, включающий метрики, дерево файлов и отформатированное содержимое кода.

**Параметры:**

| Параметр | Обязательный | По умолчанию | Описание |
|----------|-------------|-------------|----------|
| `directory` | Да | — | Абсолютный путь к директории для упаковки |
| `compress` | Нет | `false` | Включить сжатие Tree-sitter для извлечения существенных сигнатур и структуры кода при удалении деталей реализации. Уменьшает использование токенов на ~70%, сохраняя семантическое значение. Обычно не требуется, так как `grep_repomix_output` позволяет инкрементальное получение содержимого. |
| `includePatterns` | Нет | — | Файлы для включения с помощью паттернов fast-glob. Через запятую (например, `"**/*.{js,ts}"`, `"src/**,docs/**"`) |
| `ignorePatterns` | Нет | — | Дополнительные файлы для исключения с помощью паттернов fast-glob. Через запятую (например, `"test/**,*.spec.js"`). Дополняют `.gitignore` и встроенные исключения. |
| `topFilesLength` | Нет | `10` | Количество самых больших файлов по размеру для отображения в сводке метрик |
| `style` | Нет | `xml` | Стиль формата вывода: `xml`, `markdown`, `json` или `plain` |

**Пример:**
```json
{
  "directory": "/path/to/your/project",
  "compress": false,
  "includePatterns": "src/**/*.ts,**/*.md",
  "ignorePatterns": "**/*.log,tmp/",
  "topFilesLength": 10
}
```

### pack_remote_repository

Этот инструмент получает, клонирует и упаковывает GitHub-репозиторий в консолидированный XML-файл для анализа ИИ. Он автоматически клонирует удалённый репозиторий, анализирует его структуру и генерирует комплексный отчёт.

**Параметры:**

| Параметр | Обязательный | По умолчанию | Описание |
|----------|-------------|-------------|----------|
| `remote` | Да | — | URL GitHub-репозитория или формат `user/repo` (например, `"yamadashy/repomix"`, `"https://github.com/user/repo"` или `"https://github.com/user/repo/tree/branch"`) |
| `compress` | Нет | `false` | Включить сжатие Tree-sitter для извлечения существенных сигнатур и структуры кода при удалении деталей реализации. Уменьшает использование токенов на ~70%, сохраняя семантическое значение. Обычно не требуется, так как `grep_repomix_output` позволяет инкрементальное получение содержимого. |
| `includePatterns` | Нет | — | Файлы для включения с помощью паттернов fast-glob. Через запятую (например, `"**/*.{js,ts}"`, `"src/**,docs/**"`) |
| `ignorePatterns` | Нет | — | Дополнительные файлы для исключения с помощью паттернов fast-glob. Через запятую (например, `"test/**,*.spec.js"`). Дополняют `.gitignore` и встроенные исключения. |
| `topFilesLength` | Нет | `10` | Количество самых больших файлов по размеру для отображения в сводке метрик |
| `style` | Нет | `xml` | Стиль формата вывода: `xml`, `markdown`, `json` или `plain` |

**Пример:**
```json
{
  "remote": "yamadashy/repomix",
  "compress": false,
  "includePatterns": "src/**/*.ts,**/*.md",
  "ignorePatterns": "**/*.log,tmp/",
  "topFilesLength": 10
}
```

### read_repomix_output

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

**Параметры:**

| Параметр | Обязательный | По умолчанию | Описание |
|----------|-------------|-------------|----------|
| `outputId` | Да | — | ID выходного файла Repomix для чтения |
| `startLine` | Нет | Начало файла | Начальный номер строки (с 1, включительно) |
| `endLine` | Нет | Конец файла | Конечный номер строки (с 1, включительно) |

**Возможности:**
- Специально разработан для веб-сред или изолированных приложений
- Извлекает содержимое ранее сгенерированных выходных файлов по их ID
- Обеспечивает безопасный доступ к упакованной кодовой базе без необходимости доступа к файловой системе
- Поддерживает частичное чтение для больших файлов

**Пример:**
```json
{
  "outputId": "8f7d3b1e2a9c6054",
  "startLine": 100,
  "endLine": 200
}
```

### grep_repomix_output

Этот инструмент ищет паттерны в выходном файле Repomix с использованием функциональности grep с синтаксисом JavaScript RegExp. Возвращает совпадающие строки с опциональными контекстными строками вокруг совпадений.

**Параметры:**

| Параметр | Обязательный | По умолчанию | Описание |
|----------|-------------|-------------|----------|
| `outputId` | Да | — | ID выходного файла Repomix для поиска |
| `pattern` | Да | — | Паттерн поиска (синтаксис регулярных выражений JavaScript RegExp) |
| `contextLines` | Нет | `0` | Количество контекстных строк для показа до и после каждого совпадения. Переопределяется `beforeLines`/`afterLines`, если указаны. |
| `beforeLines` | Нет | — | Строки для показа перед каждым совпадением (как `grep -B`). Имеет приоритет над `contextLines`. |
| `afterLines` | Нет | — | Строки для показа после каждого совпадения (как `grep -A`). Имеет приоритет над `contextLines`. |
| `ignoreCase` | Нет | `false` | Выполнять поиск без учёта регистра |

**Возможности:**
- Использует синтаксис JavaScript RegExp для мощного сопоставления паттернов
- Поддерживает контекстные строки для лучшего понимания совпадений
- Позволяет отдельно контролировать контекстные строки до/после
- Опции поиска с учётом и без учёта регистра

**Пример:**
```json
{
  "outputId": "8f7d3b1e2a9c6054",
  "pattern": "function\\s+\\w+\\(",
  "contextLines": 3,
  "ignoreCase": false
}
```

### file_system_read_file и file_system_read_directory

MCP-сервер Repomix предоставляет два инструмента файловой системы, которые позволяют ИИ-ассистентам безопасно взаимодействовать с локальной файловой системой:

1. `file_system_read_file`
  - Читает содержимое файла из локальной файловой системы по абсолютному пути
  - Включает встроенную проверку безопасности для обнаружения и предотвращения доступа к файлам с конфиденциальной информацией
  - Реализует проверку безопасности с помощью [Secretlint](https://github.com/secretlint/secretlint)
  - Предотвращает доступ к файлам с конфиденциальной информацией (API-ключи, пароли, секреты)
  - Проверяет абсолютные пути для предотвращения атак обхода директорий
  - Возвращает отформатированное содержимое с понятными сообщениями об ошибках для недопустимых путей или проблем безопасности

2. `file_system_read_directory`
  - Выводит содержимое директории по абсолютному пути
  - Возвращает отформатированный список, показывающий файлы и поддиректории с понятными индикаторами
  - Показывает файлы и директории с понятными индикаторами (`[FILE]` или `[DIR]`)
  - Обеспечивает безопасный обход директорий с правильной обработкой ошибок
  - Проверяет пути и гарантирует, что они абсолютные
  - Полезно для изучения структуры проекта и понимания организации кодовой базы

Оба инструмента включают надёжные меры безопасности:
- Проверка абсолютных путей для предотвращения атак обхода директорий
- Проверки прав доступа для обеспечения правильных прав
- Интеграция с Secretlint для обнаружения конфиденциальной информации
- Понятные сообщения об ошибках для лучшей отладки и осведомлённости о безопасности

**Пример:**
```typescript
// Чтение файла
const fileContent = await tools.file_system_read_file({
  path: '/absolute/path/to/file.txt'
});

// Вывод содержимого директории
const dirContent = await tools.file_system_read_directory({
  path: '/absolute/path/to/directory'
});
```

Эти инструменты особенно полезны, когда ИИ-ассистентам нужно:
- Анализировать конкретные файлы в кодовой базе
- Навигировать по структурам директорий
- Проверять существование и доступность файлов
- Обеспечивать безопасные операции с файловой системой

## Преимущества использования Repomix как MCP-сервера

Использование Repomix в качестве MCP-сервера предлагает несколько преимуществ:

1. **Прямая интеграция**: ИИ-ассистенты могут напрямую анализировать вашу кодовую базу без ручной подготовки файлов.
2. **Эффективный рабочий процесс**: Оптимизирует процесс анализа кода, устраняя необходимость вручную генерировать и загружать файлы.
3. **Согласованный вывод**: Гарантирует, что ИИ-ассистент получает кодовую базу в согласованном, оптимизированном формате.
4. **Продвинутые функции**: Использует все возможности Repomix, такие как сжатие кода, подсчёт токенов и проверки безопасности.

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

## Связанные ресурсы

- [Плагины Claude Code](/ru/guide/claude-code-plugins) - Удобная интеграция плагинов для Claude Code
- [Конфигурация](/ru/guide/configuration) - Настройка поведения Repomix
- [Параметры командной строки](/ru/guide/command-line-options) - Полная справка по CLI
- [Форматы вывода](/ru/guide/output) - Узнать о доступных форматах вывода
