项目简介

本项目是一个Model Context Protocol (MCP) 服务器实现,专门用于与 Azure Data Lake Storage Gen2 (ADLS2) 服务进行交互。它通过标准的 MCP 协议,使得支持 MCP 的大语言模型 (LLM) 客户端能够安全、便捷地访问和管理 ADLS2 中的文件系统、目录和文件。

主要功能点

通过这个 MCP 服务器,您的 LLM 客户端可以获得以下能力:

  • 文件系统(容器)操作:
    • 列出存储账户中的所有文件系统。
    • 创建新的文件系统(容器)。
    • 删除已有的文件系统。
  • 文件操作:
    • 上传本地文件到指定的 ADLS2 位置。
    • 从 ADLS2 下载文件到本地。
    • 检查 ADLS2 中文件是否存在。
    • 重命名或移动 ADLS2 中的文件。
    • 获取文件的属性(如大小、修改时间等)。
    • 获取文件的元数据。
    • 设置文件的单个元数据键值对。
    • 使用 JSON 格式批量设置文件的元数据。
  • 目录操作:
    • 在指定的 ADLS2 文件系统中创建新的目录。
    • 删除 ADLS2 中的目录。
    • 重命名或移动 ADLS2 中的目录。
    • 检查 ADLS2 中目录是否存在。
    • 列出指定目录下(可选递归)的所有文件和目录路径。

注意: 服务器支持只读模式配置,在只读模式下,创建、删除、重命名和设置元数据等写操作将被禁用。

安装步骤

  1. 安装 Python: 确保您的系统已安装 Python 3.13 或更高版本。
  2. 安装 uv (可选但推荐): uv 是一个高性能的 Python 包管理器。您可以访问其官方文档安装。
  3. 安装服务器: 打开终端或命令提示符,使用 uv 或 pip 安装项目包:
    uv pip install adls2-mcp-server
    # 或者使用 pip
    # pip install adls2-mcp-server
  4. Azure 认证: 如果您选择不使用存储账户密钥进行认证(推荐),请确保您已安装 Azure CLI 并已登录:
    az login
    服务器将使用您的默认 Azure CLI 凭据进行认证。

服务器配置(在 MCP 客户端中)

MCP 服务器通常由 MCP 客户端(如 Claude Desktop)启动和管理。您需要在 MCP 客户端的配置文件中添加本服务器的启动信息。以下是一个示例(以 'claude_desktop_config.json' 为例):

打开您的 MCP 客户端配置文件,找到或添加 'mcpServers' 部分,然后添加如下配置:

{
    "mcpServers": {
        "adls2": {  // "adls2" 是您为该服务器起的唯一名称
            "command": "adls2-mcp-server", // 启动服务器的命令,需确保该命令在系统 PATH 中
            "env": {  // 服务器运行时所需的环境变量
                "LOG_LEVEL": "INFO", // 日志级别 (DEBUG, INFO, WARNING, ERROR),可选
                "UPLOAD_ROOT": "/path/to/store/uploads", // LLM上传文件时,文件需要放置在此目录或其子目录下
                "DOWNLOAD_ROOT": "/path/to/store/downloads", // LLM下载文件时,文件将保存到此目录或其子目录下
                "AZURE_STORAGE_ACCOUNT_NAME": "your-azure-adls2-storage-account-name", // **必填**:您的 ADLS2 存储账户名称
                "AZURE_STORAGE_ACCOUNT_KEY": "your-azure-storage-account-key", // **可选**:如果使用密钥认证,请填写。不推荐,优先使用 az login
                "READ_ONLY_MODE": "false" // 是否启用只读模式 ("true" 或 "false"),默认为 "true" (只读)
            }
        }
    }
}

请将配置中的占位符(如 'your-azure-adls2-storage-account-name'、'/path/to/...')替换为您的实际值。

完成配置后,重启您的 MCP 客户端 使配置生效。

基本使用方法

配置并重启 MCP 客户端后,客户端将自动启动 ADLS2 MCP 服务器并发现其提供的工具。您现在可以直接通过与 LLM 进行自然语言交互来利用这些工具。例如,您可以尝试询问 LLM:

  • “列出我的 Azure 存储账户中有哪些文件系统。”
  • “在名为 'my-filesystem' 的文件系统中创建一个 'documents' 目录。”
  • “将我的本地 'report.txt' 文件上传到 'my-filesystem' 的 '/documents' 目录。”
  • “从 'my-filesystem' 的 '/data/sales.csv' 下载文件到我的本地下载目录。”

LLM 将理解您的请求,并调用相应的 ADLS2 MCP 服务器工具来执行操作。

信息

分类

数据库与文件