> ## Documentation Index
> Fetch the complete documentation index at: https://ayakaleaf-pro.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# MCP-сервер

> Подключайте ИИ-клиентов к проекту через его MCP-сервер в развёртывании на Kubernetes.

MCP-сервер каждого проекта работает в сервисе **web** (модуль `mcp-server`) каждого пода Ayakaleaf Pro. Он входит в состав [интеграции с Git](https://ayakaleaf-pro.mintlify.site/ru/on-premises/configuration/kubernetes/integrations/git-integration.md) и не имеет собственных настроек. Как подключить Claude Code, Codex и другие клиенты, описано на странице [MCP-сервер](https://ayakaleaf-pro.mintlify.site/ru/on-premises/configuration/overleaf-toolkit/integrations/mcp-server.md).

| | |
| - | - |
| Сервис | web, в каждом поде Ayakaleaf Pro |
| Включается | `GIT_BRIDGE_ENABLED: "true"` и StatefulSet git-bridge, см. [Интеграция с Git](https://ayakaleaf-pro.mintlify.site/ru/on-premises/configuration/kubernetes/integrations/git-integration.md) |
| Извне → Overleaf | ИИ-клиенты выполняют `POST ${OVERLEAF_SITE_URL}/project/<id>/mcp` с токеном аутентификации Git; ссылки для скачивания PDF находятся в `${OVERLEAF_SITE_URL}/project/<id>/mcp/download/` |
| Под → вовне | нет |
| Состояние | между запросами не хранится; результаты компиляции остаются на поде, который выполнил компиляцию |
| Периодические задачи | нет |

### Настройка

Настройте [интеграцию с Git](https://ayakaleaf-pro.mintlify.site/ru/on-premises/configuration/kubernetes/integrations/git-integration.md). После этого MCP-сервер доступен по адресу `${OVERLEAF_SITE_URL}/project/<project id>/mcp`, и этот адрес должен быть доступен оттуда, где работает ИИ-клиент.

### Несколько реплик

Компиляция через MCP выполняется на реплике, получившей запрос, и её журнал и PDF существуют только там. ИИ-клиенты не отправляют cookie, поэтому балансировщик нагрузки может направить следующий запрос — `get_compile_log` или ссылку для скачивания PDF — на другую реплику, которая ответит «failed to fetch output file from CLSI» или 404. В нашем тесте с тремя репликами без дополнительного правила таким образом завершились ошибкой 5 из 6 запросов журнала и 3 из 4 скачиваний.

Направляйте все MCP-запросы проекта на одну реплику, как и для `/git/`. С HAProxy из раздела [Горизонтальное масштабирование](https://ayakaleaf-pro.mintlify.site/ru/on-premises/configuration/kubernetes/horizontal-scaling.md):

```text theme={null}
      use-server overleaf-0 if { path_reg ^/project/[0-9a-f]{24}/mcp(/|$) }
```

Тогда все MCP-компиляции выполняются на узле `overleaf-0`. С другим ingress-контроллером направляйте путь `/project/<id>/mcp` и всё, что под ним, на собственное имя одной реплики (`overleaf-0.overleaf-hl`).

С этим правилом тот же тест (компиляция, 6 запросов журнала и 4 скачивания PDF, все без cookie) каждый раз завершался успешно.

### Проверено на Kubernetes

В Kubernetes 1.37 с тремя репликами за HAProxy наши сквозные тесты MCP-сервера проходят (37 сценариев): получение списка инструментов, отклонение неверных, удалённых токенов или токенов без доступа, компиляция и чтение журнала, подсчёт слов, настройки и история проекта, ссылки для скачивания PDF, редактирование файлов с отображением изменений в реальном времени в открытом редакторе и их получением в Git-клоне, комментарии, доступ по ролям, ограничения частоты компиляций и изменения настроек, а также заблокированные учётные записи. Эти запросы поступали из сеанса браузера, поэтому балансировщик нагрузки удерживал их на одной реплике; о клиентах без cookie см. [Несколько реплик](#several-replicas).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.