Skip to content

Commit 5eee489

Browse files
authored
Merge pull request #7676 from diberry/diberry/0812-mcp-055
MCP tool - new Azure Container Registries, updated Storage w/new operations - 0.5.5
2 parents d84e32a + cb08d48 commit 5eee489

File tree

4 files changed

+137
-17
lines changed

4 files changed

+137
-17
lines changed

articles/azure-mcp-server/TOC.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ items:
2323
href: tools/azure-cache-for-redis.md
2424
- name: Azure CLI
2525
href: tools/azure-cli-extension.md
26+
- name: Azure Container Registry
27+
href: tools/azure-container-registry.md
2628
- name: Azure Cosmos DB
2729
href: tools/cosmos-db.md
2830
- name: Azure Data Explorer

articles/azure-mcp-server/includes/tools/supported-azure-services.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
ms.author: diberry
44
ms.service: azure-mcp-server
55
ms.topic: include
6-
ms.date: 08/05/2025
6+
ms.date: 08/12/2025
77
---
88

99
## Available tools
@@ -18,6 +18,7 @@ Azure MCP Server provides the following tools for Azure services and Azure-relat
1818
| [Azure best practices](../../tools/azure-best-practices.md) | Get guidance on Azure Functions development, deployment, and Azure SDK usage. |
1919
| [Azure Cache for Redis](../../tools/azure-cache-for-redis.md) | Manage Azure Cache for Redis instances, Redis clusters, and access policies. |
2020
| [Azure CLI](../../tools/azure-cli-extension.md) | Execute Azure CLI commands within the MCP server. |
21+
| [Azure Container Registry](../../tools/azure-container-registry.md) | List Azure Container Registry instances. |
2122
| [Azure Cosmos DB](../../tools/cosmos-db.md) | Work with Azure Cosmos DB accounts, databases, containers, and documents. |
2223
| [Azure Data Explorer](../../tools/azure-data-explorer.md) | Work with Azure Data Explorer clusters, databases, tables, and queries. |
2324
| [Azure Database for PostgreSQL](../../tools/postgresql.md) | Manage Azure Database for PostgreSQL servers, databases, and tables. |
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
---
2+
title: Azure Container Registry Tools
3+
description: Learn how to use the Azure MCP Server with Azure Container Registry.
4+
keywords: azure mcp server, azmcp, container registry
5+
author: diberry
6+
ms.author: diberry
7+
ms.date: 08/12/2025
8+
content_well_notification:
9+
- AI-contribution
10+
ai-usage: ai-assisted
11+
ms.topic: reference
12+
ms.custom: build-2025
13+
---
14+
15+
# Azure Container Registry tools for the Azure MCP Server
16+
17+
The Azure MCP Server allows you to manage Azure resources, including Azure Container Registries, using natural language prompts. This enables you to work with container registries without needing to remember complex command syntax.
18+
19+
[Azure Container Registry](/azure/container-registry/) allows you to build, store, and manage container images and artifacts in a private registry for all types of container deployments. Use Azure container registries with your existing container development and deployment pipelines. Use Azure Container Registry Tasks to build container images in Azure on-demand, or automate builds triggered by source code updates, updates to a container's base image, or timers.
20+
21+
22+
[!INCLUDE [tip-about-params](../includes/tools/parameter-consideration.md)]
23+
24+
## Registry: list registry accounts
25+
26+
List accounts in a subscription. Optionally filter by resource group.
27+
28+
Example prompts include:
29+
30+
31+
- **List registries**: "List all Azure Container Registries in my subscription."
32+
- **Show registries**: "What container registries do I have?"
33+
- **Find registries in a group**: "Show me all container registries in resource group 'devops-resources'."
34+
- **Filter by resource group**: "List container registries in the resource group 'production-resources'."
35+
- **Query registries**: "Can you list all my Azure Container Registries?"
36+
- **Check registries**: "Container registries in subscription abc123"

