mcpField
O
overleaf-mcp-server

overleaf-mcp-server

ローカル
github.com/younesbensafia生産性642 週間前に更新

overleaf-mcp-server について

Overleaf MCP Server は、Git 同期を通じて Overleaf プロジェクトを管理する MCP サーバーです。MCP クライアントから LaTeX プロジェクトのファイルを読み書きしたい利用者向けに、取得・編集・送信の単純なワークフローを提供します。

主な機能

  1. 01Overleaf プロジェクトとの Git 同期
  2. 02ファイル一覧、読み取り、書き込み、同期のツール
  3. 03行単位で大きなドキュメントを分割読み取り
  4. 04アクセス可能なプロジェクトを制限する許可リスト

活用シーン

  1. 01AI アシスタントによる Overleaf 内の LaTeX ファイルの読み取りと編集
  2. 02ローカルで編集したファイルを Overleaf プロジェクトへ反映
  3. 03大規模プロジェクトでの初回同期の実行

MCP 対応

stdio で動作し、list_files、read_file、write_file、edit_file、sync_project などのツールを MCP クライアントに公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"younesbensafia-overleaf": {
"command": "uvx",
"args": [
"overleaf-mcp-integration"
]
}
}
}
起動コマンドuvx overleaf-mcp-integration

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypioverleaf-mcp-integration0.1.0

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Overleaf MCP サーバー

PyPI version MCP Registry

Git 同期を通じて Overleaf プロジェクトを管理する MCP サーバーです。

PyPI パッケージ · MCP Registry

このサーバーの機能

  • Git 同期を通じて、MCP 対応クライアントを Overleaf プロジェクトに接続します。
  • プロジェクトのコンテンツを一覧表示、読み取り、書き込み、同期するファイル単位のツールを提供します。
  • 最新ファイルを取得して編集し、Overleaf にプッシュするだけのシンプルなワークフローを実現します。

アーキテクチャ

flowchart LR
  C[MCP Client\nClaude Desktop / other MCP host] -->|Tool Call| S[Overleaf MCP Server]
  S -->|Git Sync| O[Overleaf Git Remote]
  S -->|Read / Write| L[Local Repo Mirror]
  L -->|Commit + Push| O
  O -->|Pull / Fetch| L
  S -->|Tool Result| C

ツールのワークフロー

sequenceDiagram
  participant Client as MCP Client
  participant Server as Overleaf MCP Server
  participant Local as Local Mirror
  participant Overleaf as Overleaf Git

  Client->>Server: list_files / read_file
  Server->>Local: Ensure local clone
  Server->>Overleaf: git pull
  Overleaf-->>Server: latest content
  Server-->>Client: file list / file content

  Client->>Server: write_file(path, content)
  Server->>Local: update file
  Server->>Local: git commit
  Server->>Overleaf: git push
  Server-->>Client: success + metadata

必要条件

  • Python 3.13+
  • uv パッケージマネージャー
  • Git 統合が利用できる Overleaf プラン(個人、グループ、または機関ライセンス)。所属機関が無料アクセスを提供しているか、Overleaf for Institutions で確認してください。所属機関のメールアドレスを使用してください。所属機関が掲載されていない場合は、プランをアップグレードしてください。

Git のセットアップ

  1. Git を有効にする - Overleaf でプロジェクトを開き、Menu → Integrations の Git を有効にします。
  2. プロジェクト ID をコピーする - ブラウザーの URL からコピーします(例:https://www.overleaf.com/project/69a4f7cc4eaf13bd56de5b04 → 69a4f7cc4eaf13bd56de5b04)。
  3. Git トークンを生成する - Account Settings → Git integration authentication tokens → Generate new token を選択します。
  4. .env を設定する - .env.example を .env にコピーし、次の項目を入力します。
OVERLEAF_TOKEN=your_git_token
PROJECT_ID=your_project_id

project_id はツール呼び出しごとに渡すこともできますが、サーバーの設定には引き続き PROJECT_ID が必要です。

Overleaf の Git トークンは、アカウント全体で使用する認証情報です。MCP クライアントの環境または保護された .env ファイルにのみ保存し、漏えいした場合はローテーションしてください。

安全に関する注意事項

Overleaf プロジェクト内のファイルは、信頼できない入力です。.tex ファイルやプロジェクト設定には、モデルに向けた指示が含まれている可能性があります。ファイルの内容はコマンドではなくデータとして扱ってください。OVERLEAF_ALLOWED_PROJECTS を、サーバーがアクセスできるプロジェクトだけに制限してください。

OVERLEAF_ALLOWED_PROJECTS=project_id_a,project_id_b

デフォルトの許可リストには PROJECT_ID のみが含まれます。

クイックスタート

git clone https://github.com/younesbensafia/overleaf-mcp-server.git
cd overleaf-mcp-server
uv sync
cp .env.example .env   # then edit with your token/project id
uv run overleaf-mcp

チェックアウトせずに実行するには、Git バージョンを直接指定します。

uvx --from git+https://github.com/younesbensafia/overleaf-mcp-server overleaf-mcp

uvx overleaf-mcp をそのまま使用できるのは、プロジェクトを PyPI に公開した後のみです。

サーバーは stdio で待ち受けます。MCP クライアント(Claude Desktop など)を接続してください。

大規模なプロジェクトでは、まず sync_project を呼び出してください。初回の Git クローンには、MCP クライアントの個別のツールリクエストのタイムアウトを超える時間がかかる場合があります。

利用可能なツール

ツール説明
list_filesOverleaf プロジェクトからファイルを取得して一覧表示します
read_fileファイルの内容を読み取ります
write_fileテキストファイル全体を上書きし、コミットして Overleaf にプッシュします
edit_file完全一致するテキストを置換し、コミットして Overleaf にプッシュします
sync_projectOverleaf から強制的にプル/同期します

read_file では、サイズの大きなドキュメントを分割して読み取るために、オプションの 0 始まりの offset と、上限付きの limit 行パラメーターを指定できます。

Claude Desktop のセットアップ

~/.config/Claude/claude_desktop_config.json に追加します。

{
  "mcpServers": {
    "overleaf": {
      "command": "uv",
      "args": ["--directory", "/path/to/overleaf-mcp-server", "run", "overleaf-mcp"],
      "env": {
        "OVERLEAF_TOKEN": "your_git_token",
        "PROJECT_ID": "your_project_id"
      }
    }
  }
}

トラブルシューティング

  • Git 操作で 403 Forbidden が発生する場合:
    • ご利用のプランに Git 統合が含まれていません。Git のセットアップのセクションに従ってください。
    • または、Git トークンが間違っています。Account Settings → Git integration authentication tokens から再生成してください。
  • プロジェクトの内容が違う場合:
    • .env で正しい PROJECT_ID を設定してください。
    • または、ツール呼び出しで project_id を明示的に渡してください。
  • 同期の競合が発生する場合:
    • リモート側に変更がある場合は、write_file の前に sync_project を実行してください。
  • サーバーが起動しない場合:
    • uv sync で依存関係がインストールされていることを確認してください。
    • Python 3.13+ が利用可能であることを確認してください。

License

MIT - See LICENSE

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。