Get the FREE Ultimate OpenClaw Setup Guide →

mcp -opendal

Model Context Protocol Server for Apache OpenDAL™

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio xuanwo-mcp-server-opendal uvx mcp-server-opendal \
  --env YOUR_ENV_VAR="YOUR_ENV_VALUE"

How to use

This MCP server exposes Apache OpenDAL storage backends to the Model Context Protocol. It lets clients list directories, read file contents with automatic text or binary detection, and connect to multiple storage services such as S3, Azure Blob Storage, and Google Cloud Storage through a unified MCP interface. Use the Claude or other MCP tooling to query endpoints like opendal://<path> to interact with configured backends. The server reads configuration from environment variables (prefixed per service) and from .env files if present, enabling you to securely supply credentials and endpoints. To get started, run the server via uvx as shown in the installation section and configure your storage backends through environment variables as demonstrated in the example.

How to install

Prerequisites:

  • Python 3.8+ installed on your system
  • uv (the OpenCompute/UV runtime) installed and available on PATH

Installation steps:

  1. Create a Python virtual environment (optional but recommended): python3 -m venv venv source venv/bin/activate # on Unix/macOS

    or

    venv\Scripts\activate # on Windows
  2. Install the MCP OpenDAL server package: pip install mcp-server-opendal
  3. Run the server via UV: uvx mcp-server-opendal
  4. (Optional) Create a .env file or set environment variables to configure storage backends, as described in the Environment variables section of the README: OPENDAL_MYS3_TYPE=s3 OPENDAL_MYS3_BUCKET=mybucket OPENDAL_MYS3_REGION=us-east-1 OPENDAL_MYS3_ENDPOINT=http://localhost:9000 OPENDAL_MYS3_ACCESS_KEY_ID=AKIA... OPENDAL_MYS3_SECRET_ACCESS_KEY=secret

    Then ensure uv loads .env automatically or run with env vars in your shell.

Additional notes

Notes and tips:

  • The server uses environment variable prefixes to configure each storage service (e.g., OPENDAL_MYS3_* for an S3 backend named 'mys3').
  • The configuration will be loaded from environment variables and from a .env file if present; ensure proper permissions for any credentials.
  • If you modify environment variables, restart the MCP server to apply changes.
  • This server is designed to provide a unified read/list interface across multiple backends; ensure your client uses the opendal:// URIs when issuing read/list commands.
  • For Claude Desktop integration, the README demonstrates using uvx with the package name and placing the server under the mcpServers.opendal key in claude_desktop_config.json.

Related MCP Servers

Sponsor this space

Reach thousands of developers