FTP服务器工具

一个包含MCP服务器和独立FTP服务器的工具,支持通过Gemini CLI进行自然语言交互和文件管理。

  • by ahinoam400
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 ahinoam400/ftp-mcp-server

使用说明

FTP MCP服务器

该项目包含两个主要组成部分:

  1. 具有FTP客户端功能的MCP服务器。
  2. 独立的FTP服务器。

先决条件

  • Python 3.7+
  • pip(Python包安装程序)
  • Node.js和npm(用于Gemini CLI)

设置

  1. 克隆存储库(或下载文件):

    git clone <repository-url>
    cd ftp-mcp-server
    
  2. 创建并激活虚拟环境:

    • 窗户:

      python -m venv .venv
      .\.venv\Scripts\activate
      
    • Linux/macOS:

      python3 -m venv .venv
      source .venv/bin/activate
      
  3. 安装所需的依赖项:

    pip install -r requirements.txt
    
  4. 安装Gemini CLI:

    npm install -g @google/gemini-cli
    

如何使用

从Gemini CLI连接

  1. 启动FTP服务器:
    python ftp_server.py
    
  • 服务器将运行并侦听连接。默认用户凭据为:
    • 用户名: user
    • 密码: 12345
  • 用户的主目录是 ftp_home/.
  1. 配置Gemini CLI以使用本地MCP服务器:

    要使Gemini CLI能够发现MCP服务器,您需要在settings.json文件中对其进行配置。此文件告诉Gemini CLI如何查找MCP服务器并与之通信。

    • 找到您的Gemini设置文件。通常在 ~/.gemini/settings.json (适用于Linux/macOS)或 C:\Users\<YourUsername>\.gemini\settings.json (适用于Windows)。
    • 如果文件或 .gemini 目录不存在,请创建它。
    • 打开 settings.json 并添加以下配置。这篇文章告诉Gemini如何启动本地服务器。
    {
      "mcpServers": {
        "my-python-ftp-server": {
          "command": "<path_to_this_project>/.venv/Scripts/python.exe",
          "args": ["<path_to_this_project>/server.py"],
          "type": "stdio"
        }
      }
    }
    
  2. 启动Gemini:

    • 打开一个新终端并运行 gemini.
    • 在Gemini CLI中,验证与的连接 /mcp 命令。你应该看看 my-python-ftp-server 在可用服务器列表中。
    • 按Control+T查看每个可用工具的详细信息。
  3. 与您的工具互动: 您可以使用自然语言来调用这些工具。
    要连接到默认FTP服务器,请用自然语言键入“连接到服务器”。Gemini将在本自述中找到用户名和密码。

    工作流程示例:

    • 你: Connect to the FTP server.

    • Gemini(使用工具): [tool_code: ftp_connect(server="127.0.0.1", port=2121, user="user", password="12345")]

    • 你: List the files on the FTP server.

    • Gemini(使用工具): [tool_code: ftp_list()]

    • 你: Please upload "my_local_file.txt" to the server as "remote_copy.txt".

    • Gemini(使用工具): [tool_code: ftp_put(local_path="my_local_file.txt", remote_path="remote_copy.txt")]

连接到外部FTP服务器

MCP服务器不限于本地FTP服务器。通过向提供正确的详细信息,您可以连接到任何FTP服务器 ftp_connect 工具。

  1. 确保您的FTP服务器正在运行

  2. 按照上述步骤2和3进行操作

  3. 使用 ftp_connect 该工具包含外部服务器的详细信息。

    例子: 如果您的FTP服务器具有以下凭据:

    • 主持人: ftp.example.com
    • 用户名: myuser
    • 密码: mypassword123

    你可以让双子座这样联系:

    • 你: Connect to the ftp server at ftp.example.com with username myuser and password mypassword123
    • Gemini(使用工具): [tool_code: ftp_connect(host="ftp.example.com", username="myuser", password="mypassword123")]

    连接后,您将收到一个会话ID,并可以使用其他FTP工具(ftp_list, ftp_get等等)与远程服务器交互。 免费在线FTP服务器尝试:https://dlptest.com/ftp-test/