/ ディレクトリ / プレイグラウンド / OverleafMCP
● コミュニティ mjyoo2 🔑 自分のキーが必要

OverleafMCP

作者 mjyoo2 · mjyoo2/OverleafMCP

ClaudeからOverleafのLaTeXプロジェクトを読み書き — Gitブリッジ経由でセクション単位の編集をプッシュ、Webブラウザ不要。

OverleafMCPはOverleafのGit連携経由でClaudeをOverleafに接続します。ClaudeはプロジェクトファイルのリストアップやLaTeX構造(セクション、引用文献、図)の解析、外科的な編集のプッシュバックが可能です。OverleafのWebテキストエリアと格闘するより、エディターからイテレーションしたいと思う研究者や技術ライター向けに設計されています。

なぜ使うのか

主な機能

ライブデモ

実際の動作

overleaf-mcp.replay ▶ 準備完了
0/0

インストール

クライアントを選択

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "overleaf-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@mjyoo2/overleaf-mcp"
      ],
      "env": {
        "OVERLEAF_PROJECT_URL": "https://www.overleaf.com/project/<id>",
        "OVERLEAF_GIT_TOKEN": "your_overleaf_git_token"
      }
    }
  }
}

Claude Desktop → Settings → Developer → Edit Config を開く。保存後、アプリを再起動。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "overleaf-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@mjyoo2/overleaf-mcp"
      ],
      "env": {
        "OVERLEAF_PROJECT_URL": "https://www.overleaf.com/project/<id>",
        "OVERLEAF_GIT_TOKEN": "your_overleaf_git_token"
      }
    }
  }
}

Cursor は Claude Desktop と同じ mcpServers スキーマを使用。プロジェクト設定はグローバルより優先。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "overleaf-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@mjyoo2/overleaf-mcp"
      ],
      "env": {
        "OVERLEAF_PROJECT_URL": "https://www.overleaf.com/project/<id>",
        "OVERLEAF_GIT_TOKEN": "your_overleaf_git_token"
      }
    }
  }
}

Cline サイドバーの MCP Servers アイコンをクリックし、"Edit Configuration" を選択。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "overleaf-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@mjyoo2/overleaf-mcp"
      ],
      "env": {
        "OVERLEAF_PROJECT_URL": "https://www.overleaf.com/project/<id>",
        "OVERLEAF_GIT_TOKEN": "your_overleaf_git_token"
      }
    }
  }
}

Claude Desktop と同じ形式。Windsurf を再起動して反映。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "overleaf-mcp",
      "command": "npx",
      "args": [
        "-y",
        "@mjyoo2/overleaf-mcp"
      ]
    }
  ]
}

Continue はマップではなくサーバーオブジェクトの配列を使用。

~/.config/zed/settings.json
{
  "context_servers": {
    "overleaf-mcp": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "@mjyoo2/overleaf-mcp"
        ]
      }
    }
  }
}

context_servers に追加。保存時に Zed がホットリロード。

claude mcp add overleaf-mcp -- npx -y @mjyoo2/overleaf-mcp

ワンライナー。claude mcp list で確認、claude mcp remove で削除。

ユースケース

実用的な使い方: OverleafMCP

Claudeを離れずに論文のセクションを引き締める

👤 研究者、技術ライター ⏱ ~20 min intermediate

使うタイミング: 査読者2がセクション3は冗長だと指摘 — 30分で修正する必要がある。

前提条件
  • Gitアクセス付きのOverleaf有料プラン — Account → Account Settings → Git authentication
フロー
  1. 場所の特定
    Use Overleaf MCP. Find section 3 in main.tex. Show me current text.✓ コピーしました
    → 行範囲付きのセクションテキストが返却
  2. 書き直し
    Tighten this 30%. Keep technical terms intact. Don't drop citations.✓ コピーしました
    → 引用文献を保持した短い書き直し
  3. プッシュ
    Replace section 3 with the rewrite. Commit with message 'Tighten §3 per reviewer 2'.✓ コピーしました
    → Gitプッシュ成功;OverleafでプロジェクトがリレンダリングされるA

