Remote Files MCP
Servidor MCP para monitorar fontes de arquivos remotos, detectar novos arquivos e extrair conteúdo. Funciona com qualquer backend de armazenamento via rclone (mais de 70 provedores) ou comandos personalizados.
Documentação
remote-files
Servidor MCP para monitorar fontes de arquivos remotas, detectar novos arquivos e extrair conteúdo. Funciona com qualquer backend de armazenamento via rclone (mais de 70 provedores) ou comandos personalizados.
Recursos
- Monitoramento de múltiplas fontes — rastreie vários locais remotos (Google Drive, S3, SFTP, diretórios locais, etc.)
- Detecção de novos arquivos — diff baseado em estado detecta arquivos novos e alterados
- Extração de conteúdo — extrai texto de arquivos DOCX, PDF e texto simples
- Limpeza automática — arquivos baixados são excluídos após a extração de conteúdo
- Transporte híbrido — suporte integrado ao rclone + comandos shell personalizados
Pré-requisitos
- Node.js >= 18
- npm
- rclone (se usar o transporte rclone — o instalador pode instalá-lo para você)
Instalação
O instalador interativo cuida de dependências, build, configuração e registro no Claude Code:
cd remote-files
bash install.sh
O instalador irá:
- Verificar se Node.js e npm estão disponíveis
- Pedir que você escolha um modo de transporte (rclone ou personalizado)
- Instalar o rclone se necessário (via brew, apt, pacman ou script de instalação oficial)
- Orientar você na configuração do remoto rclone se nenhum remoto existir ainda
- Instalar dependências npm e compilar o projeto
- Criar o arquivo de configuração em
~/.config/remote-files/config.json - Registrar o servidor MCP no Claude Code (se a CLI estiver disponível)
Instalação manual
Se preferir configurar tudo manualmente:
cd remote-files
npm install
npm run build
claude mcp add --transport stdio remote-files -- node /absolute/path/to/remote-files/dist/index.js
Depois crie ~/.config/remote-files/config.json manualmente (veja Configuração abaixo).
Configuração
Crie ~/.config/remote-files/config.json:
{
"sources": {
"my-drive": {
"provider": "rclone",
"remote": "gdrive:",
"path": "Documents/Reports",
"flags": ["--drive-shared-with-me"],
"exclude": ["*.tmp"],
"excludeFrom": "/path/to/exclude-patterns.txt"
},
"my-server": {
"provider": "custom",
"listCommand": "ssh server 'find /data -type f -printf \"%s %P\\n\"'",
"downloadCommand": "scp server:/data/$FILE $DEST/"
}
},
"settings": {
"tempDir": "/tmp/remote-files",
"stateDir": "~/.local/share/remote-files/state",
"autoCleanup": true,
"maxContentLength": 102400
}
}
Substitua o caminho da configuração com a variável de ambiente REMOTE_FILES_CONFIG.
Provedor rclone
Requer rclone instalado e configurado. Campos:
| Campo | Obrigatório | Descrição |
|---|---|---|
remote | sim | Nome do remoto rclone (ex.: gdrive:, s3:) |
path | sim | Caminho dentro do remoto |
flags | não | Flags extras do rclone |
exclude | não | Padrões de exclusão |
excludeFrom | não | Caminho para arquivo de exclusão |
Provedor personalizado
Para qualquer backend não coberto pelo rclone. Campos:
| Campo | Obrigatório | Descrição |
|---|---|---|
listCommand | sim | Comando shell que gera linhas <size> <path> |
downloadCommand | sim | Comando shell com variáveis $FILE e $DEST |
Ferramentas MCP
check_sources
Verifica arquivos novos/alterados sem baixar.
Parameters:
source? — specific source name (omit for all)
include_pattern? — glob filter (e.g. "*.docx")
init_source
Inicializa uma linha de base da fonte. Todos os arquivos atuais são marcados como conhecidos.
Parameters:
source — source name to initialize
fetch_file
Baixa um arquivo, extrai texto e exclui automaticamente a cópia local.
Parameters:
source — source name
path — file path (from check_sources)
keep_local — if true, keep file on disk (default: false)
Retorna texto extraído para DOCX/PDF/TXT. Para formatos desconhecidos, retorna local_path para o Claude ler diretamente.
Fluxo de trabalho
- Primeira vez: Claude chama
init_sourcepara criar uma linha de base - Contínuo: Claude chama
check_sourcespara encontrar novos arquivos - Por arquivo: Claude chama
fetch_filepara obter conteúdo e resumir - Arquivos são excluídos automaticamente após a extração
Desinstalação
claude mcp remove remote-files
rm -rf ~/.config/remote-files
rm -rf ~/.local/share/remote-files