Skip to main content
MCP server của mỗi dự án chạy trong dịch vụ web (mô-đun mcp-server) của mọi pod Ayakaleaf Pro. Nó đi kèm với Tích hợp Git và không có cài đặt riêng. Cách kết nối Claude Code, Codex và các ứng dụng khác được mô tả trong MCP Server.

Cấu hình

Hãy thiết lập Tích hợp Git. Khi đó MCP server sẽ ở địa chỉ ${OVERLEAF_SITE_URL}/project/<project id>/mcp, và địa chỉ này phải truy cập được từ nơi ứng dụng AI chạy.

Nhiều replica

Một lần biên dịch qua MCP chạy trên replica đã nhận yêu cầu, và log cùng PDF của nó chỉ tồn tại ở đó. Các ứng dụng AI không gửi cookie, nên load balancer có thể chuyển yêu cầu tiếp theo, get_compile_log hoặc liên kết tải PDF, tới một replica khác, và replica đó sẽ trả lời “failed to fetch output file from CLSI” hoặc 404. Trong thử nghiệm của chúng tôi với ba replica và không có quy tắc bổ sung, 5 trên 6 yêu cầu log và 3 trên 4 lượt tải xuống đã thất bại theo cách này. Hãy định tuyến mọi yêu cầu MCP của một dự án tới một replica duy nhất, giống như với /git/. Với HAProxy từ Mở rộng theo chiều ngang:
Khi đó tất cả các lần biên dịch MCP đều chạy trên node của overleaf-0. Với một ingress controller khác, hãy định tuyến đường dẫn /project/<id>/mcp và mọi thứ bên dưới nó tới tên riêng của một replica (overleaf-0.overleaf-hl). Với quy tắc này, cùng thử nghiệm đó (một lần biên dịch, 6 yêu cầu log và 4 lượt tải PDF, tất cả đều không có cookie) đều thành công mọi lần.

Đã kiểm thử trên Kubernetes

Trên Kubernetes 1.37 với ba replica phía sau HAProxy, các bài kiểm thử end-to-end của chúng tôi cho MCP server đều đạt (37 trường hợp): liệt kê các công cụ, từ chối token sai, đã bị xóa hoặc không có quyền truy cập, biên dịch và đọc log, đếm từ, cài đặt và lịch sử dự án, liên kết tải PDF, chỉnh sửa tệp với các thay đổi hiển thị trực tiếp trong trình soạn thảo đang mở và được pull về một bản clone Git, bình luận, quyền truy cập theo vai trò, giới hạn tần suất biên dịch và cài đặt, và các tài khoản bị đình chỉ. Các yêu cầu này đến từ một phiên trình duyệt, nên load balancer giữ chúng trên một replica; với các ứng dụng không có cookie, xem Nhiều replica.
Lần sửa đổi cuối 2 tháng 11, 2026