omni-fs-mcp
Provides unified access to multiple file systems (local, S3, WebDAV, etc.) through OpenDAL, enabling file operations and cross-backend management.
README
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
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.