articles/azure-mcp-server/tools/storage.md

Lines changed: 97 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: Learn how to use the Azure MCP Server with Azure Storage.
44
keywords: azure mcp server, azmcp, storage account, blob storage
55
author: diberry
66
ms.author: diberry
7-
ms.date: 08/07/2025
7+
ms.date: 08/12/2025
88
content_well_notification:
99
- AI-contribution
1010
ai-usage: ai-assisted
@@ -19,7 +19,32 @@ The Azure MCP Server enables you to manage Azure Storage resources, including st
1919

2020
[!INCLUDE [tip-about-params](../includes/tools/parameter-consideration.md)]
2121

22-
## List accounts
22+
23+
## Account: create
24+
25+
Create a new Azure Storage account.
26+
27+
Example prompts include:
28+
29+
- **Create account**: "Create a storage account named 'mystorageaccount' in 'eastus'."
30+
- **New storage**: "Set up a new storage account called 'datastore2025' in region 'westus2'."
31+
- **Specify SKU and kind**: "Create a storage account 'mydata' in 'eastus' with Standard_GRS and kind StorageV2."
32+
- **Secure storage**: "Create a storage account 'securestore' in 'centralus' with HTTPS only."
33+
- **Enable Data Lake**: "Set up a storage account 'datalakeacct' in 'westeurope' with hierarchical namespace enabled."
34+
35+
| Parameter | Required or optional | Description |
36+
|-----------------------------|----------------------|-------------|
37+
| **Account** | Required | The name of the Azure Storage account to create. Must be globally unique, 3-24 characters, lowercase letters and numbers only. |
38+
| **Region** | Required | The Azure region where you want to create the storage account (for example, 'eastus', 'westus2'). |
39+
| **SKU** | Optional | The storage account SKU. Valid values: Standard_LRS, Standard_GRS, Standard_RAGRS, Standard_ZRS, Premium_LRS, Premium_ZRS, Standard_GZRS, Standard_RAGZRS. |
40+
| **Kind** | Optional | The storage account kind. Valid values: Storage, StorageV2, BlobStorage, FileStorage, BlockBlobStorage. |
41+
| **Default access tier for blobs** | Optional | The default access tier for blob storage. Valid values: Hot, Cool. |
42+
| **Require secure transfer (HTTPS)** | Optional | Whether to require secure transfer (HTTPS) for the storage account. |
43+
| **Allow public access to blobs** | Optional | Whether to allow public access to blobs in the storage account. |
44+
| **Enable hierarchical namespace (Data Lake)** | Optional | Whether to enable hierarchical namespace (Data Lake Storage Gen2) for the storage account. |
45+
46+
47+
## Account: list
2348

2449
The Azure MCP Server can list all storage accounts in a subscription. This functionality provides an overview of your storage infrastructure.
2550

@@ -51,6 +76,27 @@ Example prompts include:
5176
| **Blob names** | Required | The names of the blobs to set the access tier for. Provide multiple blob names separated by spaces. Each blob name should be the full path within the container (for example, 'file1.txt' or 'folder/file2.txt'). |
5277

5378

79+
## Blob: create container
80+
81+
Create a blob container with optional blob public access.
82+
83+
Example prompts include:
84+
85+
- **Create private container**: "Create a private container named 'mycontainer' in storage account 'mystorageaccount'."
86+
- **New private blob container**: "Make a new private blob container called 'images' in storage account 'mydata'."
87+
- **Add private container**: "Add a private container named 'archive' to storage account 'contosostore'."
88+
- **Set up private container**: "Set up a private blob container named 'logs' in storage account 'prodstore'."
89+
- **Create private container (simple)**: "Create a private blob container called 'images' in storage account 'mystorageaccount'."
90+
- **Create private container (explicit access)**: "Create a blob container named 'logs' in storage account 'mydata' with access level 'private'."
91+
92+
93+
| Parameter | Required or optional | Description |
94+
|-----------|----------|-------------|
95+
| **Account** | Required | The name of the Azure Storage account. This is the unique name you chose for your storage account (for example, 'mystorageaccount'). |
96+
| **Container** | Required | The name of the container to access within the storage account. |
97+
| **Access level** | Optional | The [access tier](/azure/storage/blobs/access-tiers-overview). Default: `private`. Valid values: `private`, `blob` (allows public read access to blobs), `container` (allows public read access to both blobs and container metadata). |
98+
99+
54100
## Blob: get container details
55101

