Skip to main content
Glama

build status GitHub Tag License Last Commit node version npm Version npm Downloads

🗃️ftpmcp🗃️

FTPおよびFTPSのファイル操作に特化した、Model Context Protocolサーバーです。意図的にSFTPは実装していません。SSHベースの転送は、ここで認証情報と転送ロジックを重複させる代わりに、SSH用のMCPサーバーに委ねるべきものです。

기능

  • プレーンFTP、明示的FTPS(explicit FTPS)、暗黄的FTPS(implicit FTPS)

  • 1つのMCPプロセス内に任意の数の名前付きFTPホスト

  • リモート操作は各ホストのrootに制限される

  • ローカルのアップロードとダウンロードは、シンボリックリンクのチェックを含め、各ホストのlocal_rootに制限される

  • 読み取り専用モードと別途保護された削除機能

  • 構造化されたMCPの結果とエラー

  • ツールの応答に認証情報は含まれない

Related MCP server: filemanager-mcp-server

インストール

npm install -g @vielhuber/ftpmcp

設定

{
    "hosts": [
        {
            "host": "website",
            "hostname": "ftp.example.com",
            "protocol": "ftps",
            "port": 21,
            "username": "user",
            "password": "your_password",
            "root": "/public_html",
            "local_root": "/host/data",
            "read_only": false,
            "allow_delete": false,
            "tls_reject_unauthorized": true,
            "timeout": 30000
        }
    ]
}

サーバーにファイルを渡します。

export FTP_CONFIG_FILE=/path/to/ftp-hosts.json

protocolはftp、ftps、ftps-implicitを受け付けます。サーバーが対応している場合は、FTPSを優先してください。プレーンFTPは認証情報とコンテンツを暗号化せずに送信します。

rootは、そのホストの全ツールパスから見えるリモートルートです。FTPアカウント自体にも、同等のサーバー側chrootを設定してください。FTPは、サーバー側で提供されるシンボリックリンクがクライアント側のパス境界の外を指すことを、確実には防げません。

local_rootはローカルでのアップロードとダウンロードを制限します。相対パスおよびそのディレクトより下の絶対パスの両方を受け入れます。

read_only: true指定时は、アップロード、ディレクトリ作成、名前変更、削除をブロックします。削除を行うには、さらにallow_delete: trueが必要です。

list_hostsを除くすべての操作には、選択したhostエイリアスが必要です。

MCPクライアント

{
    "mcpServers": {
        "ftp": {
            "command": "ftpmcp",
            "env": {
                "FTP_CONFIG_FILE": "/path/to/ftp-hosts.json"
            }
        }
    }
}

工具

ツール

目的

list_hosts

認証情報なしで設定済みのすべてのホストを一覧表示する

test_connection

設定した接続とログインを検証する

list_directory

1つのリモートディレクトリを一覧表示する

download_file

選択したホストのlocal_root配下にあるリモートファイルをダウンロードする

upload_file

本地域のファイルをデフォルトでは上書きせずにアップロードする

create_directory

eaten場所 of remote directory

-> (wait original: create_directory

Create a remote directory)

rename_path

リモートのファイルまたはディレクトリの名前を変更・移動する

delete_file

削除が有効な場合に1つのファイルを削除する

delete_directory

削除が有効な場合に、空のディレクトリまたは明示的に再帰的に指定したディレクトリを削除する

開発

npm install
npm test
npm run format:check

ライセンス

MITbuild status GitHub Tag License Last Commit node version npm Version npm Downloads

🗃️ftpmcp🗃️

FTP および FTPS のファイル操作に特化した Model Context Protocol サーバーです。意図的に SFTP は実装していません。SSH ベースの転送は、ここで資格情報と転送ロジックを重複させる代わりに、SSH 用の MCP に任せるべきものです。

機能

  • プレーン FTP、explicit FTPS、implicit FTPS

  • 1 つの MCP プロセス内で任意の数の名前付き FTP ホストを扱える

  • リモート操作は各ホストの root に制限される

  • ローカルのアップロードとダウンロードは、シンボリックリンクのチェックも含めて、各ホストの local_root に制限される

  • 読み取り専用モードと、別途保護された削除機能

  • 構造化された MCP の結果とエラー

  • ツールの応答に認証情報の値が含まれない

インストール

npm install -g @vielhuber/ftpmcp

設定

{
    "hosts": [
        {
            "host": "website",
            "hostname": "ftp.example.com",
            "protocol": "ftps",
            "port": 21,
            "username": "user",
            "password": "your_password",
            "root": "/public_html",
            "local_root": "/host/data",
            "read_only": false,
            "allow_delete": false,
            "tls_reject_unauthorized": true,
            "timeout": 30000
        }
    ]
}

サーバーにファイルを渡します:

export FTP_CONFIG_FILE=/path/to/ftp-hosts.json

protocol は ftp、ftps、ftps-implicit を受け付けます。サーバーが対応している場合は常に FTPS を推奨します。プレーン FTP は認証情報とコンテンツを転送時の暗号化なしで送信します。

root は、そのホスト上のすべてのツールパスに対して表示されるリモートのルートです。FTP アカウント自体にも、同等のサーバー側 chroot を設定してください。FTP は、サーバー提供のシンボリックリンクがクライアント側だけのパス境界の外を指すことを確実には防げません。

local_root はローカルのアップロードとダウンロードを制限します。相対パスと、そのディレクトリより下にある絶対パスの両方が受け入れられます。

read_only: true は、アップロード、ディレクトリ作成、名前変更、削除をブロックします。削除にはさらに allow_delete: true が必要です。

list_hosts を除くすべての操作には、選択した host エイリアスが必要です。

MCP クライアント

{
    "mcpServers": {
        "ftp": {
            "command": "ftpmcp",
            "env": {
                "FTP_CONFIG_FILE": "/path/to/ftp-hosts.json"
            }
        }
    }
}

ツール

ツール

目的

list_hosts

認証情報を含めずに、設定済みのすべてのホストを一覧表示する

test_connection

設定された接続とログインを検証する

list_directory

1 つのリモートディレクトリを一覧表示する

download_file

選択したホストの local_root より下にあるリモートファイルをダウンロードする

upload_file

デフォルトで上書きせずにローカルファイルをアップロードする

create_directory

リモートディレクトリを作成する

rename_path

リモートのファイルまたはディレクトリの名前を変更または移動する

delete_file

削除が有効な場合に 1 つのファイルを削除する

delete_directory

削除が有効な場合に、空のディレクトリまたは明示的に再帰的に指定されたディレクトリを削除する

開発

npm install
npm test
npm run format:check

ライセンス

MIT

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server for performing filesystem operations, enabling file management and manipulation through natural language.
    MIT
  • A
    license
    C
    quality
    C
    maintenance
    A file management MCP server enabling complete file and directory operations, including advanced editing, templates, and batch processing through natural language.
    19
    19 npm
    3
    ISC
  • A
    license
    A
    quality
    A
    maintenance
    An MCP server that enables AI coding agents to deploy files to FTP/FTPS/SFTP servers, with path jail, read-only mode, and dry-run capabilities.
    10
    MIT
  • A
    license
    B
    quality
    A
    maintenance
    A secure file management MCP server enabling file operations like listing, reading, creating, renaming, moving, copying, deleting, and searching within a restricted workspace.
    10
    MIT