> ## 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.

# Server MCP

> Hubungkan klien AI ke sebuah proyek melalui server MCP-nya pada deployment Kubernetes.

Server MCP setiap proyek berjalan di layanan **web** (modul `mcp-server`) pada setiap pod Ayakaleaf Pro. Server ini hadir bersama [integrasi Git](https://ayakaleaf-pro.mintlify.site/id/on-premises/configuration/kubernetes/integrations/git-integration.md) dan tidak memiliki pengaturan sendiri. Cara menghubungkan Claude Code, Codex, dan klien lainnya dijelaskan di [Server MCP](https://ayakaleaf-pro.mintlify.site/id/on-premises/configuration/overleaf-toolkit/integrations/mcp-server.md).

| | |
| - | - |
| Layanan | web, di setiap pod Ayakaleaf Pro |
| Diaktifkan oleh | `GIT_BRIDGE_ENABLED: "true"` dan StatefulSet git-bridge, lihat [integrasi Git](https://ayakaleaf-pro.mintlify.site/id/on-premises/configuration/kubernetes/integrations/git-integration.md) |
| Luar → Overleaf | klien AI melakukan `POST ${OVERLEAF_SITE_URL}/project/<id>/mcp` dengan token autentikasi Git; tautan unduhan PDF di bawah `${OVERLEAF_SITE_URL}/project/<id>/mcp/download/` |
| Pod → luar | tidak ada |
| Status | tidak ada di antara permintaan; output kompilasi tetap berada di pod yang melakukan kompilasi |
| Tugas berkala | tidak ada |

### Konfigurasi

Siapkan [integrasi Git](https://ayakaleaf-pro.mintlify.site/id/on-premises/configuration/kubernetes/integrations/git-integration.md). Server MCP kemudian tersedia di `${OVERLEAF_SITE_URL}/project/<project id>/mcp`, dan alamat tersebut harus dapat dijangkau dari tempat klien AI berjalan.

### Beberapa replika

Kompilasi melalui MCP berjalan di replika yang menerima permintaan, dan log serta PDF-nya hanya ada di sana. Klien AI tidak mengirim cookie, sehingga load balancer dapat mengirim permintaan berikutnya, `get_compile_log` atau tautan unduhan PDF, ke replika lain, yang menjawab "failed to fetch output file from CLSI" atau 404. Dalam pengujian kami dengan tiga replika dan tanpa aturan tambahan, 5 dari 6 permintaan log dan 3 dari 4 unduhan gagal dengan cara ini.

Arahkan setiap permintaan MCP dari sebuah proyek ke satu replika, seperti untuk `/git/`. Dengan HAProxy dari [Penskalaan horizontal](https://ayakaleaf-pro.mintlify.site/id/on-premises/configuration/kubernetes/horizontal-scaling.md):

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

Semua kompilasi MCP kemudian berjalan di node `overleaf-0`. Dengan ingress controller lain, arahkan path `/project/<id>/mcp` dan semua yang ada di bawahnya ke nama milik satu replika (`overleaf-0.overleaf-hl`).

Dengan aturan ini, pengujian yang sama (satu kompilasi, 6 permintaan log, dan 4 unduhan PDF, semuanya tanpa cookie) berhasil setiap kali.

### Diuji di Kubernetes

Di Kubernetes 1.37 dengan tiga replika di belakang HAProxy, pengujian end-to-end kami untuk server MCP lulus (37 kasus): menampilkan daftar alat, token yang ditolak karena salah, dihapus, atau tanpa akses, kompilasi dan membaca log, jumlah kata, pengaturan dan riwayat proyek, tautan unduhan PDF, mengedit file dengan perubahan yang ditampilkan langsung di editor yang terbuka dan ditarik ke dalam clone Git, komentar, akses berdasarkan peran, batas laju kompilasi dan pengaturan, serta akun yang ditangguhkan. Permintaan ini berasal dari sesi browser, sehingga load balancer mempertahankannya di satu replika; untuk klien tanpa cookie, lihat [Beberapa replika](#beberapa-replika).


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