56102
The Azure MCP Server shows detailed information about a specific container in a storage account. This information includes metadata, access policies, and other properties.
@@ -64,11 +110,11 @@ Example prompts include:
64110

65111
| Parameter | Required or optional | Description |
66112
|-----------|-------------|-------------|
67-
| **Account name** | Required | The name of the Azure Storage account. |
68-
| **Container name** | Required | The name of the container to access. |
113+
| **Account** | Required | The name of the Azure Storage account. |
114+
| **Container** | Required | The name of the container to access. |
69115

70116

71-
## Blob: List containers
117+
## Blob: list containers
72118

73119
The Azure MCP Server can list all blob containers in a storage account. This functionality helps you organize and manage your blob data.
74120

@@ -81,7 +127,7 @@ Example prompts include:
81127

82128
| Parameter | Required or optional | Description |
83129
|-----------|-------------|-------------|
84-
| **Account name** | Required | The name of the Azure Storage account. |
130+
| **Account** | Required | The name of the Azure Storage account. |
85131

86132
## Blob: list container blobs
87133

@@ -97,9 +143,24 @@ Example prompts include:
97143

98144
| Parameter | Required or optional | Description |
99145
|-----------|-------------|-------------|
100-
| **Account name** | Required | The name of the Azure Storage account. |
101-
| **Container name** | Required | The name of the container to access. |
146+
| **Account** | Required | The name of the Azure Storage account. |
147+
| **Container** | Required | The name of the container to access. |
102148

149+
## Blob: get blob details
150+
151+
Get blob properties, metadata, and general information.
152+
153+
Example prompts include:
154+
155+
- **Get blob details**: "Show me details for 'file.txt' in container 'documents' in storage account 'mystorageaccount'."
156+
- **Blob properties**: "Get properties of blob 'image1.png' in container 'photos' in storage account 'mediafiles'."
157+
- **Blob metadata**: "What is the metadata for 'backup.zip' in 'backups' container in 'mydata' storage account?"
158+
159+
| Parameter | Required or optional | Description |
160+
|-----------------------------|----------------------|-------------|
161+
| **Account** | Required | The name of the Azure Storage account. This name is unique across Azure (for example, 'mystorageaccount'). |
162+
| **Container** | Required | The name of the container to access within the storage account. |
163+
| **Blob** | Required | The name of the blob to access within the container. This name includes the full path within the container (for example, 'file.txt' or 'folder/file.txt'). |
103164

104165
## Datalake: create directory
105166

@@ -116,7 +177,7 @@ Example prompts include:
116177
| Parameter | Required or optional | Description |
117178
|-----------|-------------|-------------|
118179
| **Directory path** | Required | The full path of the directory to create in the Data Lake, including the file system name (for example, 'myfilesystem/data/logs' or 'myfilesystem/archives/2024'). Use forward slashes (/) to separate the file system name from the directory path and for subdirectories. |
119-
| **Account name** | Required | The name of the Azure Storage account. This name is unique to Azure (for example, 'mystorageaccount'). |
180+
| **Account** | Required | The name of the Azure Storage account. This name is unique to Azure (for example, 'mystorageaccount'). |
120181

121182
## Datalake: list file system paths
122183

