list_filesLABSCO SUMMARY
Network drives become answerable, and stay read-only.
The files stay where they are: it lists, searches and reads over SMB and parses the Office and PDF ones into text, with no write path at all — so pointing an assistant at the finance share is a question of what it can see, not what it can do.
What it is
A read-only bridge to an SMB/CIFS share: a Windows file server, a NAS, a Samba box. It exposes no write operations at all, and Office and PDF files are parsed into text on the way out.
What you get
- Directory listings, file reads, search across the share, and metadata on any one file
- Excel, Word, PowerPoint and PDF parsed into readable text, with the optional docs extras installed
- Packet signing and encryption on by default, with encryption switchable off through configuration
- Path traversal rejected before any SMB call is made
- A denylist that never lists or reads .env files, *.key, *.pem, id_rsa or keystores
- A subdirectory allowlist that locks the server to the folders the model actually needs
- An audit log entry per call — operation, path, outcome — and never file contents
Requirements
Python 3.11 or newer and network reach to the share over SMB, named by SMB_HOST and SMB_SHARE. Share credentials are passed as environment variables and never appear in tool calls or chat history. Office and PDF parsing needs the optional docs extras.
Setup effort
Build from source — git clone https://github.com/nithiin7/remote-file-server-mcp.git /path/to/remote-file-server
USE CASES
Asking a question of documents on the share
Find the file, read it back as text — Word, Excel, PowerPoint and PDF included — and answer from it without downloading anything.
Finding a document you cannot name
Search the share and check each candidate's size and modification date before opening it.
Summarising a folder of reports
List the directory, read the files in it, and write the summary from the current versions rather than last quarter's copies.
Letting an assistant see one folder and no others
Lock the server to the subdirectories it needs, then confirm what it can reach by listing them.
4 tools
Listed in project docs. Your client may show a different list.
read_fileget_file_infosearch_filesBEFORE YOU INSTALL
What to know first
Tools you get
4 tools named in the project's documentation.
Requires
- file-server-mcp on PATH
- Python 3.11+
- SMB_HOST in your environment
- SMB_SHARE in your environment
- SMB_USERNAME in your environment
- SMB_PASSWORD in your environment
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
This one is built from source rather than installed with a single command.
Server setup
git clone https://github.com/nithiin7/remote-file-server-mcp.git <YOUR_PATH_TO_REMOTE_FILE_SERVER>
pip install -e <YOUR_PATH_TO_REMOTE_FILE_SERVER>MCP Clients
Any MCP client
{
"mcpServers": {
"file-server": {
"command": "file-server-mcp",
"env": {
"SMB_HOST": "192.168.1.100",
"SMB_SHARE": "my_share",
"SMB_USERNAME": "<YOUR_SMB_USERNAME>",
"SMB_PASSWORD": "<YOUR_SMB_PASSWORD>"
}
}
}
}