FTP Doc Reader MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@FTP Doc Reader MCP Serversearch for 'budget' in /reports/finance"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
FTP Doc Reader MCP Server
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
Related MCP server: MCP Keyword Search Server
Installation
Via uvx (Recommended)
uvx ftp-doc-readerFrom 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 server hostname or IP |
| ✅ | — | FTP login username |
| ✅ | — | FTP login password |
| ❌ |
| FTP server port |
| ❌ |
| Connection protocol: |
| ❌ |
| 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 |
| string (1-500 chars) | Search keyword or phrase |
| 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 serverThe 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_readerTech Stack
Python 3.10+
MCP Python SDK (FastMCP)
python-docx (.docx parsing)
olefile (.doc parsing)
python-dotenv (environment variable management)
License
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Tools
Related MCP Servers
- Flicense-qualityDmaintenanceEnables intelligent file searching in local directories using natural language queries. Supports searching by file type, filename patterns, and content across multiple formats including PDF, Word, Excel, and text files with AI-powered relevance scoring.Last updated
- Flicense-qualityDmaintenanceEnables searching for keywords in files with support for case-sensitive/insensitive matching, returning line numbers, full line content, and match counts for all occurrences.Last updated
- FlicenseBqualityDmaintenanceEnables reading and analyzing Word documents with advanced features including table extraction, OCR image analysis, full-text search, and intelligent caching for optimized performance on large documents.Last updated7
- Flicense-qualityDmaintenanceAn MCP server that enables text extraction and replacement in Microsoft Word documents by directly automating the Word application on Windows. It supports processing content across headers, footers, tables, and shapes using the pywin32 library.Last updated
Related MCP Connectors
Search, browse, and read your Dropbox files. Find documents by name or content, list folders, and…
Securely search and manage workspace context files for AI agents and teams.
Federated commerce search across independent WooCommerce merchants. Keyless, read-only MCP server.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/hackerpl/doc-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server