Skip to main content
Il server MCP di ogni progetto viene eseguito nel servizio web (il modulo mcp-server) di ogni pod di Ayakaleaf Pro. Viene fornito con l’integrazione Git e non ha impostazioni proprie. Come collegare Claude Code, Codex e altri client è descritto in Server MCP.

Configurazione

Configura l’integrazione Git. Il server MCP si trova quindi in ${OVERLEAF_SITE_URL}/project/<project id>/mcp, e l’indirizzo deve essere raggiungibile dal punto in cui viene eseguito il client AI.

Più repliche

Una compilazione tramite MCP viene eseguita sulla replica che ha ricevuto la richiesta, e il suo log e il suo PDF esistono solo lì. I client AI non inviano cookie, quindi il load balancer può inviare la richiesta successiva, get_compile_log o il link di download del PDF, a un’altra replica, che risponde “failed to fetch output file from CLSI” o 404. Nel nostro test con tre repliche e senza regole aggiuntive, 5 richieste di log su 6 e 3 download su 4 sono falliti in questo modo. Instrada tutte le richieste MCP di un progetto verso un’unica replica, come per /git/. Con HAProxy da Scalabilità orizzontale:
Tutte le compilazioni MCP vengono quindi eseguite sul nodo di overleaf-0. Con un altro ingress controller, instrada il percorso /project/<id>/mcp e tutto ciò che si trova al di sotto verso il nome proprio di una replica (overleaf-0.overleaf-hl). Con questa regola, lo stesso test (una compilazione, 6 richieste di log e 4 download di PDF, tutti senza cookie) è riuscito ogni volta.

Testato su Kubernetes

Su Kubernetes 1.37 con tre repliche dietro HAProxy, i nostri test end-to-end per il server MCP vengono superati (37 casi): elenco degli strumenti, token rifiutati quando errati, eliminati o senza accesso, compilazione e lettura del log, conteggio delle parole, impostazioni e cronologia del progetto, link di download dei PDF, modifica dei file con le modifiche mostrate in tempo reale nell’editor aperto e recuperate in un clone Git, commenti, accesso per ruolo, i limiti di frequenza per compilazione e impostazioni, e account sospesi. Queste richieste provenivano da una sessione del browser, quindi il load balancer le ha mantenute su un’unica replica; per i client senza cookie, vedi Più repliche.
Ultima modifica il 2 novembre 2026