Overleaf MCP server

Permite que ferramentas como copilot, claude desktop, claude code etc. realizem operações CRUD em projetos overleaf via git int

Documentação

Servidor MCP Overleaf

Um servidor Model Context Protocol (MCP) que fornece operações CRUD completas para projetos LaTeX do Overleaf. Permite que assistentes de IA leiam, editem, criem e excluam arquivos em seus projetos Overleaf.

Recursos

14 Ferramentas para Gerenciamento Completo de Projetos

CategoriaFerramentaDescrição
Criarcreate_projectCriar novos projetos Overleaf a partir de conteúdo LaTeX ou arquivos ZIP
create_fileAdicionar novos arquivos a projetos existentes
Lerlist_projectsVisualizar todos os projetos configurados
list_filesListar arquivos com filtro opcional de extensão
read_fileLer conteúdo de arquivos
get_sectionsAnalisar estrutura LaTeX (capítulos, seções, subseções)
get_section_contentObter conteúdo completo de uma seção específica
list_historyVisualizar histórico de commits do git
get_diffComparar alterações entre versões
Atualizaredit_fileEdição cirúrgica - substituir texto específico (old_string → new_string)
rewrite_fileSubstituir conteúdo completo de arquivos
update_sectionAtualizar uma seção LaTeX específica por título
sync_projectPuxar alterações mais recentes do Overleaf
Excluirdelete_fileRemover arquivos de projetos

Principais Capacidades

  • Integração Git: Usa a integração Git do Overleaf para sincronização confiável
  • Suporte a Múltiplos Projetos: Configure e alterne entre vários projetos
  • Consciente de LaTeX: Entende a estrutura do documento para operações baseadas em seções
  • Push Automático: Todas as operações de escrita fazem commit e push para o Overleaf imediatamente
  • Cache Local: Acesso rápido com cache de repositório local

Instalação

Pré-requisitos

  • Python 3.10+
  • Git
  • Conta Overleaf com integração Git (requer plano pago)

Instalar com pip

# Clone the repository
git clone https://github.com/YOUR_USERNAME/overleaf-mcp.git
cd overleaf-mcp

# Create virtual environment
python3 -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

# Install
pip install -e .

Instalar com uv (mais rápido)

git clone https://github.com/YOUR_USERNAME/overleaf-mcp.git
cd overleaf-mcp

uv venv
source .venv/bin/activate
uv pip install -e .

Configuração

Passo 1: Obtenha Suas Credenciais Overleaf

  1. Abra seu projeto Overleaf no navegador

  2. Obtenha o ID do Projeto a partir da URL:

    https://www.overleaf.com/project/YOUR_PROJECT_ID
                                     ^^^^^^^^^^^^^^^^
    
  3. Obtenha o Token Git:

    • Clique em Menu (canto superior esquerdo)
    • Clique em Git em "Sincronizar"
    • Clique em Gerar token (se ainda não foi gerado)
    • Copie a URL: https://git:YOUR_TOKEN@git.overleaf.com/...
    • Extraia o token (a parte entre git: e @)

Passo 2: Crie o Arquivo de Configuração

Crie overleaf_config.json no diretório do projeto:

{
  "projects": {
    "my-thesis": {
      "name": "My PhD Thesis",
      "projectId": "abc123def456",
      "gitToken": "olp_xxxxxxxxxxxxxxxxxxxx"
    },
    "paper": {
      "name": "Research Paper",
      "projectId": "xyz789ghi012",
      "gitToken": "olp_yyyyyyyyyyyyyyyyyyyy"
    }
  },
  "defaultProject": "my-thesis"
}

Alternativa: Variáveis de Ambiente

Para configurações de projeto único:

export OVERLEAF_PROJECT_ID="your_project_id"
export OVERLEAF_GIT_TOKEN="your_git_token"

Configuração do Cliente

Claude Desktop

Localização do arquivo de configuração:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

Configuração:

{
  "mcpServers": {
    "overleaf": {
      "command": "/path/to/overleaf-mcp/.venv/bin/python",
      "args": ["-m", "overleaf_mcp.server"],
      "cwd": "/path/to/overleaf-mcp",
      "env": {
        "OVERLEAF_CONFIG_FILE": "/path/to/overleaf-mcp/overleaf_config.json",
        "OVERLEAF_TEMP_DIR": "/path/to/overleaf-mcp/overleaf_cache"
      }
    }
  }
}

Exemplo (macOS):

{
  "mcpServers": {
    "overleaf": {
      "command": "/Users/username/dev/overleaf-mcp/.venv/bin/python",
      "args": ["-m", "overleaf_mcp.server"],
      "cwd": "/Users/username/dev/overleaf-mcp",
      "env": {
        "OVERLEAF_CONFIG_FILE": "/Users/username/dev/overleaf-mcp/overleaf_config.json",
        "OVERLEAF_TEMP_DIR": "/Users/username/dev/overleaf-mcp/overleaf_cache"
      }
    }
  }
}

Após salvar, reinicie o Claude Desktop (Cmd+Q / Ctrl+Q e reabra).


Claude Code (CLI)

