AliceLynxx/LocalFiles-MCP-Server
3.2
If you are the rightful owner of LocalFiles-MCP-Server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
LocalFiles MCP Server is a secure and configurable server for accessing local files through the Model Context Protocol.
Tools
list_files
Lists all files in allowed directories or a specific directory.
read_file
Reads the contents of a specific file.
get_config
Returns current server configuration.
LocalFiles MCP Server
A Model Context Protocol (MCP) server that provides secure access to local files from specified directories.
Features
- List files in configured directories
- Read file contents (text and binary)
- File size and extension filtering
- Secure path validation
- Configuration via .env file or environment variables
Configuration
Method 1: .env file (Recommended)
Create a .env
file in the same directory as app.py
:
# Comma-separated list of allowed directories
ALLOWED_DIRECTORIES=/home/user/documents,/home/user/projects,/path/to/your/files
# Maximum file size in bytes (default: 10MB)
MAX_FILE_SIZE=10485760
# Allowed file extensions (comma-separated)
ALLOWED_EXTENSIONS=.txt,.md,.py,.js,.json,.yaml,.yml,.csv,.xml,.html,.css
Method 2: Environment Variables
Set environment variables directly:
export ALLOWED_DIRECTORIES="/home/user/documents,/home/user/projects"
export MAX_FILE_SIZE=10485760
export ALLOWED_EXTENSIONS=".txt,.md,.py,.js,.json,.yaml,.yml,.csv,.xml,.html,.css"
Usage
Start the server
python app.py
Available Tools
- lf_list_files - List files in allowed directories
- lf_read_file - Read contents of a specific file
- lf_get_config - Get current server configuration
Security
- Only files within configured
ALLOWED_DIRECTORIES
can be accessed - File size limits prevent reading overly large files
- File extension filtering restricts access to specified file types
- All paths are resolved and validated to prevent directory traversal attacks
Troubleshooting
"No allowed directories configured" error
This error occurs when:
- No .env file exists - Create a
.env
file withALLOWED_DIRECTORIES
setting - Empty ALLOWED_DIRECTORIES - Ensure the value is not empty
- Wrong working directory - The server looks for
.env
in the script directory first, then current directory - Environment variables not set - If not using .env, ensure environment variables are properly set
Debug configuration
Use the lf_get_config
tool to check what configuration the server is actually using:
# This will show the current configuration
lf_get_config()
Example .env file
# Example configuration for a development environment
ALLOWED_DIRECTORIES=/home/alice/projects,/home/alice/documents,/tmp/safe-files
MAX_FILE_SIZE=52428800
ALLOWED_EXTENSIONS=.txt,.md,.py,.js,.json,.yaml,.yml,.csv,.xml,.html,.css,.log
Requirements
- Python 3.7+
- fastmcp library
- pathlib (built-in)
Installation
pip install fastmcp