Skip to main content
Glama
vaayne

omni-fs-mcp

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 directories

  • read_file(path, backend=None) - Read file contents

  • write_file(path, content, backend=None) - Write to file

  • copy_file(src, dst, src_backend=None, dst_backend=None) - Copy files

  • rename_file(src, dst, backend=None) - Rename/move files

  • create_dir(path, backend=None) - Create directory

  • stat_file(path, backend=None) - Get file metadata

Backend Management:

  • register_backend(name, url, ...) - Add new backend

  • list_backends() - Show all backends

  • set_default_backend(name) - Set default backend

  • remove_backend(name) - Remove backend

  • check_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

Install Server
A
license - permissive license
A
quality
C
maintenance

Maintenance

Maintainers
Response time
3wRelease cycle
4Releases (12mo)

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/vaayne/omni-fs-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server