Adicione às configurações MCP do Claude Code (~/.claude/settings.json):

{
  "mcpServers": {
    "overleaf": {
      "command": "/path/to/overleaf-mcp/.venv/bin/python",
      "args": ["-m", "overleaf_mcp.server"],
      "cwd": "/path/to/overleaf-mcp",
      "env": {
        "OVERLEAF_CONFIG_FILE": "/path/to/overleaf-mcp/overleaf_config.json",
        "OVERLEAF_TEMP_DIR": "/path/to/overleaf-mcp/overleaf_cache"
      }
    }
  }
}

Ou adicione por projeto em .claude/settings.json no diretório do seu projeto.


VS Code (com Extensão Claude)

Adicione às configurações do VS Code (settings.json):

{
  "claude.mcpServers": {
    "overleaf": {
      "command": "/path/to/overleaf-mcp/.venv/bin/python",
      "args": ["-m", "overleaf_mcp.server"],
      "cwd": "/path/to/overleaf-mcp",
      "env": {
        "OVERLEAF_CONFIG_FILE": "/path/to/overleaf-mcp/overleaf_config.json",
        "OVERLEAF_TEMP_DIR": "/path/to/overleaf-mcp/overleaf_cache"
      }
    }
  }
}

Ou adicione às configurações do workspace (.vscode/settings.json) para configuração específica do projeto.


Exemplos de Uso

Uma vez configurado, você pode pedir ao assistente de IA:

Lendo Arquivos

"List all .tex files in my thesis"
"Read the content of main.tex"
"What sections are in chapter1.tex?"

Editando Conteúdo

"Edit main.tex and replace 'teh' with 'the'"
"Rewrite the abstract.tex file with this new content: ..."
"Update the 'Introduction' section with this new content: ..."

Criando Arquivos

"Create a new file called appendix.tex with a section for supplementary materials"
"Add a new bibliography file references.bib"

Gerenciamento de Projetos

"Show me the last 10 commits"
"What changed since yesterday?"
"Sync the project to get latest changes"

Operações Baseadas em Seções

"Get the content of the 'Methods' section"
"Update the 'Results' section with these findings: ..."
"What subsections are in chapter 2?"

Variáveis de Ambiente

VariávelPadrãoDescrição
OVERLEAF_CONFIG_FILEoverleaf_config.jsonCaminho para o arquivo de configuração
OVERLEAF_TEMP_DIR./overleaf_cacheDiretório de cache local para repositórios git
OVERLEAF_PROJECT_ID-ID do projeto padrão (modo projeto único)
OVERLEAF_GIT_TOKEN-Token git padrão (modo projeto único)
OVERLEAF_GIT_AUTHOR_NAMEOverleaf MCPNome do autor do commit git
OVERLEAF_GIT_AUTHOR_EMAILmcp@overleaf.localEmail do autor do commit git

Como Funciona

┌─────────────────┐     MCP Protocol     ┌─────────────────┐
│  AI Assistant   │◄───────────────────►│  Overleaf MCP   │
│ (Claude, etc.)  │                      │     Server      │
└─────────────────┘                      └────────┬────────┘
                                                  │
                                                  │ Git (HTTPS)
                                                  ▼
                                         ┌─────────────────┐
                                         │    Overleaf     │
                                         │   Git Server    │
                                         └─────────────────┘
  1. Clonar/Puxar: O servidor clona ou puxa o mais recente do endpoint Git do Overleaf
  2. Operações Locais: Operações de leitura/escrita acontecem no cache local
  3. Commit/Push: Alterações são commitadas e enviadas de volta ao Overleaf
  4. Sincronização em Tempo Real: O Overleaf reflete as alterações imediatamente no editor web

Notas de Segurança

  • Tokens são sensíveis: Tokens Git fornecem acesso completo de leitura/escrita
  • Nunca commite segredos: overleaf_config.json é ignorado pelo git por padrão
  • Use variáveis de ambiente: Para CI/CD ou ambientes compartilhados
  • Rotação de tokens: Regere tokens periodicamente nas configurações do Overleaf

Solução de Problemas

"Nenhum projeto configurado"

  • Certifique-se de que overleaf_config.json existe e tem JSON válido
  • Verifique se OVERLEAF_CONFIG_FILE aponta para o caminho correto

"Permissão negada" ou "Sistema de arquivos somente leitura"

  • Defina OVERLEAF_TEMP_DIR para um caminho absoluto gravável
  • Certifique-se de que o diretório de cache existe e é gravável

"Falha na autenticação"

  • Verifique se seu token git está correto
  • Verifique se o token expirou (regere no Overleaf)
  • Certifique-se de ter a integração Git habilitada (requer plano Overleaf pago)

"Servidor não aparece no Claude"

  • Reinicie o Claude Desktop completamente (Cmd+Q / Ctrl+Q)
  • Verifique se o JSON de configuração é válido (sem vírgulas finais)
  • Verifique se o caminho do Python está correto (use caminho absoluto para o venv)

Contribuindo

Contribuições são bem-vindas! Por favor, abra uma issue ou envie um pull request.


Licença

Licença MIT - veja LICENSE para detalhes.


Agradecimentos