Skip to main content
各プロジェクトの MCP サーバーは、すべての Ayakaleaf Pro Pod の web サービス(mcp-server モジュール)で動作します。Git 連携とともに提供され、独自の設定はありません。Claude Code、Codex、その他のクライアントの接続方法は MCP サーバーで説明しています。

設定

Git 連携をセットアップします。これで MCP サーバーは ${OVERLEAF_SITE_URL}/project/<project id>/mcp で利用でき、このアドレスに AI クライアントの実行場所からアクセスできる必要があります。

複数のレプリカ

MCP 経由のコンパイルはリクエストを受け取ったレプリカ上で実行され、そのログと PDF はそのレプリカにしか存在しません。AI クライアントは Cookie を送信しないため、ロードバランサーが次のリクエスト(get_compile_log や PDF のダウンロードリンク)を別のレプリカに送ることがあり、その場合は “failed to fetch output file from CLSI” または 404 が返されます。3 つのレプリカで追加のルールを設定しなかったテストでは、ログリクエスト 6 件中 5 件、ダウンロード 4 件中 3 件がこの理由で失敗しました。 /git/ と同様に、プロジェクトのすべての MCP リクエストを 1 つのレプリカにルーティングしてください。水平スケーリングの HAProxy を使う場合:
これにより、MCP のコンパイルはすべて overleaf-0 のノードで実行されます。別の Ingress コントローラーを使う場合は、パス /project/<id>/mcp とその配下すべてを 1 つのレプリカ固有の名前(overleaf-0.overleaf-hl)にルーティングしてください。 このルールを設定すると、同じテスト(コンパイル 1 回、ログリクエスト 6 件、PDF ダウンロード 4 件、すべて Cookie なし)はすべて成功しました。

Kubernetes でのテスト

Kubernetes 1.37 上で HAProxy の背後に 3 つのレプリカを置いた状態で、MCP サーバーのエンドツーエンドテスト(37 ケース)に合格しています。対象は、ツールの一覧表示、誤った・削除された・アクセス権のないトークンの拒否、コンパイルとログの読み取り、単語数、プロジェクト設定と履歴、PDF のダウンロードリンク、開いているエディターにリアルタイムで反映され Git クローンにプルされるファイル編集、コメント、ロール別のアクセス、コンパイルと設定のレート制限、停止中のアカウントです。これらのリクエストはブラウザーセッションから送信されたため、ロードバランサーは 1 つのレプリカに振り分け続けました。Cookie を送信しないクライアントについては、複数のレプリカを参照してください。
最終更新日 2026年11月2日