Skip to main content
Glama
nao9net

FTP MCP Server

by nao9net

FTP MCP 서버(멀티 서버 지원 버전)

여러 FTP 서버에 하나의 MCP 서버에서 일괄적으로 파일을 업로드/목록 조회/삭제하기 위한 로컬 서버입니다.

각 도구 호출 시 server 파라미터(별칭)로 어떤 서버를 조작할지 지정합니다. 업로드 대상은 로컬의 절대 경로로 지정하며, 파일 내용 자체는 도구 호출의 인수에 포함하지 않습니다 (이미지 등 바이너리 데이터를 LLM의 컨텍스트에 싣지 않도록 하기 위함).

주요 용도: 생성한 이미지를 웹 서버의 공개 폴더에 업로드하고, 그 URL을 wp_upload_media_from_url(wp-mcp)에 전달하여 WordPress의 미디어 라이브러리에 정식 등록하는 2단계 플로우의 전단계.


1. 셋업

cd ftp-mcp
npm install

servers.json.example을 servers.json에 복사하여 관리할 모든 서버의 정보를 작성합니다 (이 파일에는 모든 서버의 인증 정보가 들어 있으므로 절대 공개·공유·Git 커밋하지 마세요. .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: 이 서버의 업로드 대상 루트 폴더(FTP 루트로부터의 절대 경로). 모든 도구는 이 base_path를 기준으로 한 상대 경로로 파일을 지정합니다.

  • public_base_url: base_path에 대응하는 공개 URL의 베이스. 업로드 후 이 값과 상대 경로를 결합한 URL을 반환합니다.

  • port(생략 가능·기본값 21), secure(생략 가능·기본값 false. FTPS(암시적 TLS)를 사용하는 경우 true).

Related MCP server: mcp-ftp-server

2. Claude Code에 등록

Claude Code를 사용하는 프로젝트의 루트 폴더 안에서 .mcp.json에 mcp 서버 정보를 추가합니다.

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

3. 제공 도구

  • ftp_list_servers — 설정된 서버 목록(별칭·호스트·base_path·public_base_url)을 가져옴

  • ftp_upload_file — 로컬 파일(절대 경로)을 업로드하고 공개 URL을 반환. remote_path에 포함된 하위 폴더는 자동 생성됨

  • ftp_list_files — base_path 기준의 지정 폴더 내 파일 목록을 가져옴

  • ftp_delete_file — base_path 기준의 상대 경로를 지정하여 파일을 삭제 (WordPress 미디어 라이브러리로 가져온 후 임시 파일을 정리하는 용도로 사용)

보충

  • 의존 라이브러리는 basic-ftp를 사용(FTP/FTPS 지원, Promise 기반).

  • remote_path에 ..가 포함된 경로는 오류가 됩니다(base_path 밖으로의 쓰기·삭제를 방지하기 위함).

Related MCP Connectors

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.
    9 npm
    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
    40 npm
    5
    MIT
  • F
    license
    A
    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.
    3
    -