ADLS2 MCP服务器

为Azure Data Lake Storage Gen2提供的模型上下文协议(MCP)服务器实现,通过标准化接口实现文件操作。

  • by erikhoward
  • Python
  • 本地部署
  • 6 星标
  • 更新于
在 GitHub 查看 erikhoward/adls-mcp-server

使用说明

ADLS2 MCP服务器🚀

Azure数据湖存储Gen2的模型上下文协议(MCP)服务器实现。该服务提供了一个标准化的接口,用于与ADLS2存储进行交互,通过MCP工具实现文件操作。

设置🛠️

安装📦

需要Python 3.13或更高版本。

使用安装软件包 uv:

uv pip install adls2-mcp-server

MCP配置⚙️

Claude桌面配置

1-编辑Claude桌面配置:

打开 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-重新启动克劳德桌面。

可用工具🔧

文件系统(容器)操作

  • 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

窗户:

.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 (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_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-重新启动克劳德桌面。

贡献🤝

欢迎投稿!请随时提交拉取请求。

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

许可证⚖️

麻省理工学院授权-见 许可证.md 文件。

这不是微软的官方产品。