Skip to main content
Glama

File Operations MCP Server

by bsmi021

Servidor MCP de operaciones de archivos

Un servidor de Protocolo de Contexto de Modelo (MCP) que proporciona capacidades mejoradas de operación de archivos con soporte de transmisión, parches y seguimiento de cambios.

Características

  • Operaciones básicas de archivos : copiar, leer, escribir, mover y eliminar archivos
  • Operaciones de directorio : crear, eliminar y copiar directorios
  • Vigilancia de archivos : supervise archivos y directorios para detectar cambios
  • Seguimiento de cambios : seguimiento y consulta del historial de operaciones de archivos
  • Soporte de transmisión : gestione archivos grandes de manera eficiente con la transmisión
  • Soporte de recursos : acceda a archivos y directorios a través de recursos MCP
  • Informes de progreso : actualizaciones de progreso en tiempo real para operaciones largas
  • Limitación de velocidad : protección contra solicitudes excesivas
  • Seguridad mejorada : validación de rutas y saneamiento de entradas
  • Manejo robusto de errores : manejo y generación de informes de errores integrales
  • Seguridad de tipos : compatibilidad total con TypeScript con verificación de tipos estricta

Instalación

Instalación mediante herrería

Para instalar File Operations Server para Claude Desktop automáticamente a través de Smithery :

npx -y @smithery/cli install @bsmi021/mcp-file-operations-server --client claude

Instalación manual

npm install

Uso

Iniciando el servidor

npm start

Para desarrollo con recarga automática:

npm run dev

Herramientas disponibles

Operaciones básicas con archivos
  • copy_file : Copiar un archivo a una nueva ubicación
  • read_file : Leer el contenido de un archivo
  • write_file : Escribe contenido en un archivo
  • move_file : Mover/renombrar un archivo
  • delete_file : Eliminar un archivo
  • append_file : Anexar contenido a un archivo
Operaciones de directorio
  • make_directory : Crea un directorio
  • remove_directory : Eliminar un directorio
  • copy_directory : Copiar un directorio recursivamente (con informes de progreso)
Operaciones de vigilancia
  • watch_directory : Comienza a vigilar un directorio en busca de cambios
  • unwatch_directory : dejar de vigilar un directorio
Seguimiento de cambios
  • get_changes : Obtener la lista de cambios registrados
  • clear_changes : Borrar todos los cambios registrados

Recursos disponibles

Recursos estáticos
  • file:///recent-changes : Lista de cambios recientes del sistema de archivos
Plantillas de recursos
  • file://{path} : Acceder al contenido del archivo
  • metadata://{path} : Acceder a los metadatos del archivo
  • directory://{path} : Lista el contenido del directorio

Ejemplo de uso

// Copy a file await fileOperations.copyFile({ source: 'source.txt', destination: 'destination.txt', overwrite: false }); // Watch a directory await fileOperations.watchDirectory({ path: './watched-dir', recursive: true }); // Access file contents through resource const resource = await mcp.readResource('file:///path/to/file.txt'); console.log(resource.contents[0].text); // Copy directory with progress tracking const result = await fileOperations.copyDirectory({ source: './source-dir', destination: './dest-dir', overwrite: false }); // Progress token in result can be used to track progress console.log(result.progressToken);

Límites de velocidad

El servidor implementa una limitación de velocidad para evitar abusos:

  • Herramientas : 100 solicitudes por minuto
  • Recursos : 200 solicitudes por minuto
  • Operaciones del reloj : 20 operaciones por minuto

Los errores de límite de velocidad incluyen un período de reintento en el mensaje de error.

Características de seguridad

Validación de ruta

Todas las rutas de archivos se validan para evitar ataques de recorrido de directorio:

  • No hay referencias al directorio padre ( ../ )
  • Normalización de trayectoria adecuada
  • Sanitización de entrada

Protección de recursos

  • Limitación de velocidad en todas las operaciones
  • Manejo y registro de errores adecuados
  • Validación de entrada en todos los parámetros
  • Limpieza segura de recursos

Informes de progreso

Las operaciones de larga duración, como la copia de directorios, proporcionan actualizaciones de progreso:

interface ProgressUpdate { token: string | number; message: string; percentage: number; }

El progreso se puede seguir a través del token de progreso devuelto en el resultado de la operación.

Desarrollo

Edificio

npm run build

Pelusa

npm run lint

Formato

npm run format

Pruebas

npm test

Configuración

El servidor se puede configurar a través de varios ajustes:

  • Limitación de velocidad : configure límites de solicitud y ventanas
  • Informes de progreso : control de la frecuencia de actualización y el nivel de detalle
  • Acceso a recursos : configurar permisos y límites de recursos
  • Configuración de seguridad : configurar reglas de validación de ruta
  • Seguimiento de cambios : establezca períodos de retención y opciones de almacenamiento
  • Configuración del reloj : configure los tiempos de rebote y la observación recursiva

Manejo de errores

El servidor proporciona información detallada de errores a través de la clase FileOperationError y los códigos de error MCP:

Códigos de error MCP estándar

  • InvalidRequest : Parámetros o formato de solicitud no válidos
  • MethodNotFound : Herramienta o recurso desconocido solicitado
  • InvalidParams : parámetros no válidos (por ejemplo, error de validación de ruta)
  • InternalError : Errores del lado del servidor

Tipos de errores personalizados

  • Errores en la operación de archivos
  • Límite de velocidad excedido
  • Errores de validación de ruta
  • Errores de acceso a recursos

Cada error incluye:

  • Código de error específico
  • Mensaje de error detallado
  • Metadatos relevantes (rutas de archivos, límites, etc.)
  • Rastreos de pila en modo de desarrollo

Contribuyendo

  1. Bifurcar el repositorio
  2. Crea tu rama de funciones ( git checkout -b feature/amazing-feature )
  3. Confirme sus cambios ( git commit -m 'Add amazing feature' )
  4. Empujar a la rama ( git push origin feature/amazing-feature )
  5. Abrir una solicitud de extracción

Licencia

Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Un servidor de protocolo de contexto de modelo que permite operaciones mejoradas del sistema de archivos, incluyendo lectura, escritura, copia, movimiento de archivos con capacidades de transmisión, administración de directorios, observación de archivos y seguimiento de cambios.

  1. Características
    1. Instalación
      1. Instalación mediante herrería
      2. Instalación manual
    2. Uso
      1. Iniciando el servidor
      2. Herramientas disponibles
      3. Recursos disponibles
      4. Ejemplo de uso
    3. Límites de velocidad
      1. Características de seguridad
        1. Validación de ruta
        2. Protección de recursos
      2. Informes de progreso
        1. Desarrollo
          1. Edificio
          2. Pelusa
          3. Formato
          4. Pruebas
        2. Configuración
          1. Manejo de errores
            1. Códigos de error MCP estándar
            2. Tipos de errores personalizados
          2. Contribuyendo
            1. Licencia

              Related MCP Servers

              • -
                security
                A
                license
                -
                quality
                A Model Context Protocol server that provides file system operations, analysis, and manipulation capabilities through a standardized tool interface.
                Last updated -
                1
                TypeScript
                MIT License
              • -
                security
                F
                license
                -
                quality
                A filesystem Model Context Protocol server that provides Claude Desktop with capabilities to read, write, and manipulate files on your system.
                Last updated -
                TypeScript
              • -
                security
                A
                license
                -
                quality
                A Model Context Protocol server that provides secure and intelligent interaction with files and filesystems, offering smart context management and token-efficient operations for working with large files and complex directory structures.
                Last updated -
                5
                Python
                MIT License
                • Apple
                • Linux
              • A
                security
                F
                license
                A
                quality
                A Model Context Protocol server that manages desktop images, providing functionality to count, list, and compress image files stored on the desktop.
                Last updated -
                3
                154
                1
                JavaScript
                • Apple

              View all related MCP servers

              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/bsmi021/mcp-file-operations-server'

              If you have feedback or need assistance with the MCP directory API, please join our Discord server