@@ -133,13 +194,33 @@ Example prompts include:
133194
| Parameter | Required or optional | Description |
134195
|-----------|-------------|-------------|
135196
| **File system name** | Required | The name of the Data Lake file system to access within the storage account. |
136-
| **Account name** | Required | The name of the Azure Storage account. This name is unique to Azure (for example, 'mystorageaccount'). |
137-
| **Filter path** | Optional | The prefix to filter paths in the Data Lake. Only paths that start with this prefix will be listed. |
138-
| **Recursive** | Optional | Flag to indicate whether the command will operate recursively on all subdirectories. |
197+
| **Account** | Required | The name of the Azure Storage account. This name is unique to Azure (for example, 'mystorageaccount'). |
198+
| **Filter path** | Optional | The prefix to filter paths in the Data Lake. Only paths that start with this prefix are listed. |
199+
| **Recursive** | Optional | Flag to indicate whether the command operates recursively on all subdirectories. |
200+
201+
202+
## Queue: send message
203+
204+
Send messages to an Azure Storage queue for asynchronous processing.
205+
206+
Example prompts include:
207+
208+
- **Send message**: "Send 'Hello, world!' to the 'tasks' queue in storage account 'mystorageaccount'."
209+
- **Set message TTL**: "Send 'process this' to queue 'jobs' in storage account 'workdata' with a time-to-live of 3600 seconds."
210+
- **Set visibility timeout**: "Send 'start job' to queue 'operations' in storage account 'prodstore' with a visibility timeout of 30 seconds."
211+
212+
| Parameter | Required or optional | Description |
213+
|-----------------------------|----------------------|-------------|
214+
| **Account** | Required | The name of the Azure Storage account. This name is unique across Azure (for example, 'mystorageaccount'). |
215+
| **Queue** | Required | The name of the queue to access within the storage account. |
216+
| **Message** | Required | The content of the message to send to the queue. |
217+
| **Time-to-live (seconds)** | Optional | The time-to-live for the message in seconds. If you don't specify this value, the message uses the queue's default TTL. Set to -1 for messages that never expire. |
218+
| **Visibility timeout (seconds)** | Optional | The visibility timeout for the message in seconds. This value determines how long the message is invisible after it's retrieved. If you don't specify this value, it defaults to 0 (immediately visible). |
219+
139220

140221
## Share: list files
141222

142-
The Azure MCP Server can list files and directories within a file share directory. This functionality recursively lists all items in a specified file share directory, including files, subdirectories, and their properties. Files and directories may be filtered by a prefix.
223+
The Azure MCP Server can list files and directories within a file share directory. This functionality recursively lists all items in a specified file share directory, including files, subdirectories, and their properties. You can filter files and directories by a prefix.
143224

144225
Example prompts include:
145226

@@ -151,10 +232,10 @@ Example prompts include:
151232

152233
| Parameter | Required or optional | Description |
153234
|-----------|-------------|-------------|
154-
| **Account** | Required | The name of the Azure Storage account. This is the unique name you chose for your storage account (for example, 'mystorageaccount'). |
235+
| **Account** | Required | The name of the Azure Storage account. This name is unique across Azure (for example, 'mystorageaccount'). |
155236
| **Share** | Required | The name of the file share to access within the storage account. |
156237
| **Directory path** | Required | The path of the directory to list within the file share (for example, 'documents/projects' or 'uploads/2024'). Use forward slashes (/) to separate subdirectories. |
157-
| **Prefix** | Optional | Optional prefix to filter results. Only items that start with this prefix will be returned. |
238+
| **Prefix** | Optional | Optional prefix to filter results. Only items that start with this prefix are returned. |
158239

159240
## Table: list tables
160241

@@ -170,7 +251,7 @@ Example prompts include:
170251

171252
| Parameter | Required or optional | Description |
172253
|-----------|-------------|-------------|
173-
| **Account name** | Required | The name of the Azure Storage account. |
254+
| **Account** | Required | The name of the Azure Storage account. |
174255

175256
## Related content
176257

0 commit comments

Comments
 (0)