home / mcp / ftp mcp server

FTP MCP Server

This read-only MCP Server allows you to connect to FTP data from Claude Desktop through CData JDBC Drivers. For full CRUD support, check out our MCP Server for FTP (https://www.cdata.com/drivers/ftp/download/mcp).

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "cdatasoftware-ftp-mcp-server-by-cdata": {
      "command": "java",
      "args": [
        "-jar",
        "/PATH/TO/CDataMCP-jar-with-dependencies.jar",
        "/PATH/TO/ftp.prp"
      ]
    }
  }
}

You use this MCP server to query live FTP data through the MCP interface without writing SQL. It wraps the CData JDBC Driver for FTP to expose FTP-backed data as MCP-readable tables, enabling you to ask natural language questions and retrieve up-to-date results from your FTP sources. This setup is read-only, suitable for ingesting live data into LLMs and similar clients.

How to use

Once your MCP server is running, you can interact with it from an MCP client to read data from FTP sources. You don’t need to write SQL; ask questions in natural language and the client will use the available tools to discover tables, inspect columns, and run queries against your FTP data. Typical use cases include checking table structures, listing records that meet criteria, and retrieving summaries or specific rows from FTP-hosted data.

How to install

Prerequisites: ensure you have a Java runtime and a Java build tool installed (Java 8+ and Maven). You will also need an FTP data source configured through the CData JDBC Driver for FTP, including a licensed driver and a JDBC connection string.

Step by step commands to set up the MCP server and run it locally:

# 1) Clone the MCP server project
git clone https://github.com/cdatasoftware/ftp-mcp-server-by-cdata.git
cd ftp-mcp-server-by-cdata

# 2) Build the MCP server JAR
mvn clean install
# This creates: CDataMCP-jar-with-dependencies.jar

# 3) Install the CData JDBC Driver for FTP (follow this URL for the driver and licensing steps)
# - Download and install the driver from the CData site

# 4) License the CData JDBC Driver for FTP
# - Navigate to the installation lib folder and run the license command
# Windows example path: C:\Program Files\CData\CData JDBC Driver for FTP\
# Mac/Linux example path: /Applications/CData JDBC Driver for FTP/
# Command:
java -jar cdata.jdbc.ftp.jar --license
# Enter your name, email, and TRIAL or your license key

# 5) Configure the connection to your FTP data source
# - Run the Connection String utility to create a connection string
java -jar cdata.jdbc.ftp.jar
# - Test the connection and copy the connection string for the next step

# 6) Create a .prp file for the JDBC connection (example values shown; replace with your data)
# ftp.prp
Prefix=ftp
ServerName=CDataFTP
ServerVersion=1.0
DriverPath=/path/to/cdata.jdbc.ftp.jar
DriverClass=cdata.jdbc.ftp.FTPDriver
JdbcUrl=jdbc:ftp:InitiateOAuth=GETANDREFRESH;
Tables=

# 7) Run the MCP server with the prepared .prp file
java -jar /PATH/TO/CDataMCP-jar-with-dependencies.jar /PATH/TO/ftp.prp

Additional configuration and notes

The server runs in stdio mode, meaning it can be used with clients that operate on the same machine. It exposes a small set of read-only MCP tools to interact with FTP-backed data. You will typically start by listing available tables, then listing columns for a chosen table, and finally running a query to retrieve data.

If you plan to integrate with Claude Desktop or another MCP client, you will need to configure the client to launch the MCP server process with the ftp.prp file as shown in the example command above. Ensure the client is restarted after adding or updating the MCP server configuration so the new server is discoverable.

Troubleshooting and tips

If the MCP server is not visible to your client, fully quit the client and restart it to refresh the MCP server list. Double-check that the .prp file contains the correct JdbcUrl and that the JDBC driver is licensed. If the client cannot retrieve data, verify the connection string and ensure the FTP data source is accessible from the machine running the server. If issues persist, re-run the license step for the JDBC driver and re-test the connection.

License and distribution

This MCP server is distributed under the MIT License. You may use, modify, and share it in accordance with the license terms.

Tools and capabilities

The MCP server provides a small set of read-only tools to interact with FTP data. The available tools include:

- ftp_get_tables β€” Retrieves a list of tables available in the data source. The output is CSV with column headers on the first line.

- ftp_get_columns β€” Retrieves a list of columns for a specified table. The output is CSV with column headers on the first line.

- ftp_run_query β€” Executes a SQL SELECT query against the FTP-backed data and returns results.

Available tools

ftp_get_tables

Retrieves a list of tables available in the FTP data source. Output is CSV with column headers in the first line.

ftp_get_columns

Retrieves a list of columns for a given table. Output is CSV with column headers in the first line.

ftp_run_query

Executes a SQL SELECT query against the FTP-backed data and returns results.