https://github.com/xuanwo/mcp-server-opendal
Model Context Protocol Server for Apache OpenDAL™
https://github.com/xuanwo/mcp-server-opendal
Last synced: 5 months ago
JSON representation
Model Context Protocol Server for Apache OpenDAL™
- Host: GitHub
- URL: https://github.com/xuanwo/mcp-server-opendal
- Owner: Xuanwo
- License: apache-2.0
- Created: 2025-03-04T13:15:53.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2025-04-10T09:03:26.000Z (6 months ago)
- Last Synced: 2025-05-05T21:59:16.127Z (5 months ago)
- Language: Python
- Size: 106 KB
- Stars: 28
- Watchers: 4
- Forks: 5
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Model Context Protocol Server for Apache OpenDAL™
A Model Context Protocol (MCP) server implementation that provides access to various storage services via [Apache OpenDAL™](https://opendal.apache.org/).[](https://pypi.org/project/mcp-server-opendal/)
[](https://pypi.org/project/mcp-server-opendal/)
[](https://github.com/Xuanwo/mcp-server-opendal/actions/workflows/test.yml)## 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
```shell
pip install mcp-server-opendal
```## Usage with Claude Desktop
Add the following to `claude_desktop_config.json`:
```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](https://docs.astral.sh/uv/getting-started/installation/) 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
```shell
npx @modelcontextprotocol/inspector \
uv run mcp-server-opendal
```