Skip to main content
Glama
nao9net

FTP MCP Server

by nao9net

FTP MCP Server (multi-server version)

A local server for uploading/listing/deleting files to multiple FTP servers from a single MCP server.

Each tool call specifies which server to operate on via the server parameter (alias). Upload targets are specified by local absolute paths, and the file contents themselves are not included in the tool call arguments (this avoids putting binary data such as images into the LLM context).

Main use case: the first half of a two-step flow in which generated images are uploaded to a public folder on a web server, and the URL is passed to wp_upload_media_from_url (wp-mcp) to formally register them in the WordPress media library.


1. Setup

cd ftp-mcp
npm install

Copy servers.json.example to servers.json and write the information for all servers you manage (this file contains credentials for all servers, so never publish, share, or commit it to Git. It is included in .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: the root folder for uploads on this server (absolute path from the FTP root). All tools specify files with relative paths starting from this base_path.

  • public_base_url: the public URL base corresponding to base_path. After upload, a URL combining this with the relative path is returned.

  • port (optional, default 21), secure (optional, default false. Set to true to use FTPS (implicit TLS)).

Related MCP server: mcp-ftp-server

2. Registration with Claude Code

In the root folder of the project using Claude Code, add the MCP server information to .mcp.json.

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

3. Provided tools

  • ftp_list_servers — get the list of configured servers (alias, host, base_path, public_base_url)

  • ftp_upload_file — upload a local file (absolute path) and return the public URL. Subfolders included in remote_path are created automatically

  • ftp_list_files — get the list of files in the specified folder starting from base_path

  • ftp_delete_file — delete a file by specifying a relative path starting from base_path (intended for cleaning up temporary files after importing into the WordPress media library)

Notes

  • Uses the basic-ftp dependency library (FTP/FTPS support, Promise-based).

  • Paths containing .. in remote_path will result in an error (to prevent writing/deleting outside base_path).

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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.
    14
    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
    22
    1
    MIT
  • F
    license
    Not graded
    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.

View all related MCP servers

Related MCP Connectors

  • File uploads for AI agents. Upload, list, and manage files. No signup required.

  • OCR, transcription, file extraction, and image generation for AI agents via MCP.

  • List, share, upload, and manage Slideless HTML presentations from any MCP host.

View all MCP Connectors

Latest Blog Posts

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/nao9net/ftp-mcp'

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