Skip to main content
Glama
nao9net

FTP MCP Server

by nao9net

FTP MCP Server (versión multiserver)

Es un servidor local para subir, listar y eliminar archivos de múltiples servidores FTP desde un único servidor MCP.

En cada llamada a una herramienta, se especifica qué servidor se va a operar mediante el parámetro server (alias). El archivo a subir se especifica mediante una ruta absoluta local, y el contenido del archivo en sí no se incluye en los argumentos de la llamada a la herramienta (para no cargar datos binarios como imágenes en el contexto del LLM).

Uso principal: subir las imágenes generadas a una carpeta pública en un servidor web, pasar su URL a wp_upload_media_from_url (wp-mcp) para registrarlas formalmente en la biblioteca de medios de WordPress, como primera fase de un flujo de dos pasos.


1. Configuración

cd ftp-mcp
npm install

Copia servers.json.example a servers.json y escribe la información de todos los servidores que se van a gestionar (este archivo contiene las credenciales de todos los servidores, por lo que nunca debe publicarse, compartirse ni enviarse a Git. Está incluido en .gitignore).

cp servers.json.example servers.json
{
  "mysite": {
    "host": "ftp.example.com",
    "user": "user@example.com",
    "password": "xxxxxxxx",
    "base_path": "/resource",
    "public_base_url": "https://example.com/resource"
  }
}
  • base_path: carpeta raíz de destino de subida de este servidor (ruta absoluta desde la raíz del FTP). Todas las herramientas especifican los archivos mediante rutas relativas a este base_path.

  • public_base_url: base de la URL pública correspondiente a base_path. Tras la subida, se devuelve la URL resultante de combinar esta base con la ruta relativa.

  • port (opcional, por defecto 21), secure (opcional, por defecto false; usar true si se emplea FTPS (TLS implícito)).

Related MCP server: mcp-ftp-server

2. Registro en Claude Code

Dentro de la carpeta raíz del proyecto que use Claude Code, añade la información del servidor MCP en .mcp.json.

{
  "mcpServers": {
    "ftp": {
      "command": "node",
      "args": ["/MCPの保存パス/ftp-mcp/index.js"],
      "env": {
        "SERVERS_CONFIG_PATH": "/MCPの保存パス/ftp-mcp/servers.json"
      }
    }
  }
}

3. Herramientas proporcionadas

  • ftp_list_servers — Obtiene la lista de servidores configurados (alias, host, base_path, public_base_url)

  • ftp_upload_file — Sube un archivo local (ruta absoluta) y devuelve la URL pública. Las subcarpetas incluidas en remote_path se crean automáticamente

  • ftp_list_files — Obtiene la lista de archivos en la carpeta especificada a partir de base_path

  • ftp_delete_file — Elimina un archivo especificando una ruta relativa a base_path (se prevé su uso para limpiar archivos temporales después de incorporarlos a la biblioteca de medios de WordPress)

Notas adicionales

  • La librería de dependencias es basic-ftp (compatible con FTP/FTPS, basada en Promesas).

  • Las rutas que contengan .. en remote_path generarán un error (para evitar escrituras o eliminaciones fuera de base_path).

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that enables users to upload local files to S3-compatible storage and retrieve shareable public URLs. Files are automatically organized into unique UUID-based folders to prevent naming conflicts while preserving original filenames.
    9 npm
    MIT
  • F
    license
    A
    quality
    F
    maintenance
    Enables FTP file operations such as upload, download, list, and delete directly from Claude Desktop or Claude CLI.
    15
    -
  • A
    license
    B
    quality
    D
    maintenance
    Enables AI agents to perform FTP/FTPS/SFTP file operations including upload, download, sync, and directory management with multi-server support.
    36
    40 npm
    5
    MIT
  • F
    license
    A
    quality
    D
    maintenance
    Enables accessing and managing files from configured folders with filtering and size limits, allowing listing, reading, and searching files via MCP tools and resources.
    3
    -