結果: WebブラウザのUIを触れずに編集がOverleafに反映される。

注意点
  • 共著者の同時編集でマージが発生する — プッシュ前にプル;Claudeでdiffコンテキストを使って競合を解決
組み合わせ: filesystem

論文の引用文献を監査する

👤 原稿を仕上げている著者 ⏱ ~15 min beginner

使うタイミング: 投稿前 — すべての\citeに対応する.bibエントリがあることを確認したい。

フロー
  1. インベントリ
    List every \cite{} key in main.tex. Cross-check against refs.bib.✓ コピーしました
    → マッチテーブル;孤立キーにフラグ
  2. 修正
    For each orphan key, suggest the closest match from .bib or mark as missing.✓ コピーしました
    → 孤立キーごとの推奨アクション

結果: 「投稿」をクリックする前に壊れた引用文献がゼロになる。

注意点
  • コメント内の引用もマッチしてしまう — 正規表現の前にLaTeXのコメントを除去する

セクションを安心して移動する

👤 章を再構成している著者 ⏱ ~30 min advanced

使うタイミング: セクションの流れがおかしい;セクション2と4を入れ替えたい。

フロー
  1. マッピング
    Show me the section tree of main.tex with line ranges.✓ コピーしました
    → 階層ツリー
  2. 並べ替え
    Swap section 2 with section 4. Update internal references (\ref) accordingly.✓ コピーしました
    → 入れ替え完了;参照確認済み

結果: 再構成した論文がクリーンにコンパイルされる。

注意点
  • 前方参照が壊れる — 並べ替え後にコンパイル;Claudeがエラーを読んで修正できる

組み合わせ

他のMCPと組み合わせて10倍の力を

overleaf-mcp + filesystem

構造的な編集の前に論文のローカルバックアップを作成

Snapshot the project to /papers/backup/ before any structural changes.✓ コピーしました
overleaf-mcp + github

イシュートラッキングによるレビューのためにGitHubミラーに同期

Push the same commits to my GitHub mirror so co-authors can leave PR comments.✓ コピーしました

ツール

このMCPが提供する機能

ツール入力呼び出すタイミングコスト
list_files (なし) プロジェクト構成を確認するとき free
read_file path .tex / .bibを調査のために取得するとき free
parse_structure path 編集前にアウトラインを把握するとき free
edit_section path, section_id, new_text 外科的な置換を行うとき free
git_push message Overleafに編集を永続化するとき free

コストと制限

運用コスト

APIクォータ
OverleafのGitはレート制限あり(常識的な範囲で使用)
呼び出しあたりのトークン
ファイルサイズによって500〜10000 token
金額
MCPは無料;Git利用にはOverleaf有料プランが必要
ヒント
イテレーション時はファイル全体ではなくセクション単位で読む

セキュリティ

権限、シークレット、影響範囲

最小スコープ: Overleaf Gitトークン — リポジトリレベルの読み書き
認証情報の保管: OVERLEAF_GIT_TOKEN環境変数
データ送信先: git.overleaf.com
絶対に付与しない: 他の人のプロジェクトへのトークンアクセス

トラブルシューティング

よくあるエラーと対処法

git_push中に認証失敗

トークンが失効している可能性;Overleaf設定で再発行

確認: 同じURL+トークンでgit ls-remoteを実行
解析時にTree-sitter LaTeXエラー

一部のマクロがパーサーを混乱させる;read_fileにフォールバックして手動でスコープを設定

プッシュが拒否された(non-fast-forward)

共著者がプッシュした;先にプルして解決後、再プッシュ

代替案

OverleafMCP 他との比較

代替案代わりに使う場面トレードオフ
VimTeX / TeXShopをローカルで使用クラウド同期が不要な場合Overleafのコラボ機能が使えない
OverleafのWebエディター軽微な編集のみエージェントアクセスなし;手動

その他

リソース

📖 GitHub の公式 README を読む

🐙 オープンな issue を見る

🔍 400以上のMCPサーバーとSkillsを見る