Labsco
MCP SERVER

Apache OpenDAL™

by Xuanwo

One `mys3://path/to/file` style address for every storage backend — S3, Azure Blob, Google Cloud Storage and more — read and listed through Apache OpenDAL.

Office Suites & Cloud File Storage
Summary
The alias scheme is the feature: one address format instead of one server per cloud.

Because OpenDAL sits underneath, adding a second or third backend is a block of environment variables rather than another MCP server in your config, and the model only ever learns one address shape. The surface is deliberately narrow — listing and reading — so this is a retrieval path, not a way to write or move objects around.

What it is

An MCP server built on Apache OpenDAL, which normalises dozens of storage services behind one interface. You give each service an alias in environment variables, and afterwards every file is addressed as `alias://path`, whichever cloud it lives in. It lists directories and reads file contents, detecting text versus binary automatically.

What you get
  • Files and directories listed from any configured storage service — the `list` tool
  • File contents read back with automatic text/binary detection — the `read` tool
  • One address scheme across backends: configure an S3 service under the alias `mys3` and then use `mys3://path/to/file`
  • Access to S3, Azure Blob Storage, Google Cloud Storage and the rest of OpenDAL's service list without a separate server per provider
  • Configuration entirely through environment variables, with a `.env` file also loaded automatically
Requirements

Whatever credentials each backend needs, supplied as prefixed environment variables. Each service takes an alias and its own settings — for an S3 service aliased `mys3` that is `OPENDAL_MYS3_TYPE=s3`, `OPENDAL_MYS3_BUCKET`, `OPENDAL_MYS3_REGION`, `OPENDAL_MYS3_ENDPOINT`, `OPENDAL_MYS3_ACCESS_KEY_ID` and `OPENDAL_MYS3_SECRET_ACCESS_KEY`. Install with `pip install mcp-server-opendal`; the client config runs it as `uvx mcp-server-opendal`, so `uv` must be on the machine. The pyproject publishes the `mcp-server-opendal` entry point. It reads a `.env` file if one is present.

Setup effort

One command plus a key — uvx mcp-server-opendal, then supply credentials