Model Context Protocol Server for Apache OpenDAL™
by Xuanwo
This is a Model Context Protocol (MCP) server implementation that provides access to various storage services via Apache OpenDAL™. It allows seamless access to multiple storage services and simplifies file and directory listing and reading.
Last updated: N/A
Model Context Protocol Server for Apache OpenDAL™
A Model Context Protocol (MCP) server implementation that provides access to various storage services via Apache OpenDAL™.
PyPI - Version PyPI - Python Version Lint and Test
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