Model Context Protocol Server for Apache OpenDAL™
LocalAbout Model Context Protocol Server for Apache OpenDAL™
An MCP server built on Apache OpenDAL™ that provides access to multiple storage services through one interface, including S3, Azure Blob Storage and Google Cloud Storage. It suits users who want MCP clients to browse and read files held in cloud or object storage.
Key features
- 01Access to multiple storage services
- 02List files and directories in storage
- 03Read file contents with text or binary detection
- 04Storage services configured through environment variables
Use cases
- 01Browsing files in S3 or similar object storage from Claude Desktop
- 02Reading text or binary files stored in cloud storage
- 03Switching between several configured storage services
MCP support
The server exposes tools such as read and list to MCP clients, which can reference configured services with paths like mys3://.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEModel Context Protocol Server for Apache OpenDAL™
A Model Context Protocol (MCP) server implementation that provides access to various storage services via Apache OpenDAL™.
Features
- Seamless access to multiple storage services including S3, Azure Blob Storage, Google Cloud Storage, and more
- List files and directories from storage services
- Read file contents with automatic text/binary detection
- Environment variable based configuration
Installation
pip install mcp-server-opendal
Usage with Claude Desktop
Add the following to claude_desktop_config.json:
{
"mcpServers": {
"opendal": {
"command": "uvx",
"args": [
"mcp-server-opendal"
],
"env": {
"YOUR_ENV_VAR": "YOUR_ENV_VALUE"
}
}
}
}
It requires uv to be installed on your machine. Check the official documentation for installation guides.
Environment variables
Configure storage services by setting environment variables. Each service requires a prefix and specific configuration options.
For example, to configure an S3 service with alias "mys3":
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=myaccesskey
OPENDAL_MYS3_SECRET_ACCESS_KEY=mysecretkey
Then you can use tool like read and list with mys3://path/to/file.
mcp-server-opendal will also load from .env.
Development
npx @modelcontextprotocol/inspector \
uv run mcp-server-opendal
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.