Skip to main content
Glama
nao9net

FTP MCP Server

by nao9net

FTP MCP Server (версия с поддержкой нескольких серверов)

Это локальный сервер для загрузки, просмотра и удаления файлов на нескольких FTP-серверах из одного MCP-сервера.

При каждом вызове инструмента параметр server (алиас) указывает, какой сервер нужно использовать. Целевой файл для загрузки указывается локальным абсолютным путём, а само содержимое файла не включается в аргументы вызова инструмента (чтобы не помещать бинарные данные, такие как изображения, в контекст LLM).

Основное применение: первый этап двухэтапного процесса, при котором сгенерированное изображение загружается в публичную папку на веб-сервере, а его URL передаётся в wp_upload_media_from_url (wp-mcp) для официальной регистрации в медиабиблиотеке WordPress.


1. Настройка

cd ftp-mcp
npm install

Скопируйте servers.json.example в servers.json и укажите информацию обо всех управляемых серверах (этот файл содержит учётные данные всех серверов, поэтому ни в коем случае не публикуйте, не распространяйте и не коммитьте его в Git. Он включён в .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: корневая папка загрузки для этого сервера (абсолютный путь от корня FTP). Все инструменты указывают файлы относительными путями от этого base_path.

  • public_base_url: базовый публичный URL, соответствующий base_path. После загрузки возвращается URL, полученный объединением этого значения с относительным путём.

  • port (необязательно, по умолчанию 21), secure (необязательно, по умолчанию false; установите true для FTPS (неявный TLS)).

Related MCP server: mcp-ftp-server

2. Регистрация в Claude Code

В корневой папке проекта, использующего Claude Code, добавьте информацию о mcp-сервере в .mcp.json.

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

3. Предоставляемые инструменты

  • ftp_list_servers — получить список настроенных серверов (алиас, хост, base_path, public_base_url)

  • ftp_upload_file — загрузить локальный файл (абсолютный путь) и вернуть публичный URL. Подпапки, указанные в remote_path, создаются автоматически

  • ftp_list_files — получить список файлов в указанной папке относительно base_path

  • ftp_delete_file — удалить файл по относительному пути от base_path (предполагается использование для очистки временных файлов после импорта в медиабиблиотеку WordPress)

Дополнительно

  • В качестве зависимой библиотеки используется basic-ftp (поддержка FTP/FTPS, на основе Promise).

  • Пути, содержащие .. в remote_path, вызывают ошибку (для предотвращения записи и удаления за пределами 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
    -