返回市场
adls-mcp-服务器

adls-mcp-服务器

作者:erikhoward5 星标更新:2025-05-31

项目介绍

ADLS2 MCP Server 🚀

Azure Data Lake Storage Gen2 的 Model Context Protocol (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_NAMEAzure ADLS2 存储账户名称None
AZURE_STORAGE_ACCOUNT_KEYAzure 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 - 安装依赖:

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 (可选)
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。

贡献 🤝

欢迎贡献!请随时提交拉取请求。

  1. 分叉仓库
  2. 创建您的功能分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m '✨ 添加一些AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 打开拉取请求

许可证 ⚖️

根据 MIT 许可证授权 - 查看 LICENSE.md 文件。

这不是微软的官方产品。