Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

FTP Doc Reader Server

БесплатноНе проверен

Enables searching Word documents on remote FTP/FTPS servers by keyword, returning matching files with context snippets.

GitHubEmbed

Описание

Enables searching Word documents on remote FTP/FTPS servers by keyword, returning matching files with context snippets.

README

中文文档

An MCP (Model Context Protocol) server that recursively searches .doc and .docx files in a specified directory on a remote FTP/FTPS server, matches document content by keyword, and returns relevant files with context snippets.

Features

  • Recursive directory scanning: Automatically scans all Word documents in FTP directories and subdirectories (max depth 10, max 200 files)
  • Content keyword matching: Case-insensitive full-text search, returns context snippets (100 characters before and after each match)
  • Supports .doc and .docx: Handles both legacy binary format and modern XML format
  • FTP/FTPS dual protocol: Supports plain FTP and TLS-encrypted FTPS
  • Local file caching: Size-based cache invalidation strategy to avoid redundant downloads
  • Auto retry: Transient network errors are automatically retried 3 times (2-second intervals)
  • Deploy via uvx: No manual dependency management required

Installation

Via uvx (Recommended)

uvx ftp-doc-reader

From source

git clone https://github.com/hackerpl/doc-mcp-server.git
cd doc-mcp-server
pip install -e .

MCP Configuration

Claude Desktop

Edit claude_desktop_config.json:

{
  "mcpServers": {
    "ftp-doc-reader": {
      "command": "uvx",
      "args": ["ftp-doc-reader"],
      "env": {
        "FTP_HOST": "ftp.example.com",
        "FTP_USERNAME": "your_username",
        "FTP_PASSWORD": "your_password",
        "FTP_PROTOCOL": "FTP",
        "FTP_PORT": "21",
        "CACHE_DIR": ".cache"
      }
    }
  }
}

Kiro

Edit .kiro/settings/mcp.json:

{
  "mcpServers": {
    "ftp-doc-reader": {
      "command": "uvx",
      "args": ["ftp-doc-reader"],
      "env": {
        "FTP_HOST": "ftp.example.com",
        "FTP_USERNAME": "your_username",
        "FTP_PASSWORD": "your_password"
      },
      "disabled": false,
      "autoApprove": ["search_docs"]
    }
  }
}

Cursor

Edit ~/.cursor/mcp.json:

{
  "mcpServers": {
    "ftp-doc-reader": {
      "command": "uvx",
      "args": ["ftp-doc-reader"],
      "env": {
        "FTP_HOST": "ftp.example.com",
        "FTP_USERNAME": "your_username",
        "FTP_PASSWORD": "your_password"
      }
    }
  }
}

From GitHub source (development)

{
  "mcpServers": {
    "ftp-doc-reader": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/hackerpl/doc-mcp-server.git", "ftp-doc-reader"],
      "env": {
        "FTP_HOST": "ftp.example.com",
        "FTP_USERNAME": "your_username",
        "FTP_PASSWORD": "your_password"
      }
    }
  }
}

Environment Variables

Variable Required Default Description
FTP_HOST FTP server hostname or IP
FTP_USERNAME FTP login username
FTP_PASSWORD FTP login password
FTP_PORT 21 FTP server port
FTP_PROTOCOL FTP Connection protocol: FTP or FTPS
CACHE_DIR .cache Local cache directory path

Environment variables can be set via the env field in MCP configuration, or by placing a .env file in the project directory.

MCP Tool

search_docs

Search Word document content in a remote FTP directory.

Parameters:

Parameter Type Description
query string (1-500 chars) Search keyword or phrase
directory_path string (1-1024 chars) Remote FTP directory path

Returns:

A list of matching results (sorted by match count descending), each containing:

  • file_path — Full remote path of the file
  • file_name — File name
  • snippets — List of matched context snippets (max 5 per file)

Usage example:

Search for documents containing "installation guide" in the /products/docs directory on the FTP server

The AI assistant will call:

{
  "tool": "search_docs",
  "arguments": {
    "query": "installation guide",
    "directory_path": "/products/docs"
  }
}

Development

# Install development dependencies
pip install -e ".[dev]"

# Run tests
pytest

# Run tests with coverage
pytest --cov

# Start server directly (requires .env file)
python -m ftp_doc_reader

Tech Stack

  • Python 3.10+
  • MCP Python SDK (FastMCP)
  • python-docx (.docx parsing)
  • olefile (.doc parsing)
  • python-dotenv (environment variable management)

License

MIT

from github.com/hackerpl/doc-mcp-server

Установить FTP Doc Reader Server в Claude Desktop, Claude Code, Cursor

Рекомендуется · одна команда, все IDE
unyly install ftp-doc-reader-mcp-server

Ставит в Claude Desktop, Claude Code, Cursor и VS Code — сам разбирается с npx, uvx и сборкой из исходников.

Впервые? Поставь CLI: curl -fsSL https://unyly.org/install | sh

Или настроить вручную

Выполни в терминале:

claude mcp add ftp-doc-reader-mcp-server -- uvx ftp-doc-reader

FAQ

FTP Doc Reader Server MCP бесплатный?

Да, FTP Doc Reader Server MCP бесплатный — установка в пару кликов через Unyly без оплаты.

Нужен ли API-ключ для FTP Doc Reader Server?

Нет, FTP Doc Reader Server работает без API-ключей и переменных окружения.

FTP Doc Reader Server — hosted или self-hosted?

Доступен hosted-вариант: Unyly запускает сервер в облаке, локальная установка не обязательна.

Как установить FTP Doc Reader Server в Claude Desktop, Claude Code или Cursor?

Открой FTP Doc Reader Server на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.

Похожие MCP

Compare FTP Doc Reader Server with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории development