☁️
Omni Fs MCP
omni-fs-mcp is an MCP server that supports managing multiple types of file systems, such as local FS, S3, R2, B2, WebDAV, and others, in one MCP server. It is built on top of OpenDAL.
0 installs
Trust: 51 — Fair
Cloud
Installation
npx omni-fs-mcpAsk AI about Omni Fs MCP
Powered by Claude · Grounded in docs
I know everything about Omni Fs MCP. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Loading tools...
Reviews
Documentation
Omni-FS MCP Server
An MCP server that provides unified access to multiple file systems simultaneously through OpenDAL.
Installation
pip install omni-fs-mcp
Quick Start
Single Backend
# Local filesystem
omni-fs-mcp "fs://"
# S3
omni-fs-mcp --transport http "s3://bucket?region=us-east-1&access_key_id=xxx&secret_access_key=yyy"
# WebDAV
omni-fs-mcp "webdav://server.com/path?username=user&password=pass"
# Memory (testing)
omni-fs-mcp "memory://"
Multi-Backend with Config File
Create backends.json:
{
"backends": [
{
"name": "local",
"url": "fs://",
"description": "Local filesystem",
"default": true
},
{
"name": "s3-prod",
"url": "s3://bucket?region=us-east-1&access_key_id=...",
"description": "Production S3"
}
]
}
Run with config:
# Stdio (default)
omni-fs-mcp backends.json
# HTTP
omni-fs-mcp --transport http --config backends.json --port 8080
Usage
Command Options
omni-fs-mcp [OPTIONS] [URL_OR_CONFIG]
Options:
--config FILE JSON configuration file
--transport TYPE stdio (default) or http
--port PORT HTTP port (default: 8000)
--host HOST HTTP host (default: localhost)
Available Tools
File Operations:
list_files(path, backend=None)- List files and directoriesread_file(path, backend=None)- Read file contentswrite_file(path, content, backend=None)- Write to filecopy_file(src, dst, src_backend=None, dst_backend=None)- Copy filesrename_file(src, dst, backend=None)- Rename/move filescreate_dir(path, backend=None)- Create directorystat_file(path, backend=None)- Get file metadata
Backend Management:
register_backend(name, url, ...)- Add new backendlist_backends()- Show all backendsset_default_backend(name)- Set default backendremove_backend(name)- Remove backendcheck_backend_health(backend=None)- Check connectivity
Supported Backends
| Type | URL Example |
|---|---|
| Local | fs:// |
| S3 | s3://bucket?region=us-east-1&access_key_id=... |
| WebDAV | webdav://server.com/path?username=user&password=pass |
| Memory | memory:// |
| FTP | ftp://server.com?username=user&password=pass |
| HTTP | https://api.example.com |
Examples
Cross-Backend Copy
# Backup to S3
copy_file("/local/file.txt", "/backup/file.txt",
src_backend="local", dst_backend="s3-backup")
Runtime Backend Management
# Add temporary backend
register_backend("temp", "memory://", description="Temp storage")
# Use it
write_file("/test.txt", "content", backend="temp")
Development
git clone <repo>
cd omni-fs-mcp
uv sync
# Run locally
uv run omni-fs-mcp "memory://"
License
MIT
