logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

mcp-opendal-gateway

A unified abstraction layer for interfacing with heterogeneous cloud object storage repositories, facilitating standardized operations like enumeration, retrieval, and lifecycle management across various compliant backends.

Author

mcp-opendal-gateway logo

Xuanwo

Apache License 2.0

Quick Info

GitHub GitHub Stars 33
NPM Weekly Downloads 0
Tools 1
Last Updated 2026-02-19

Tags

opendalcloudstorageserver opendalcloud storageopendal provides

Model Context Protocol Interface for Apache OpenDAL

This package furnishes an implementation of the Model Context Protocol (MCP) server utilizing the robust capabilities of Apache OpenDAL™ to mediate access to numerous storage endpoints.

PyPI Version Supported Python Versions CI Status

Core Capabilities

  • Interoperable Storage Access: Provides seamless connectivity to numerous remote storage systems, encompassing Amazon S3, Microsoft Azure Blob Storage, Google Cloud Storage, and others.
  • Directory Traversal: Ability to recursively list contents (files and folders) within specified remote storage locations.
  • Content Fetching: Reads the data payloads from objects, automatically inferring whether content is textual or binary in nature.
  • Configuration Ease: Configuration parameters are primarily managed through system environment variables.

Deployment Instructions

Installation is straightforward using pip:

shell pip install mcp-server-opendal

Integration with Desktop Client

To enable this server within the local configuration file (claude_desktop_config.json):

{ "mcpServers": { "opendal_service": { "command": "uvx", "args": [ "mcp-server-opendal" ], "env": { "SERVICE_CREDENTIALS_VAR": "CORRESPONDING_VALUE" } } } }

Ensure that the uv package manager is present on your system. Refer to the official documentation for setup guidance.

Backend Configuration via Environment Variables

Define connection settings for your storage providers by setting specific environment variables. Each distinct storage instance requires a unique identifier prefix followed by service-specific parameters.

For instance, setting up an S3 resource aliased as "staging_repo":

OPENDAL_STAGING_REPO_TYPE=s3 OPENDAL_STAGING_REPO_BUCKET=data-staging OPENDAL_STAGING_REPO_REGION=eu-central-1 OPENDAL_STAGING_REPO_ENDPOINT=https://s3.example.com OPENDAL_STAGING_REPO_ACCESS_KEY_ID=stg_key_id OPENDAL_STAGING_REPO_SECRET_ACCESS_KEY=stg_secret

Once configured, resource identifiers like staging_repo://data/file.txt can be used with MCP tool commands (read, list).

The server also attempts to source variables from a local .env file if present.

Developer Workflow

To interact with the running server using the inspection utility:

shell npx @modelcontextprotocol/inspector \ uv run mcp-server-opendal

See Also

`