Edit

Share via


Azure Storage tools for the Azure MCP Server overview

The Azure MCP Server lets you manage Azure Storage resources, including storage accounts, containers, tables, and blobs with natural language prompts.

Azure Storage is Microsoft's cloud storage solution for modern data storage scenarios.

Note

Tool parameters: The Azure MCP Server tools define parameters for data they need to complete tasks. Some of these parameters are specific to each tool and are documented below. Other parameters are global and shared by all tools. For more information, see Tool parameters.

Account: Create

Create a new Azure Storage account.

Prerequisites: The conversation context establishes global parameters (subscription, resource group). Caller must have Storage Account Contributor role or equivalent permissions on the target subscription.

Example prompts include:

  • Create storage account: "Create a storage account named 'mystorageaccount' in resource group 'my-resource-group' in location 'eastus'."
  • With SKU: "Create a storage account 'mydata' in resource group 'my-resource-group' in location 'eastus' with Standard_GRS."
  • Enable Data Lake: "Create a storage account 'datalakeacct' in resource group 'my-resource-group' in location 'westeurope' with hierarchical namespace enabled."
Parameter Required or optional Description
Resource group Required The name of the Azure resource group. The resource group is a logical container for Azure resources.
Storage account Required The globally unique name of the Azure Storage account (3-24 characters, lowercase letters, and numbers only).
Location Required The Azure region where Azure creates the storage account (for example, eastus, westus2).
SKU Optional The storage account SKU. Valid values: Standard_LRS, Standard_GRS, Standard_RAGRS, Standard_ZRS, Premium_LRS, Premium_ZRS, Standard_GZRS, Standard_RAGZRS.
Access tier Optional The default access tier for blob storage. Valid values: Hot, Cool.
Enable hierarchical namespace Optional Whether to enable hierarchical namespace (Data Lake Storage Gen2) for the storage account.

Success verification: The tool returns the created storage account details.

Tool annotation hints:

Destructive: ✅ | Idempotent: ❌ | Open World: ❌ | Read Only: ❌ | Secret: ❌ | Local Required: ❌

Account: Get details

Retrieves detailed information about Azure Storage accounts, including account name, location, SKU, kind, hierarchical namespace status, HTTPS-only settings, and blob public access configuration. If you don't provide a specific account name, the tool returns details for all accounts in the subscription.

Prerequisites: The conversation context establishes global parameters (subscription, authentication). Caller must have Storage Account Reader role or equivalent permissions.

Example prompts include:

  • Get storage account details: "Show me details for the storage account 'mystorageaccount'."
  • List all accounts: "What storage accounts are in my subscription?"
  • Check properties: "What are the settings for storage account 'mydata'?"
Parameter Required or optional Description
Storage account Optional The globally unique name of the Azure Storage account (for example, 'mystorageaccount').

Success verification: Returns JSON with storage account properties or a list of all accounts if you don't specify a name.

Tool annotation hints:

Destructive: ❌ | Idempotent: ✅ | Open World: ❌ | Read Only: ✅ | Secret: ❌ | Local Required: ❌

Container: Create container

Create a blob container with optional blob public access.

Prerequisites: The conversation context establishes global parameters (subscription, authentication). Caller must have Storage Blob Data Contributor role or equivalent on the storage account.

Example prompts include:

  • Create container: "Create a private container named 'mycontainer' in storage account 'mystorageaccount'."
  • With access level: "Create a blob container named 'logs' in storage account 'mydata' with access level 'private'."
Parameter Required or optional Description
Storage account Required The globally unique name of the Azure Storage account (for example, 'mystorageaccount').
Container Required The name of the container to create within the storage account.

Success verification: The tool returns the created container properties.

Tool annotation hints:

Destructive: ✅ | Idempotent: ❌ | Open World: ❌ | Read Only: ❌ | Secret: ❌ | Local Required: ❌

Container: Get container details

List all blob containers in a storage account or show details for a specific container. Displays container properties including access policies, lease status, and metadata.

Prerequisites: The conversation context establishes global parameters (subscription, authentication). Caller must have Storage Blob Data Reader role or equivalent on the storage account.

Example prompts include:

  • Get container details: "Show me details about the 'documents' container in storage account 'mystorageaccount'."
  • List containers: "What containers are in storage account 'media_files'?"
  • Check access policy: "Check access policy for container 'user_data' in storage account 'prodstore'."
Parameter Required or optional Description
Storage account Required The globally unique name of the Azure Storage account.
Container Optional The name of the container. If you don't specify a name, the tool lists all containers in the storage account.

Success verification: Returns JSON with container properties or a list of all containers if you don't specify a name.

Tool annotation hints:

Destructive: ❌ | Idempotent: ✅ | Open World: ❌ | Read Only: ✅ | Secret: ❌ | Local Required: ❌

Blob: Get blob details

List blobs in a container or get details for a specific blob. Shows blob properties including metadata, size, last modification time, and content properties.

Prerequisites: The conversation context establishes global parameters (subscription, authentication). Caller must have Storage Blob Data Reader role or equivalent on the storage account.

Example prompts include:

  • Get blob details: "Show me details for 'file.txt' in container 'documents' in storage account 'mystorageaccount'."
  • List blobs: "What blobs are in container 'photos' in storage account 'mediafiles'?"
  • Blob metadata: "What is the metadata for 'backup.zip' in container 'backups' in storage account 'mydata'?"
Parameter Required or optional Description
Storage account Required The globally unique name of the Azure Storage account (for example, 'mystorageaccount').
Container Required The name of the container within the storage account.
Blob Optional The name of the blob within the container, including the full path (for example, file.txt or folder/file.txt). If you don't specify a name, the tool lists all blobs in the container.

Success verification: Returns JSON with blob properties or a list of all blobs if you don't specify a name.

Tool annotation hints:

Destructive: ❌ | Idempotent: ✅ | Open World: ❌ | Read Only: ✅ | Secret: ❌ | Local Required: ❌

Blob: Upload

Uploads a local file to a blob in Azure Storage if the blob doesn't exist.

Prerequisites: The conversation context establishes global parameters (subscription, authentication). Caller must have Storage Blob Data Contributor role or equivalent on the storage account. Local file must exist and be accessible.

Example prompts include:

  • Upload file: "Upload local file 'report.pdf' to blob 'documents/report.pdf' in container 'documents' in storage account 'mystorageaccount'."
  • Upload and overwrite: "Upload local file 'data.csv' to blob 'archive/data.csv' in container 'archive' in storage account 'mydata', overwriting if it exists'."
Parameter Required or optional Description
Storage account Required The globally unique name of the Azure Storage account (for example, mystorageaccount).
Container Required The name of the container within the storage account.
Blob Required The name of the blob within the container, including the full path (for example, file.txt or folder/file.txt).
Local file path Required The full path to the local file on your system.

Success verification: The tool returns the last modified time, ETag, and content hash of the uploaded blob.

Tool annotation hints:

Destructive: ❌ | Idempotent: ❌ | Open World: ❌ | Read Only: ❌ | Secret: ❌ | Local Required: ✅