You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Add git-remote-overleaf binary (import/export protocol, mark-based tracking)
- Extract MCP docs to docs/MCP.md, git remote docs to docs/GIT-REMOTE.md
- Update landing page with dynamic badges, git remote & MCP sections
- Update SKILL.md with decision table and new features
- Bump version to 0.7.0
Closes#36
Originally proposed in #15 by @bicheTortue
|**Git remote**| Version control, commits, diffs, CI/CD pipelines |`git clone overleaf::…` then standard git |
22
+
|**MCP server**| AI agents with MCP support (Claude, Cursor, Windsurf) | Connect via `olcli-mcp` stdio transport |
23
+
24
+
Use **CLI** when you need bidirectional sync with conflict detection, compilation, or comment management. Use **Git remote** when you want proper git history, branches, and standard `git push/pull`. Use **MCP** when an AI agent has native MCP support and doesn't need to shell out.
`git-remote-overleaf` implements git's `fast-import`/`fast-export` protocol with mark-based tracking:
23
+
24
+
-**Clone/fetch:** Downloads the project zip, emits a fast-import stream with one commit containing the full tree.
25
+
-**Push:** Parses the fast-export stream to determine file modifications and deletions, then calls the Overleaf API to upload/delete only what changed.
26
+
-**Pull:** Compares marks to detect if the remote has new content; skips download when up-to-date.
27
+
28
+
State is stored in `.git/overleaf/` (marks file + manifest).
29
+
30
+
## Authentication
31
+
32
+
The helper reads credentials in this order:
33
+
34
+
1.**`OVERLEAF_SESSION` environment variable** (recommended for scripting)
`@aloth/olcli` ships an [MCP (Model Context Protocol)](https://modelcontextprotocol.io/) server so AI assistants like **Claude Desktop**, **Cursor**, and **Windsurf** can interact with your Overleaf projects directly.
4
+
5
+
## MCP Tools
6
+
7
+
| Tool | Description |
8
+
|------|-------------|
9
+
|`list_projects`| List all Overleaf projects |
10
+
|`get_project_info`| Get file tree and metadata for a project |
11
+
|`pull_project`| Download and extract a project to a local directory |
12
+
|`push_file`| Upload a local file to a project |
13
+
|`compile`| Compile a project and get the PDF URL |
14
+
|`download_pdf`| Compile a project and save the PDF locally |
15
+
|`list_comments`| List review comments (filter: all / open / resolved) |
16
+
|`get_entities`| Get a flat list of all files in a project |
17
+
|`download_file`| Download a specific file by its remote path |
18
+
|`add_comment`| Add a review comment to a document |
19
+
|`reply_to_comment`| Reply to an existing comment thread |
20
+
|`resolve_comment`| Mark a comment thread as resolved |
21
+
|`delete_entity`| Delete a file or document by path |
22
+
|`rename_entity`| Rename a file or document |
23
+
|`compile_with_outputs`| Compile and return all output files (PDF, BBL, logs…) |
24
+
25
+
## Authentication
26
+
27
+
The MCP server reads credentials in this order:
28
+
29
+
1.**`OVERLEAF_SESSION` environment variable** — set in your MCP config (recommended)
30
+
2.**`OVERLEAF_EMAIL` + `OVERLEAF_PASSWORD` environment variables** — for password login (self-hosted)
31
+
3.**`.olauth` file in cwd** — written by `olcli auth`
32
+
4.**Stored config** — written by `olcli auth` (including saved password credentials)
33
+
34
+
When a session cookie expires and password credentials are available, the MCP server automatically re-authenticates.
35
+
36
+
## Claude Desktop
37
+
38
+
Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:
0 commit comments