adls-mcp-server is a Model Context Protocol (MCP) server implementation for Azure Data Lake Storage Gen2 (ADLS2). It provides a standardized interface that enables MCP-capable clients (such as Claude Desktop) to interact with ADLS2 storage through tool calls, performing filesystem- and file-level operations.
Main capabilities The server provides the following MCP tools:
- list_filesystems: List all filesystems in the storage account.
- create_filesystem: Create a new filesystem.
- delete_filesystem: Delete an existing filesystem.
- upload_file: Upload a file to ADLS2.
- download_file: Download a file from ADLS2.
- file_exists: Check whether a file exists.
- rename_file: Rename or move a file.
- get_file_properties: Get file properties.
- get_file_metadata: Get file metadata.
- set_file_metadata: Set file metadata.
- set_file_metadata_json: Set multiple metadata key-value pairs using JSON.
- create_directory: Create a new directory.
- delete_directory: Delete a directory.
- rename_directory: Rename or move a directory.
- directory_exists: Check whether a directory exists.
- directory_get_paths: Get all paths under the specified directory.
Usage Environment requirements: Python 3.13 or later is required. The package can be installed using uv.
Claude Desktop configuration:
- Edit the Claude Desktop configuration file claude_desktop_config.json. On macOS, the file is located at ~/Library/Application Support/Claude Desktop/claude_desktop_config.json; on Windows, the file is located at %APPDATA%\Claude Desktop\claude_desktop_config.json. Add the corresponding configuration.
- Configure environment variables. If AZURE_STORAGE_ACCOUNT_KEY is not set, the server will attempt to authenticate using Azure CLI credentials. Before running the server, ensure that you are logged in via Azure CLI.
- Restart Claude Desktop.
Local development setup:
- Clone the repository.
- Create and activate a virtual environment.
- Install dependencies.
- Copy and configure environment variables, and edit the .env file to fill in the settings.
- Configure Claude Desktop.
- Restart Claude Desktop.
Applicable scenarios Suitable for scenarios where Azure Data Lake Storage Gen2 needs to be managed through an MCP client, such as performing filesystem creation and deletion, file upload and download, directory management, and file metadata read/write operations in Claude Desktop.
Limitations and notes This project requires Python 3.13 or later. If AZURE_STORAGE_ACCOUNT_KEY is not provided, it relies on Azure CLI credential authentication, and you need to log in in advance. The project uses the MIT license; see LICENSE.md for details. This project is not an official Microsoft product. Contributions are welcome, and you can participate by forking the repository, creating a feature branch, committing changes, pushing the branch, and opening a Pull Request.