Back to MCP directory
publicPublicdnsLocal runtime

OpenDAL

一个基于Apache OpenDAL™的模型上下文协议服务器,提供对多种存储服务的无缝访问

article

README

🚀 Apache OpenDAL™ 模型上下文协议服务器

本项目是一个实现模型上下文协议 (MCP) 的服务器,借助 Apache OpenDAL™ 达成对多种存储服务的访问,能有效简化存储服务的操作流程,提升数据访问效率。

PyPI - 版本 PyPI - Python 版本 代码检查和测试

🚀 快速开始

本服务器可实现对多种存储服务的无缝访问,支持列出文件和目录、自动检测文件格式读取内容等功能,并且可基于环境变量进行配置。

✨ 主要特性

  • 🔌 无缝访问多种存储服务,如 S3、Azure Blob Storage、Google Cloud Storage 等。
  • 📂 支持列出存储服务中的文件和目录。
  • 📖 自动检测文本或二进制格式以读取文件内容。
  • ⚙️ 基于环境变量的配置方式,灵活便捷。

📦 安装指南

使用以下命令安装 mcp-server-opendal

pip install mcp-server-opendal

💻 使用示例

与 Claude Desktop 配合使用

claude_desktop_config.json 中添加以下内容:

{
  "mcpServers": {
    "opendal": {
      "command": "uvx",
      "args": [
        "mcp-server-opendal"
      ],
      "env": {
        "YOUR_ENV_VAR": "YOUR_ENV_VALUE"
      }
    }
  }
}

⚠️ 重要提示

此配置需要 uv 在您的机器上安装。请参阅 官方文档 获取安装指南。

环境变量配置

通过设置环境变量来配置存储服务。每个服务都需要一个前缀和特定的配置选项。

基础用法

例如,要配置具有别名 "mys3" 的 S3 服务:

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

配置完成后,您可以使用 readlist 命令与 mys3://path/to/file 一起使用。

高级用法

mcp-server-opendal 还会从 .env 加载配置,方便统一管理环境变量。

🔧 开发

使用以下命令进行开发:

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

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client