Skip to main content
Glama
mcp-server.md18.9 kB
# 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", "node_modules/**,dist/**"). Эти паттерны дополняют .gitignore и встроенные исключения. - `topFilesLength`: (Опциональный, по умолчанию: 10) Количество самых больших файлов по размеру для отображения в сводке метрик для анализа кодовой базы. **Пример:** ```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", "node_modules/**,dist/**"). Эти паттерны дополняют .gitignore и встроенные исключения. - `topFilesLength`: (Опциональный, по умолчанию: 10) Количество самых больших файлов по размеру для отображения в сводке метрик для анализа кодовой базы. **Пример:** ```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 для анализа кодовых баз, делая рабочие процессы анализа кода более эффективными.

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/yamadashy/repomix'

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