logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

mcp-remote-ftp-gateway

Facilitate secure interaction with remote File Transfer Protocol (FTP) endpoints via natural language commands. Essential functions include remote directory enumeration, binary and text file transfer (upload/download), and remote filesystem structure modification (creation/removal of directories and objects).

Author

mcp-remote-ftp-gateway logo

alxspiker

MIT License

Quick Info

GitHub GitHub Stars 11
NPM Weekly Downloads 0
Tools 1
Last Updated 2026-02-19

Tags

ftpfilesdirectoriesftp serversserver ftpinteract ftp

MseeP.ai Security Assessment Badge

Model Context Protocol Gateway for FTP Connectivity

smithery badge

This implementation of the Model Context Protocol (MCP) furnishes the operational interface necessary for AI agents (like Claude.app) to execute comprehensive management tasks against remote FTP resources. Capabilities encompass remote listing of navigational elements, retrieval and deposition of data objects, instantiation of new folder structures, and eradication of existing files or directories.

Core Functionality

  • Directory Listing: Inspection of the contents (files and sub-directories) within a specified FTP location.
  • File Retrieval: Securely fetching content from the FTP repository to the local environment.
  • File Deposition: Transferring local data to the server, either creating new entries or overwriting existing ones.
  • Directory Provisioning: Establishing novel organizational folders on the remote system.
  • Object Annihilation: Permitting the removal of both individual files and empty or populated directories.

Deployment Guidance

Automated Installation via Smithery

For streamlined integration into Claude Desktop utilizing the Smithery registry:

npx -y @smithery/cli install @alxspiker/mcp-server-ftp --client claude

Prerequisites

  • Runtime environment: Node.js version 16 or newer.
  • Client compatibility: Claude for Desktop or any client supporting the MCP standard.

Compilation from Source

Unix-like Systems (Linux/macOS)

# Obtain the source repository
git clone https://github.com/alxspiker/mcp-server-ftp.git
cd mcp-server-ftp

# Install required package dependencies
npm install

# Execute the build process
npm run build

Windows Systems

# Obtain the source repository
git clone https://github.com/alxspiker/mcp-server-ftp.git
cd mcp-server-ftp

# Utilize the dedicated Windows build utility script
build-windows.bat

The build-windows.bat script is designed to manage dependency resolution and compilation on Windows, providing fallbacks for potential TypeScript compiler failures.

Configuration Parameters

To integrate this service handler within Claude Desktop, modifications to your primary configuration file are required:

MacOS/Linux Path

Modify ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "ftp-server": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-server-ftp/build/index.js"],
      "env": {
        "FTP_HOST": "ftp.example.com",
        "FTP_PORT": "21",
        "FTP_USER": "your-username",
        "FTP_PASSWORD": "your-password",
        "FTP_SECURE": "false"
      }
    }
  }
}

Windows Path

Modify %APPDATA%\Claude\claude_desktop_config.json:

{
  "mcpServers": {
    "ftp-server": {
      "command": "node",
      "args": ["C:\\path\\to\\mcp-server-ftp\\build\\index.js"],
      "env": {
        "FTP_HOST": "ftp.example.com",
        "FTP_PORT": "21",
        "FTP_USER": "your-username",
        "FTP_PASSWORD": "your-password",
        "FTP_SECURE": "false"
      }
    }
  }
}

Troubleshooting Windows Compilation Difficulties

Should compilation fail on a Windows environment:

  1. Execute the supplied build-windows.bat utility script.
  2. Verify correct installation and pathing for Node.js and npm.
  3. Attempt direct invocation of the TypeScript compiler: npx tsc
  4. If issues persist, utilize the already compiled binaries located in the build directory by executing: node path\to\mcp-server-ftp\build\index.js

Environment Variable Reference

Variable Functionality Description Default Value
FTP_HOST Target FTP server's hostname or IP address localhost
FTP_PORT Service port utilized by the FTP server 21
FTP_USER Authentication credential for access anonymous
FTP_PASSWORD Secret authentication string (empty string)
FTP_SECURE Flag to enable/disable secure FTPS protocol false

Operational Examples

After configuration application and client restart, natural language queries can drive FTP operations:

  • "Display the manifest of objects within the /archives path on the specified FTP instance."
  • "Transfer the file /reports/Q3_summary.pdf from the remote FTP host."
  • "Push the attached data content as a new entity named 'session_log.txt' to the FTP server's root."
  • "Instantiate a new directory structure named 'deployments' on the remote FTP."
  • "Erase the file named 'temp_cache.tmp' from the FTP server."
  • "Initiate the removal of the empty folder structure located at /staging/old_work."

Exposed Interface Primitives

Primitive Name Functionality Summary
list-directory Executes remote directory content enumeration.
download-file Retrieves a specific file object from the server.
upload-file Pushes a file object to the server.
create-directory Reserves a new folder on the remote filesystem.
delete-file Removes a discrete file entity.
delete-directory Removes a directory structure.

Security Posture

  • All FTP access credentials are persisted within the client's configuration file; secure file system permissions are mandatory for this file.
  • Migration to FTPS (by setting FTP_SECURE=true) is strongly advised if the destination server supports this encrypted transmission mode.
  • The gateway service employs the operating system's temporary directory for staging incoming and outgoing file transfers.

License

MIT

WIKIPEDIA: Cloud computing is "a paradigm for enabling network access to a scalable and elastic pool of shareable physical or virtual resources with self-service provisioning and administration on-demand," according to ISO. It is commonly referred to as "the cloud".

== Characteristics == In 2011, the National Institute of Standards and Technology (NIST) identified five "essential characteristics" for cloud systems. Below are the exact definitions according to NIST:

On-demand self-service: "A consumer can unilaterally provision computing capabilities, such as server time and network storage, as needed automatically without requiring human interaction with each service provider." Broad network access: "Capabilities are available over the network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms (e.g., mobile phones, tablets, laptops, and workstations)." Resource pooling: " The provider's computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to consumer demand." Rapid elasticity: "Capabilities can be elastically provisioned and released, in some cases automatically, to scale rapidly outward and inward commensurate with demand. To the consumer, the capabilities available for provisioning often appear unlimited and can be appropriated in any quantity at any time." Measured service: "Cloud systems automatically control and optimize resource use by leveraging a metering capability at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency for both the provider and consumer of the utilized service. By 2023, the International Organization for Standardization (ISO) had expanded and refined the list.

== History ==

The history of cloud computing extends to the 1960s, with the initial concepts of time-sharing becoming popularized via remote job entry (RJE). The "data center" model, where users submitted jobs to operators to run on mainframes, was predominantly used during this era. This was a time of exploration and experimentation with ways to make large-scale computing power available to more users through time-sharing, optimizing the infrastructure, platform, and applications, and increasing efficiency for end users. The "cloud" metaphor for virtualized services dates to 1994, when it was used by General Magic for the universe of "places" that mobile agents in the Telescript environment could "go". The metaphor is credited to David Hoffman, a General Magic communications specialist, based on its long-standing use in networking and telecom. The expression cloud computing became more widely known in 1996 when Compaq Computer Corporation drew up a business plan for future computing and the Internet. The company's ambition was to superch

See Also

`