FTP Doc Reader Server
БесплатноНе проверенEnables searching Word documents on remote FTP/FTPS servers by keyword, returning matching files with context snippets.
Описание
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 filefile_name— File namesnippets— 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
Установить FTP Doc Reader Server в Claude Desktop, Claude Code, Cursor
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-readerFAQ
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
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectCompare FTP Doc Reader Server with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
