MCP File System Server

Un servidor para operaciones seguras y aisladas del sistema de archivos.

Documentación

Servidor de Sistema de Archivos MCP

Un servidor de Protocolo de Contexto de Modelo (MCP) que proporciona operaciones seguras de sistema de archivos a través de un entorno aislado.

Características

  • Operaciones de archivos seguras: Todas las operaciones están confinadas a un directorio base configurable
  • Protección contra recorrido de rutas: Evita el acceso a archivos fuera del directorio permitido
  • Herramientas integrales: Leer, escribir, listar, eliminar, mover y copiar archivos
  • Manejo de errores: Manejo robusto de errores con mensajes informativos

Instalación

  1. Instalar dependencias:
make install
  1. Establecer el directorio base (opcional):
export MCP_FILE_SYSTEM_BASE_DIR="/path/to/your/sandbox"

Uso

Ejecutar el servidor

make run

O directamente:

uv run src/main.py

Herramientas disponibles

  • read_file(file_path: str) - Leer contenido de archivos
  • write_file(file_path: str, content: str) - Escribir contenido en un archivo
  • list_directory(directory_path: str) - Listar contenido del directorio
  • delete_file(file_path: str) - Eliminar un archivo
  • move_file(source_path: str, destination_path: str) - Mover/renombrar un archivo
  • copy_file(source_path: str, destination_path: str) - Copiar un archivo

Configuración

El servidor utiliza la variable de entorno MCP_FILE_SYSTEM_BASE_DIR para establecer el directorio base para todas las operaciones de archivos. Si no se establece, se utiliza por defecto /tmp/mcp_file_system.

Seguridad

  • Todas las rutas se resuelven en relación con el directorio base
  • Se previenen los ataques de recorrido de rutas (usando ..)
  • Se bloquea el acceso fuera del directorio base
  • Las operaciones de archivos están aisladas

Pruebas

Probar que el servidor se importa correctamente:

make test

Desarrollo

Ejecutar en modo de desarrollo con recarga automática:

make dev

Integración con Claude Desktop

Para usar este servidor con Claude Desktop, agregue lo siguiente a su ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "file-system": {
      "command": "uv",
      "args": [
        "--directory",
        "/ABSOLUTE/PATH/TO/mcp_file_system",
        "run",
        "src/main.py"
      ]
    }
  }
}

Reemplace /ABSOLUTE/PATH/TO/mcp_file_system con la ruta absoluta real a su directorio de proyecto.