ADLS2 MCP Server 🚀

ADLS2 MCP Server 🚀

Microsoft Azure Data Lake Storage MCP 服务器

erikhoward

云存储
访问服务器

README

ADLS2 MCP 服务器 🚀

一个用于 Azure Data Lake Storage Gen2 的模型上下文协议 (MCP) 服务器实现。此服务提供了一个与 ADLS2 存储交互的标准化接口,从而可以通过 MCP 工具执行文件操作。

License Python Version uv MCP

设置 🛠️

安装 📦

需要 Python 3.13 或更高版本。

使用 uv 安装软件包:

uv pip install adls2-mcp-server

MCP 配置 ⚙️

Claude Desktop 配置

1 - 编辑 Claude Desktop 配置:

打开 claude_desktop_config.json 并添加以下配置。

在 MacOs 上,该文件位于: ~/Library/Application Support/Claude Desktop/claude_desktop_config.json

在 Windows 上,该文件位于: %APPDATA%\Claude Desktop\claude_desktop_config.json

{
    "mcpServers": {
        "adls2": {
            "command": "adls2-mcp-server",
            "env": {
                "LOG_LEVEL": "DEBUG",
                "UPLOAD_ROOT": "/path/to/store/uploads",
                "DOWNLOAD_ROOT": "/path/to/store/downloads",
                "AZURE_STORAGE_ACCOUNT_NAME": "your-azure-adls2-storage-account-name",
                "READ_ONLY_MODE": "false"
            }
        }
    }
}

以下是可用环境变量配置的表格:

变量 描述 默认值
LOG_LEVEL 日志级别 INFO
UPLOAD_ROOT 文件上传的根目录 ./uploads
DOWNLOAD_ROOT 文件下载的根目录 ./downloads
AZURE_STORAGE_ACCOUNT_NAME Azure ADLS2 存储帐户名称 None
AZURE_STORAGE_ACCOUNT_KEY Azure ADLS2 存储帐户密钥(可选) None
READ_ONLY_MODE 服务器是否应以只读模式运行 true

如果未设置 AZURE_STORAGE_ACCOUNT_KEY,服务器将尝试使用 Azure CLI 凭据进行身份验证。请确保在运行服务器之前已使用 Azure CLI 登录:

az login

2 - 重启 Claude Desktop。

可用工具 🔧

文件系统(容器)操作

  • list_filesystems - 列出存储帐户中的所有文件系统
  • create_filesystem - 创建新的文件系统
  • delete_filesystem - 删除现有的文件系统

文件操作

  • upload_file - 将文件上传到 ADLS2
  • download_file - 从 ADLS2 下载文件
  • file_exists - 检查文件是否存在
  • rename_file - 重命名/移动文件
  • get_file_properties - 获取文件属性
  • get_file_metadata - 获取文件元数据
  • set_file_metadata - 设置文件元数据
  • set_file_metadata_json - 使用 JSON 设置多个元数据键值对

目录操作

  • create_directory - 创建新目录
  • delete_directory - 删除目录
  • rename_directory - 重命名/移动目录
  • directory_exists - 检查目录是否存在
  • directory_get_paths - 获取指定目录下的所有路径

开发 💻

本地开发设置

1 - 克隆存储库:

git clone https://github.com/erikhoward/adls2-mcp-server.git
cd adls2-mcp-server

2 - 创建并激活虚拟环境:

Linux/macOS:

python -m venv .venv
source .venv/bin/activate

Windows:

.venv\Scripts\activate

3 - 安装依赖项:


uv pip install -e ".[dev]"

4 - 复制并配置环境变量:

cp .env.example .env

使用您的设置编辑 .env。

AZURE_STORAGE_ACCOUNT_NAME=your_azure_adls2_storage_account_name
AZURE_STORAGE_ACCOUNT_KEY=your_azure_adls2_storage_key (optional)
DOWNLOAD_ROOT=/path/to/download/folder
UPLOAD_ROOT=/path/to/upload/folder
READ_ONLY_MODE=True
LOG_LEVEL=INFO

