overleaf-claude-mcp
overleaf-claude-mcp
ClaudeをOverleafアカウントに接続します。Claudeはプロジェクトの一覧表示、選択、LaTeXや図の読み取り、ファイルの編集、コンパイル、PDFの取得まで行えます。
Overleafには無料プラン向けの公開APIがありません。GitブリッジとDropbox同期はPremium機能です。そのため、このサーバーはOverleaf Webアプリが使用しているのと同じ内部HTTPおよびソケットエンドポイントを、一度作成したブラウザセッションで認証して利用します。すべてのエンドポイントはOverleaf自身のJavaScriptバンドルから読み出し、実在のアカウントに対して動作確認済みです。検証済みエンドポイントを参照してください。
チュートリアル
必要なもの
Node 20以降(
node -v)ChromeまたはEdgeがインストールされていること
Overleafアカウント(無料プランで可)
Claude Code(
claude --version)またはClaude Desktop
ステップ1: セットアップを実行
このフォルダから、Windowsの場合:
setup.cmdmacOSまたはLinuxの場合:
./setup.shセットアップは5つのステップを実行し、それぞれを表示します:
依存関係をインストール
dist/にビルド有効なOverleafセッションを確認。ない場合はブラウザウィンドウがOverleafのログインページで開きます
実際のプロジェクトの1つを読み戻し、接続が機能することを確認
Claude Codeへのサーバー登録を提案
ステップ2: ブラウザが開いたらサインイン
ブラウザウィンドウは実際のChromeです。2FAを含め、通常どおりにサインインしてください。パスワードを自動入力することはなく、パスワードが読み取られたり保存されたりすることもありません。
プロジェクト一覧に到達すると、ウィンドウは自動的に閉じ、セットアップが続行します。セッションCookieは ~/.overleaf-claude-mcp/session.json に保存されます。
このファイルはOverleafアカウントへの完全なアクセス権と同等です。gitignoreされており、0600 パーミッションで書き込まれます。共有したりコミットしたりしないでください。
ステップ3: セットアップにサーバーを登録させる
ステップ5でプロンプトが表示されます:
Register this server with Claude Code now? [y/N]y と答えてください。次のコマンドが実行されます:
claude mcp add overleaf -- node C:/CoolYEAH/overleaf-claude-mcp/dist/index.jsスキップした場合、または別のクライアントを使用する場合は、手動で登録してください。Claude Codeの場合は上記のコマンドを実行します。Claude Desktopの場合は、Windowsでは %APPDATA%\Claude\claude_desktop_config.json を、macOSでは ~/Library/Application Support/Claude/claude_desktop_config.json を編集します:
{
"mcpServers": {
"overleaf": {
"command": "node",
"args": ["C:/CoolYEAH/overleaf-claude-mcp/dist/index.js"]
}
}
}ステップ4: Claudeを再起動
MCPサーバーは起動時にのみ認識されます。Claude CodeまたはClaude Desktopを終了して再度開いてください。
読み込まれたことを確認:
claude mcp listoverleaf が接続済みとして表示されるはずです。Claude Codeセッション内では、/mcp でも同じものが表示されます。
ステップ5: 使用する
自然言語で依頼するだけです。Claudeがツールを自動的に選択します。
List my Overleaf projectsSelect the Efficient Reasoning projectRead sections/methodology.texIn sections/results.tex, change "Table 1" to "Table~\ref{tab:main}"Compile it and tell me what the LaTeX errors areShow me figures/fig1.pngSave the compiled PDF to C:/tmp/paper.pdfプロジェクトを一度選択すると、それが保持されます。選択内容は ~/.overleaf-claude-mcp/state.json に保存され、再起動後も維持されるため、以降のすべてのリクエストは切り替えるまでそのプロジェクトに適用されます。切り替えずに1つのリクエストで別のプロジェクトを操作するには、名前を指定してください:「私の論文プロジェクトからmain.texを読んで」。
Related MCP server: claudeleaf
トリガーの方法
スラッシュコマンドや入力するものはありません。Claudeがツールの説明を読み、リクエストが一致したときに呼び出します。Overleaf、または選択済みのプロジェクトやファイルに言及するだけで十分です。
Claudeがツールを使わない場合、よくある原因は、登録後に再起動していないか、プロジェクトがまだ選択されていないことです。「どのOverleafプロジェクトが選択されていますか?」と聞いて確認してください。
ツール
ツール | 目的 |
| プロジェクト一覧を表示し、選択中のものをマーク |
| IDまたは名前でアクティブなプロジェクトを選択 |
| どのプロジェクトが選択されているかを表示 |
| 完全なファイル・フォルダツリー |
| LaTeXまたはその他のテキストファイルを読み取り |
| 図をインラインで表示 |
| PDFを含む任意のファイルをローカルに保存 |
| プロジェクト全体を正規表現で検索 |
| テキストファイルを作成または上書き |
| ファイル内の文字列を正確に置換 |
| 図などのローカルファイルをアップロード |
| フォルダを作成し、欠落している親フォルダも作成 |
| ファイルまたはフォルダの名前を変更 |
| ファイルまたはフォルダを移動 |
| エントリを削除。 |
| サーバーサイドでコンパイル |
| コンパイルして解析済みのLaTeXエラーを返す |
| コンパイルしてPDFを保存 |
| コンパイル済みの単語数 |
overleaf_select_project はプロジェクトIDまたはプロジェクト名の一部を受け取ります。名前が複数のプロジェクトに一致する場合は、推測せずに候補を一覧表示します。overleaf_delete は confirm がtrueでない限り実行を拒否するため、Claudeが誤ってファイルを削除することはありません。
トラブルシューティング
「No Overleaf session at ...」 — まだサインインしていないか、セッションが期限切れです。npm run login または setup.cmd を再度実行してください。
Claudeがツールを認識しない — 登録後にClaudeを再起動していません。claude mcp list で確認してください。
ツールが突然失敗する — Overleafがエンドポイントを変更した可能性があります。npm run recon を実行すると、各エンドポイントを読み取り専用でプローブし、どの呼び出しが壊れたかを正確に教えてくれます。
Claudeを使わずにターミナルからセットアップを確認:
npm run read -- "Efficient Reasoning"一致するプロジェクトのファイルツリーとすべてのセクション見出しを表示します。パスを追加すると単一のファイルを出力します:
npm run read -- "Efficient Reasoning" sections/methodology.texセットアップはいつでも再実行できます。 有効なセッションを再利用して接続を再検証するため、ヘルスチェックも兼ねます。
仕組み
ファイルツリーはOverleafのソケット接続から取得します。エンティティIDを運ぶ唯一の情報源であり、書き込みにはIDが必要だからです。ハンドシェイクは GET /socket.io/1/?projectId=<id> で、これはsocket.io 0.9フレーミングです。その後サーバーは joinProjectResponse をプッシュし、rootFolder、ドキュメントID、ファイルハッシュを含むプロジェクト全体が送られます。ツリーは OVERLEAF_TREE_TTL_MS(デフォルト15秒)の間キャッシュされ、書き込みのたびに無効化されます。
テキストファイルはドキュメントごとに読み取られるため、読み取りは常に現在の状態を反映します。overleaf_grep は代わりにプロジェクトアーカイブを読み取るため、プロジェクト全体の検索がファイルごとに1リクエストではなく1リクエストで済みます。
書き込みはアップロードエンドポイントを通じて行われます。既存の名前へのアップロードはインプレース更新です。エンティティIDが保持されるため、Overleafの履歴やドキュメント内の他の共同編集者は影響を受けません。欠落している親フォルダは先に作成されます。
検証済みエンドポイント
推測ではなく、実在のアカウントに対してライブで確認済み:
操作 | 呼び出し | 備考 |
プロジェクト一覧 |
|
|
CSRF |
|
|
新規プロジェクト |
|
|
ファイルツリー |
|
|
パスのみ |
| 安価、IDなし |
ドキュメント読み取り |
| プレーンテキスト |
バイナリ読み取り |
| ハッシュはツリーから取得 |
アーカイブ |
| grepに使用 |
作成または上書き |
| multipart、フィールド |
ドキュメントまたはフォルダ作成 |
| ボディ |
名前変更 |
| 204 |
移動 |
| 204、ボディ |
削除 |
| 204 |
コンパイル |
|
|
単語数 |
|
:type は doc、file、folder のいずれかです。
スクリプト
コマンド | 機能 |
| ゼロからの完全セットアップ |
| 依存関係がインストール済みの場合と同じ |
| 再認証のみ |
| ターミナルからプロジェクトを検査 |
| すべてのエンドポイントの読み取り専用プローブ |
| 使い捨てプロジェクトでのエンドツーエンド書き込みテスト |
|
|
npm run smoke は claude-mcp-smoketest というプロジェクトを作成し、書き込み、上書き、画像アップロード、名前変更、移動、削除、コンパイルを実行します。確認用にプロジェクトはアカウントに残ります。確認が終わったら削除してください。
設定
すべてオプションです。.env.example を参照してください。
変数 | デフォルト |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
制限事項
これはサポート対象のAPIではなく、Overleafはいつでも変更できます。自分のアカウントに対してのみ使用してください。リアルタイム共同編集は実装されていません。書き込みは文字レベルの操作を送信するのではなくドキュメント全体を置き換えるため、他の誰かが入力している間にファイルへの書き込みは避けてください。
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityBmaintenanceEnables editing Overleaf projects from Claude, with tools to list, read, edit, and sync files via Git.MIT
- Alicense-qualityCmaintenanceEnables Claude and AI agents to read and edit Overleaf documents in real time, with support for project listing, document manipulation, LaTeX compilation, and live collaboration.1038MIT
- Alicense-qualityBmaintenanceConnects Claude/ChatGPT to Overleaf projects via the Git integration, enabling read, edit, write, and file management through natural language commands.2AGPL 3.0
- Alicense-qualityBmaintenanceEnables AI agents to read, edit, and compile LaTeX documents in Overleaf projects with tracked changes via the Model Context Protocol.1MIT
Related MCP Connectors
Edit your Overleaf LaTeX projects from Claude and ChatGPT; every change is a real Git commit.
Read, edit, publish, and preview your pepita websites from Claude.
Connect Claude to Fathom meeting recordings, transcripts, and summaries
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/MarvelCollin/overleaf-claude-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server