
The azure-storage skill enables developers to manage Azure Storage services including Blob Storage, File Shares, Queue Storage, Table Storage, and Data Lake through MCP tools or Azure CLI commands. It allows users to perform operations such as listing storage accounts and containers, uploading and downloading blobs, and configuring access tiers and lifecycle management for object storage and big data analytics workloads. The skill solves the problem of programmatically accessing and managing distributed storage resources across different Azure storage service types.
$ npx -y skills add microsoft/github-copilot-for-azure --skill azure-storage --agent claude-codeInstalls into .claude/skills of the current project.
| Service | Use When | MCP Tools | CLI |
|---|---|---|---|
| Blob Storage | Objects, files, backups, static content | azure__storage | az storage blob |
| File Shares | SMB file shares, lift-and-shift | - | az storage file |
| Queue Storage | Async messaging, task queues | - | az storage queue |
| Table Storage | NoSQL key-value (consider Cosmos DB) | - | az storage table |
| Data Lake | Big data analytics, hierarchical namespace | - | az storage fs |
When Azure MCP is enabled:
azure__storage with command storage_account_list - List storage accountsazure__storage with command storage_container_list - List containers in accountazure__storage with command storage_blob_list - List blobs in containerazure__storage with command storage_blob_get - Download blob contentazure__storage with command storage_blob_put - Upload blob contentIf Azure MCP is not enabled: In Copilot CLI or Claude Code, ask the user to run /mcp and enable Azure MCP; in other hosts, ask the user to enable Azure MCP through the host's MCP configuration.
# List storage accounts
az storage account list --output table
# List containers
az storage container list --account-name ACCOUNT --output table
# List blobs
az storage blob list --account-name ACCOUNT --container-name CONTAINER --output table
# Download blob
az storage blob download --account-name ACCOUNT --container-name CONTAINER --name BLOB --file LOCAL_PATH
# Upload blob
az storage blob upload --account-name ACCOUNT --container-name CONTAINER --name BLOB --file LOCAL_PATH
| Tier | Use Case | Performance |
|---|---|---|
| Standard | General purpose, backup | Milliseconds |
| Premium | Databases, high IOPS | Sub-millisecond |
| Tier | Access Frequency | Cost |
|---|---|---|
| Hot | Frequent | Higher storage, lower access |
| Cool | Infrequent (30+ days) | Lower storage, higher access |
| Cold | Rare (90+ days) | Lower still |
| Archive | Rarely (180+ days) | Lowest storage, rehydration required |
| Type | Durability | Use Case |
|---|---|---|
| LRS | 11 nines | Dev/test, recreatable data |
| ZRS | 12 nines | Regional high availability |
| GRS | 16 nines | Disaster recovery |
| GZRS | 16 nines | Best durability |
For deep documentation on specific services:
For building applications with Azure Storage SDKs, see the condensed guides:
For full package listing across all languages, see SDK Usage Guide.
For building applications that interact with Azure Storage programmatically, Azure provides SDK packages in multiple languages (.NET, Java, JavaScript, Python, Go, Rust). See SDK Usage Guide for package names, installation commands, and quick start examples.
Sponsors