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

Metadata

Release files for omni-fs-mcp 0.1.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for omni-fs-mcp 0.1.8
File Size Uploaded
omni_fs_mcp-0.1.8.tar.gz 11.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for omni-fs-mcp 0.1.8
File Interpreter ABI Platform
omni_fs_mcp-0.1.8-py3-none-any.whl Python 3 none any Details

Total release size: 23.6 kB

Release files / omni_fs_mcp-0.1.8.tar.gz

Download URL omni_fs_mcp-0.1.8.tar.gz
Size 11.8 kB
Tags Source
SHA-256 checksum
How to use checksums
d22261667b7c5647039f7ab2636b3ffd79cdef1620104377239be18725f5be9d
BLAKE2b-256 checksum
How to use checksums
0c1368e5183834998de543aff8921befd334e3757132e974f11933f5e450fefd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 29, 2025.

Transparency log

Release files / omni_fs_mcp-0.1.8-py3-none-any.whl

Download URL omni_fs_mcp-0.1.8-py3-none-any.whl
Size 11.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
db605d464add0c67f35d53072b06ee1fe7c0e8fcf13667d353bb30ed81d2dea6
BLAKE2b-256 checksum
How to use checksums
fecc4f0deda0f4ec57f978a41f3d93d70c2feb72f6e485da31225d973d1691b5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 29, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.8 This release

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.3

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page