{"id":27114969,"url":"https://github.com/erikhoward/adls-mcp-server","last_synced_at":"2026-05-09T04:32:06.708Z","repository":{"id":286351682,"uuid":"960063905","full_name":"erikhoward/adls-mcp-server","owner":"erikhoward","description":"Microsoft Azure Data Lake Storage MCP Server","archived":false,"fork":false,"pushed_at":"2025-05-31T01:46:12.000Z","size":62,"stargazers_count":6,"open_issues_count":3,"forks_count":6,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-04-26T15:06:22.952Z","etag":null,"topics":["adls","azure","mcp","mcp-server"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/erikhoward.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-04-03T19:55:31.000Z","updated_at":"2026-01-29T00:24:08.000Z","dependencies_parsed_at":"2025-04-09T22:23:03.857Z","dependency_job_id":null,"html_url":"https://github.com/erikhoward/adls-mcp-server","commit_stats":null,"previous_names":["erikhoward/adls-mcp-server"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/erikhoward/adls-mcp-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erikhoward%2Fadls-mcp-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erikhoward%2Fadls-mcp-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erikhoward%2Fadls-mcp-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erikhoward%2Fadls-mcp-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/erikhoward","download_url":"https://codeload.github.com/erikhoward/adls-mcp-server/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erikhoward%2Fadls-mcp-server/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32807182,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-08T08:22:46.396Z","status":"online","status_checked_at":"2026-05-09T02:00:06.633Z","response_time":123,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["adls","azure","mcp","mcp-server"],"created_at":"2025-04-07T04:39:33.284Z","updated_at":"2026-05-09T04:32:06.687Z","avatar_url":"https://github.com/erikhoward.png","language":"Python","funding_links":[],"categories":["Cloud Infrastructure","File Management MCP Servers","MCP 服务器精选列表","サーバー実装","File Management","⚙️ DevOps"],"sub_categories":["☁️ Cloud Providers","☁️ 云平台与服务集成 (AWS, Cloudflare, Azure, K8s, etc.)","☁️ \u003ca name=\"cloud-platforms\"\u003e\u003c/a\u003eクラウドプラットフォーム"],"readme":"# ADLS2 MCP Server 🚀\n\nA Model Context Protocol (MCP) server implementation for Azure Data Lake Storage Gen2. This service provides a standardized interface for interacting with ADLS2 storage, enabling file operations through MCP tools.\n\n[![License](https://img.shields.io/github/license/erikhoward/adls-mcp-server)](https://opensource.org/licenses/MIT) [![Python Version](https://img.shields.io/badge/python-3.13%2B-blue.svg)](https://www.python.org/) [![uv](https://img.shields.io/badge/uv-package%20manager-blueviolet)](https://docs.astral.sh/uv/) [![MCP](https://img.shields.io/badge/MCP-compatible-green.svg)](https://github.com/modelcontextprotocol/spec)\n\n## Setup 🛠️\n\n### Installation 📦\n\nRequires Python 3.13 or higher.\n\nInstall the package using `uv`:\n\n```bash\nuv pip install adls2-mcp-server\n```\n\n### MCP Configuration ⚙️\n\n### Claude Desktop Configuration\n\n1 - Edit Claude Desktop Configuration:\n\nOpen `claude_desktop_config.json` and add the following configuration.\n\nOn MacOs, the file is located here:\n`~/Library/Application Support/Claude Desktop/claude_desktop_config.json`.\n\nOn Windows, the file is located here:\n`%APPDATA%\\Claude Desktop\\claude_desktop_config.json`.\n\n```json\n{\n    \"mcpServers\": {\n        \"adls2\": {\n            \"command\": \"adls2-mcp-server\",\n            \"env\": {\n                \"LOG_LEVEL\": \"DEBUG\",\n                \"UPLOAD_ROOT\": \"/path/to/store/uploads\",\n                \"DOWNLOAD_ROOT\": \"/path/to/store/downloads\",\n                \"AZURE_STORAGE_ACCOUNT_NAME\": \"your-azure-adls2-storage-account-name\",\n                \"READ_ONLY_MODE\": \"false\"\n            }\n        }\n    }\n}\n```\n\nThe following is a table of available environment configuration variables:\n\n| Variable | Description | Default |\n| --- | --- | --- |\n| `LOG_LEVEL` | Logging level | `INFO` |\n| `UPLOAD_ROOT` | Root directory for file uploads | `./uploads` |\n| `DOWNLOAD_ROOT` | Root directory for file downloads | `./downloads` |\n| `AZURE_STORAGE_ACCOUNT_NAME` | Azure ADLS2 storage account name | `None` |\n| `AZURE_STORAGE_ACCOUNT_KEY` | Azure ADLS2 storage account key (optional) | `None` |\n| `READ_ONLY_MODE` | Whether the server should operate in read-only mode | `true` |\n\n\nIf `AZURE_STORAGE_ACCOUNT_KEY` is not set, the server will attempt to authenticate using Azure CLI credentials. Ensure you have logged in with Azure CLI before running the server:\n\n```bash\naz login\n```\n\n2 - Restart Claude Desktop.\n\n### Available Tools 🔧\n\n#### Filesystem (container) Operations\n\n- `list_filesystems` - List all filesystems in the storage account\n- `create_filesystem` - Create a new filesystem\n- `delete_filesystem` - Delete an existing filesystem\n\n#### File Operations\n\n- `upload_file` - Upload a file to ADLS2\n- `download_file` - Download a file from ADLS2\n- `file_exists` - Check if a file exists\n- `rename_file` - Rename/move a file\n- `get_file_properties` - Get file properties\n- `get_file_metadata` - Get file metadata\n- `set_file_metadata` - Set file metadata\n- `set_file_metadata_json` - Set multiple metadata key-value pairs using JSON\n\n#### Directory Operations\n\n- `create_directory` - Create a new directory\n- `delete_directory` - Delete a directory\n- `rename_directory` - Rename/move a directory\n- `directory_exists` - Check if a directory exists\n- `directory_get_paths` - Get all paths under the specified directory\n\n## Development 💻\n\n### Local Development Setup\n\n1 - Clone the repository:\n\n```bash\ngit clone https://github.com/erikhoward/adls2-mcp-server.git\ncd adls2-mcp-server\n```\n\n2 - Create and activate virtual environment:\n\nLinux/macOS:\n\n```bash\npython -m venv .venv\nsource .venv/bin/activate\n```\n\nWindows:\n\n```bash\n.venv\\Scripts\\activate\n```\n\n3 - Install dependencies:\n\n```bash\npip install -e \".[dev]\"\n```\n\n4 - Copy and configure environment variables:\n\n```bash\ncp .env.example .env\n```\n\nEdit .env with your settings.\n\n```bash\nAZURE_STORAGE_ACCOUNT_NAME=your_azure_adls2_storage_account_name\nAZURE_STORAGE_ACCOUNT_KEY=your_azure_adls2_storage_key (optional)\nDOWNLOAD_ROOT=/path/to/download/folder\nUPLOAD_ROOT=/path/to/upload/folder\nREAD_ONLY_MODE=True\nLOG_LEVEL=INFO\n```\n\nIf `AZURE_STORAGE_ACCOUNT_KEY` is not set, the server will attempt to authenticate using Azure CLI credentials. Ensure you have logged in with Azure CLI before running the server:\n\n```bash\naz login\n```\n\n5 - Claude Desktop Configuration\n\nOpen `claude_desktop_config.json` and add the following configuration.\n\nOn MacOs, the file is located here:\n`~/Library/Application Support/Claude Desktop/claude_desktop_config.json`.\n\nOn Windows, the file is located here:\n`%APPDATA%\\Claude Desktop\\claude_desktop_config.json`.\n\n```json\n{\n    \"mcpServers\": {\n        \"adls2\": {\n            \"command\": \"uv\",\n            \"args\": [\n                \"--directory\",\n                \"/path/to/adls2-mcp-server/repo\",\n                \"run\",\n                \"adls2-mcp-server\"\n            ],\n            \"env\": {\n                \"LOG_LEVEL\": \"DEBUG\",\n                \"UPLOAD_ROOT\": \"/path/to/store/uploads\",\n                \"DOWNLOAD_ROOT\": \"/path/to/store/downloads\",\n                \"AZURE_STORAGE_ACCOUNT_NAME\": \"your-azure-adls2-storage-account-name\",\n                \"READ_ONLY_MODE\": \"false\"\n            }\n        }\n    }\n}\n```\n\n6 - Restart Claude Desktop.\n\n## Contributions 🤝\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n1. Fork the repository\n2. Create your feature branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your changes (`git commit -m '✨ Add some AmazingFeature'`)\n4. Push to the branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\n## License ⚖️\n\nLicensed under MIT - see [LICENSE.md](LICENSE) file.\n\n**This is not an official Microsoft product.**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ferikhoward%2Fadls-mcp-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ferikhoward%2Fadls-mcp-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ferikhoward%2Fadls-mcp-server/lists"}