Remote Files MCP
Servidor MCP para monitorear fuentes de archivos remotos, detectar nuevos archivos y extraer contenido. Funciona con cualquier backend de almacenamiento mediante rclone (más de 70 proveedores) o comandos personalizados.
Documentación
remote-files
Servidor MCP para monitorear fuentes de archivos remotas, detectar archivos nuevos y extraer contenido. Funciona con cualquier backend de almacenamiento mediante rclone (más de 70 proveedores) o comandos personalizados.
Características
- Monitoreo multi-fuente — rastrea múltiples ubicaciones remotas (Google Drive, S3, SFTP, directorios locales, etc.)
- Detección de archivos nuevos — la comparación basada en estado detecta archivos nuevos y modificados
- Extracción de contenido — extrae texto de archivos DOCX, PDF y texto plano
- Limpieza automática — los archivos descargados se eliminan después de la extracción de contenido
- Transporte híbrido — soporte integrado de rclone + comandos shell personalizados
Requisitos previos
- Node.js >= 18
- npm
- rclone (si usas el transporte rclone — el instalador puede instalarlo por ti)
Instalación
El instalador interactivo gestiona dependencias, compilación, configuración y registro en Claude Code:
cd remote-files
bash install.sh
El instalador:
- Verifica que Node.js y npm estén disponibles
- Te pide elegir un modo de transporte (rclone o personalizado)
- Instala rclone si es necesario (mediante brew, apt, pacman o el script de instalación oficial)
- Te guía en la configuración de remotos de rclone si aún no existen
- Instala las dependencias de npm y compila el proyecto
- Crea el archivo de configuración en
~/.config/remote-files/config.json - Registra el servidor MCP con Claude Code (si la CLI está disponible)
Instalación manual
Si prefieres configurarlo tú mismo:
cd remote-files
npm install
npm run build
claude mcp add --transport stdio remote-files -- node /absolute/path/to/remote-files/dist/index.js
Luego crea ~/.config/remote-files/config.json manualmente (consulta Configuración a continuación).
Configuración
Crea ~/.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
}
}
Anula la ruta de configuración con la variable de entorno REMOTE_FILES_CONFIG.
Proveedor rclone
Requiere rclone instalado y configurado. Campos:
| Campo | Requerido | Descripción |
|---|---|---|
remote | sí | Nombre del remoto de rclone (p. ej. gdrive:, s3:) |
path | sí | Ruta dentro del remoto |
flags | no | Banderas adicionales de rclone |
exclude | no | Patrones de exclusión |
excludeFrom | no | Ruta al archivo de exclusión |
Proveedor personalizado
Para cualquier backend no cubierto por rclone. Campos:
| Campo | Requerido | Descripción |
|---|---|---|
listCommand | sí | Comando shell que genera líneas <size> <path> |
downloadCommand | sí | Comando shell con variables $FILE y $DEST |
Herramientas MCP
check_sources
Comprueba archivos nuevos/modificados sin descargarlos.
Parameters:
source? — specific source name (omit for all)
include_pattern? — glob filter (e.g. "*.docx")
init_source
Inicializa una línea base de la fuente. Todos los archivos actuales se marcan como conocidos.
Parameters:
source — source name to initialize
fetch_file
Descarga un archivo, extrae texto y elimina automáticamente la copia local.
Parameters:
source — source name
path — file path (from check_sources)
keep_local — if true, keep file on disk (default: false)
Devuelve el texto extraído para DOCX/PDF/TXT. Para formatos desconocidos, devuelve local_path para que Claude lo lea directamente.
Flujo de trabajo
- Primera vez: Claude llama a
init_sourcepara crear una línea base - Continuo: Claude llama a
check_sourcespara encontrar archivos nuevos - Por archivo: Claude llama a
fetch_filepara obtener contenido y resumir - Los archivos se eliminan automáticamente después de la extracción
Desinstalación
claude mcp remove remote-files
rm -rf ~/.config/remote-files
rm -rf ~/.local/share/remote-files