LocalFS 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., "@LocalFS MCP Serversearch for all Python files in my projects folder"
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.
LocalFS MCP Server
A comprehensive filesystem management MCP (Model Context Protocol) server that provides sandboxed access to local filesystem operations. Built with Smithery CLI.
Features
16 Filesystem Tools
Directory Operations (5 tools)
list_directories- List subdirectories in a pathcreate_directory- Create new directories (with parent creation)delete_directory- Delete directories (recursive option)move_directory- Move or rename directoriesget_directory_metadata- Get directory statistics and info
File Operations (6 tools)
list_files- List files in a directoryread_file- Read file content with chunking supportwrite_file- Write or overwrite files (text and binary)append_file- Append content to existing filesdelete_file- Delete filesmove_file- Move or rename filesget_file_metadata- Get file stats (size, mime type, timestamps)
Search Operations (5 tools)
search_by_name- Exact filename matchsearch_by_glob- Glob pattern matching (.txt, **/.py)search_by_filename_regex- Regex pattern on filenamessearch_by_content_text- Plain text search in file contentsearch_by_content_regex- Regex search in file content
Binary File Support
Automatic detection of binary vs text files
Base64 encoding for binary content
UTF-8 text handling with error recovery
Performance & Safety
Chunked file reads for large files (offset/limit support)
Configurable file size limits
Configurable search depth limits
Lazy directory traversal with generators
Prerequisites
Python >= 3.10
Smithery API key: Get yours at smithery.ai/account/api-keys
Getting Started
Install dependencies:
uv syncRun the development server:
uv run devTest interactively with the playground:
uv run playground
Configuration
Each session requires a root_directory parameter and supports optional configuration:
root_directory: str # Required - sandbox root path
max_file_size_mb: int = 100 # Optional - max file size for operations
max_search_depth: int = 10 # Optional - max recursion depth for searchesExample Connection URL
http://localhost:8081/mcp?root_directory=/path/to/sandbox&max_file_size_mb=100Usage Examples
Read a file
# Small file - read all at once
read_file(path="documents/readme.txt")
# Large file - read in chunks
read_file(path="large_file.bin", offset=0, limit=1048576) # First 1MBSearch for files
# Find all Python files
search_by_glob(pattern="**/*.py", recursive=true)
# Find files containing "TODO"
search_by_content_text(query="TODO", path="src", recursive=true)Directory operations
# Create nested directories
create_directory(path="projects/new_project", create_parents=true)
# List directory contents
list_files(path="projects")Development
Project Structure
Your server code is organized in src/local_filesystem/:
server.py- Main server setupcore/- Core utilities and exceptionssafety.py- Path validation and sandboxingexceptions.py- Custom exception classesconstants.py- Configuration constants
api/- API route handlersdirectory_routes.py- Directory operation endpointsfile_routes.py- File operation endpointssearch_routes.py- Search operation endpoints
services/- Business logic servicesdirectory_service.py- Directory managementfile_service.py- File managementsearch_service.py- Search capabilities
schemas/- Pydantic models and validation
Code Quality Tools
The project uses pre-commit hooks to maintain code quality:
Black - Code formatting (line length: 100)
Flake8 - Linting and style checking
Mypy - Static type checking
Setup Pre-commit Hooks
# Install dependencies (includes pre-commit tools)
uv sync
# Install pre-commit hooks
uv run pre-commit install
# Run manually on all files
uv run pre-commit run --all-filesThe hooks will automatically run on git commit to ensure code quality.
Security Features
Sandboxed Operations: All paths validated against root directory
Size Limits: Configurable limits prevent resource exhaustion
Depth Limits: Recursive operations bounded by max_search_depth
Path Traversal Protection: Prevents access outside sandbox root
Testing
Run the test suite:
# Run all tests
uv run pytest
# Run with coverage
uv run pytest --cov=src/local_filesystem
# Run specific test file
uv run pytest tests/integration/test_file_routes.pyDeploy
Ready to deploy? Push your code to GitHub and deploy to Smithery:
Create a new repository at github.com/new
Initialize git and push to GitHub:
git add . git commit -m "LocalFS MCP server" git remote add origin https://github.com/YOUR_USERNAME/YOUR_REPO.git git push -u origin mainDeploy your server to Smithery at smithery.ai/new
Resources
Documentation: smithery.ai/docs
MCP Protocol: modelcontextprotocol.io
Community: Discord
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Appeared in Searches
Latest Blog Posts
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/mcp-bridge/local-filesystem'
If you have feedback or need assistance with the MCP directory API, please join our Discord server