如果未设置 AZURE_STORAGE_ACCOUNT_KEY,服务器将尝试使用 Azure CLI 凭据进行身份验证。请确保在运行服务器之前已使用 Azure CLI 登录:

az login

5 - Claude Desktop 配置

打开 claude_desktop_config.json 并添加以下配置。

在 MacOs 上,该文件位于: ~/Library/Application Support/Claude Desktop/claude_desktop_config.json

在 Windows 上,该文件位于: %APPDATA%\Claude Desktop\claude_desktop_config.json

{
    "mcpServers": {
        "adls2": {
            "command": "uv",
            "args": [
                "--directory",
                "/path/to/adls2-mcp-server/repo",
                "run",
                "adls2-mcp-server"
            ],
            "env": {
                "LOG_LEVEL": "DEBUG",
                "UPLOAD_ROOT": "/path/to/store/uploads",
                "DOWNLOAD_ROOT": "/path/to/store/downloads",
                "AZURE_STORAGE_ACCOUNT_NAME": "your-azure-adls2-storage-account-name",
                "READ_ONLY_MODE": "false"
            }
        }
    }
}

6 - 重启 Claude Desktop。

贡献 🤝

欢迎贡献!请随时提交 Pull Request。

  1. Fork 存储库
  2. 创建您的功能分支 (git checkout -b feature/AmazingFeature)
  3. 提交您的更改 (git commit -m '✨ Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 打开一个 Pull Request

许可证 ⚖️

在 MIT 许可下发布 - 请参阅 LICENSE.md 文件。

这不是官方的 Microsoft 产品。

推荐服务器

Google Drive MCP Server

Google Drive MCP Server

启用与 Google Drive 的集成,用于列出、读取和搜索文件,支持各种文件类型,并为 Google Workspace 文件提供自动导出功能。

本地
JavaScript
AWS MCP Server

AWS MCP Server

一个模型上下文协议服务器实现,使 Claude 能够通过自然语言命令在 S3 和 DynamoDB 服务上执行 AWS 操作。

本地
Python
Google Drive MCP Server

Google Drive MCP Server

与 Google Drive 集成,以实现文件列表、搜索和读取,以及 Google 表格的读取和写入。

本地
TypeScript
Azure MCP Server

Azure MCP Server

这个服务器实现了模型上下文协议,可以与 Azure Blob 存储和 Cosmos DB 无缝交互,从而实现操作的自动日志记录和审计跟踪。

Python
Box MCP Server

Box MCP Server

Box MCP 服务器方便使用开发者令牌认证在 Box 中搜索和读取 PDF 和 Word 文件。

JavaScript
MCP JSON Document Collection Server

MCP JSON Document Collection Server

一个模型上下文协议服务器,允许创建和管理多个 Fireproof JSON 数据库,并提供 CRUD 操作、查询功能以及云同步,以便与他人共享数据库。

JavaScript
Unstructured Document Processor MCP

Unstructured Document Processor MCP

一个模型上下文协议服务器,它使大型语言模型能够从各种文件格式的非结构化文档中提取和使用内容。

Python
Firebase MCP Server

Firebase MCP Server

一个提供统一接口以与 Firebase 服务(包括身份验证、Firestore 和存储)交互的服务器。

TypeScript
MCP Server for Apache OpenDAL™

MCP Server for Apache OpenDAL™

一个模型上下文协议服务器,通过 Apache OpenDAL™ 提供对包括 S3、Azure Blob 存储和 Google Cloud Storage 在内的多个存储服务的无缝访问。

Python
Cloudinary MCP Server

Cloudinary MCP Server

这个服务器提供了一些工具,可以使用 Claude/Cline 直接将图片和视频上传到 Cloudinary,从而方便资源管理,并提供可定制的选项,例如资源类型和公共 ID。

JavaScript