Skip to main content

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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

omni_fs_mcp-0.1.8.tar.gz (11.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

omni_fs_mcp-0.1.8-py3-none-any.whl (11.9 kB view details)

Uploaded Python 3

File details

Details for the file omni_fs_mcp-0.1.8.tar.gz.

File metadata

  • Download URL: omni_fs_mcp-0.1.8.tar.gz
  • Upload date:
  • Size: 11.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for omni_fs_mcp-0.1.8.tar.gz
Algorithm Hash digest
SHA256 d22261667b7c5647039f7ab2636b3ffd79cdef1620104377239be18725f5be9d
MD5 ed1f6be061c354db6c5e459bf1cf7bcd
BLAKE2b-256 0c1368e5183834998de543aff8921befd334e3757132e974f11933f5e450fefd

See more details on using hashes here.

Provenance

The following attestation bundles were made for omni_fs_mcp-0.1.8.tar.gz:

Publisher: release.yml on vaayne/omni-fs-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file omni_fs_mcp-0.1.8-py3-none-any.whl.

File metadata

  • Download URL: omni_fs_mcp-0.1.8-py3-none-any.whl
  • Upload date:
  • Size: 11.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for omni_fs_mcp-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 db605d464add0c67f35d53072b06ee1fe7c0e8fcf13667d353bb30ed81d2dea6
MD5 4fc45d7a9423cdadb1bb2b18fd700947
BLAKE2b-256 fecc4f0deda0f4ec57f978a41f3d93d70c2feb72f6e485da31225d973d1691b5

See more details on using hashes here.

Provenance

The following attestation bundles were made for omni_fs_mcp-0.1.8-py3-none-any.whl:

Publisher: release.yml on vaayne/omni-fs-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.1.8 This release

2 files

0.1.7

2 files

0.1.6

2 files

0.1.3

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page