Skip to content
This repository was archived by the owner on Sep 4, 2025. It is now read-only.

Commit 85a8083

Browse files
jongioCopilotvcolin7
authored
Add acr registry repository list (#983)
* Add command to list repositories in Azure Container Registries and update related files * Refactor ACR image import logic to include resource module checks and enhance error handling * Enhance Import-AcrImageAz function to include TargetTag parameter and improve repository verification logic * Add support for listing repositories in Azure Container Registries via `azmcp-acr-registry-repository-list` command * Update areas/acr/src/AzureMcp.Acr/Services/AcrService.cs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Fix exception handling in AddRepositoriesForRegistryAsync method to log warnings correctly * Update areas/acr/src/AzureMcp.Acr/Services/AcrService.cs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Fix exception handling in AddRepositoriesForRegistryAsync method to log warnings correctly * Update CHANGELOG.md Co-authored-by: vcolin7 <vicolina@microsoft.com> * Update areas/acr/src/AzureMcp.Acr/Services/AcrService.cs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Fix exception handling in AddRepositoriesForRegistryAsync method to log warnings correctly * Update areas/acr/src/AzureMcp.Acr/Services/AcrService.cs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Fix exception handling in AddRepositoriesForRegistryAsync method to log warnings correctly * Add commands and prompts for listing container registry repositories * Add command to list repositories in Azure Container Registries and update related files * Update areas/acr/src/AzureMcp.Acr/Services/AcrService.cs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Fix exception handling in AddRepositoriesForRegistryAsync method to log warnings correctly * Add command to list repositories in Azure Container Registries and update related files * Update areas/acr/src/AzureMcp.Acr/Services/AcrService.cs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Fix exception handling in AddRepositoriesForRegistryAsync method to log warnings correctly * Add command to list repositories in Azure Container Registries and update related files * Refactor ACR image import logic to include resource module checks and enhance error handling * Update areas/acr/src/AzureMcp.Acr/Services/AcrService.cs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Fix exception handling in AddRepositoriesForRegistryAsync method to log warnings correctly * Update areas/acr/src/AzureMcp.Acr/Services/AcrService.cs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Fix exception handling in AddRepositoriesForRegistryAsync method to log warnings correctly * Update areas/acr/src/AzureMcp.Acr/Services/AcrService.cs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Fix exception handling in AddRepositoriesForRegistryAsync method to log warnings correctly * Update areas/acr/src/AzureMcp.Acr/Services/AcrService.cs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Fix exception handling in AddRepositoriesForRegistryAsync method to log warnings correctly * Update areas/acr/src/AzureMcp.Acr/Services/AcrService.cs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Fix exception handling in AddRepositoriesForRegistryAsync method to log warnings correctly * Update areas/acr/src/AzureMcp.Acr/Services/AcrService.cs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Fix exception handling in AddRepositoriesForRegistryAsync method to log warnings correctly * Took cspell through hooked on phonics * Cast a spell on cspell * Fix spelling dictionary entries in cspell configuration --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: vcolin7 <vicolina@microsoft.com>
1 parent dd25efe commit 85a8083

File tree

15 files changed

+663
-62
lines changed

15 files changed

+663
-62
lines changed

‎.vscode/cspell.json‎

Lines changed: 65 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -2,30 +2,37 @@
22
"version": "0.2",
33
"language": "en",
44
"dictionaries": [
5-
"typescript",
6-
"node",
5+
"baseline",
76
"csharp",
7+
"node",
88
"powershell",
99
"softwareTerms",
10-
"users",
11-
"baseline"
10+
"typescript",
11+
"users"
1212
],
1313
"useGitignore": true,
1414
"enableGlobDot": true,
15+
"overrides": [
16+
{
17+
"filename": "**/*.trx",
18+
"enabled": false
19+
}
20+
],
1521
"ignorePaths": [
1622
"**/*.binlog",
23+
"**/.dist/**",
1724
"**/.editorconfig",
18-
"**/.github/CODEOWNERS",
19-
"**/.git/",
2025
"**/.gitattributes",
26+
"**/.git/",
27+
"**/.github/CODEOWNERS",
2128
"**/.gitignore",
2229
"**/.vscode/**",
23-
"**/eng/common/**",
24-
"**/obj/**",
25-
"**/bin/**",
2630
"**/.work/**",
27-
"**/.dist/**",
2831
"**/NOTICE.txt",
32+
"**/TestResults/**",
33+
"**/bin/**",
34+
"**/eng/common/**",
35+
"**/obj/**",
2936
"!**/.devcontainer/**"
3037
],
3138
"dictionaryDefinitions": [
@@ -37,8 +44,8 @@
3744
"conniey",
3845
"ganguly",
3946
"hallipr",
40-
"joshfree",
4147
"jongio",
48+
"joshfree",
4249
"kcsb",
4350
"lfraleigh",
4451
"lmolkova",
@@ -55,8 +62,22 @@
5562
"words": [
5663
"%2Fmcp",
5764
"AADSTS",
58-
"accessibilities",
5965
"ACCESSTOKEN",
66+
"Commmand",
67+
"Commitish",
68+
"Fmcp",
69+
"Groq",
70+
"HKCU",
71+
"HKEY_CURRENT_USER",
72+
"Intune",
73+
"LASTEXITCODE",
74+
"LPUTF8Str",
75+
"Ollama",
76+
"Roboto",
77+
"Segoe",
78+
"VSTEST",
79+
"Xunit",
80+
"accessibilities",
6081
"adadmin",
6182
"addattachment",
6283
"adminprovider",
@@ -65,9 +86,9 @@
6586
"apphost",
6687
"aspnet",
6788
"assemblyfilters",
89+
"authenticode",
6890
"authkey",
6991
"autoscale",
70-
"authenticode",
7192
"azurecr",
7293
"azuresdkimages",
7394
"backoff",
@@ -84,17 +105,15 @@
84105
"classfilters",
85106
"cmds",
86107
"cobertura",
108+
"codeql",
109+
"codesign",
87110
"contentfiles",
88111
"credscan",
89112
"cslschema",
90-
"codeql",
91-
"codesign",
92-
"Commmand",
93-
"Commitish",
94113
"datatable",
95-
"datetime",
96114
"datistemplate",
97115
"datname",
116+
"datetime",
98117
"descired",
99118
"devcert",
100119
"deviceid",
@@ -107,29 +126,23 @@
107126
"entraid",
108127
"existingaccount",
109128
"filestorage",
110-
"Fmcp",
111129
"funkyfoo",
112130
"gdnbaselines",
113131
"globaltool",
114132
"glsl",
115-
"Groq",
116-
"HKCU",
117-
"HKEY_CURRENT_USER",
118133
"hotmail",
119-
"Intune",
120134
"kcsb",
121-
"LASTEXITCODE",
122135
"locproj",
123136
"logissue",
124-
"LPUTF8Str",
125137
"maxdepth",
126138
"mcptestadmin",
127139
"mgmt",
140+
"microsoftonline",
128141
"mkdirp",
129142
"modelcontextprotocol",
130-
"microsoftonline",
131143
"msal",
132144
"msrc",
145+
"myacr",
133146
"mycluster",
134147
"mycontainer",
135148
"mydb",
@@ -140,24 +153,21 @@
140153
"mysvc",
141154
"nativeproj",
142155
"nettrace",
143-
"nslookup",
144-
"notcontains",
145156
"nonexistentaccount",
146157
"nonexistentrg",
158+
"notcontains",
147159
"notlike",
148-
"Ollama",
160+
"nslookup",
149161
"otel",
150162
"otlp",
151163
"privatelink",
152164
"psscriptanalyzer",
153165
"quickstart",
154166
"reportgenerator",
155167
"reporttypes",
156-
"resourcegroups",
157168
"resx",
158-
"Roboto",
169+
"resourcegroups",
159170
"securestring",
160-
"Segoe",
161171
"setvariable",
162172
"skus",
163173
"storageaccount",
@@ -171,33 +181,31 @@
171181
"testfilesystem",
172182
"testpool",
173183
"testproxy",
184+
"testrepo",
174185
"testrg",
175186
"testserver",
176187
"testshare",
177188
"testsub",
178-
"testfilesystem",
179189
"toplevel",
180190
"uploadsummary",
181191
"vectorizable",
182192
"vectorizer",
183193
"vsix",
184-
"vsixtarget",
185-
"VSTEST",
186-
"Xunit"
194+
"vsixtarget"
187195
]
188196
}
189197
],
190198
"words": [
191199
"1espt",
192-
"acaenvironment",
193200
"aarch",
194201
"accesspolicy",
202+
"acaenvironment",
195203
"ADMINPROVIDER",
196204
"akscluster",
197205
"aksservice",
198206
"alcoop",
199-
"Apim",
200207
"AOAI",
208+
"Apim",
201209
"appconfig",
202210
"appservice",
203211
"australiacentral",
@@ -211,6 +219,7 @@
211219
"azqr",
212220
"azsdk",
213221
"aztfmod",
222+
"azureadmin",
214223
"azureaisearch",
215224
"azureaiservices",
216225
"azureapplicationinsights",
@@ -264,9 +273,9 @@
264273
"cloudarchitect",
265274
"codegen",
266275
"codeium",
267-
"Codespace",
268-
"codesign",
269276
"CODEOWNERS",
277+
"codesign",
278+
"Codespace",
270279
"cognitiveservices",
271280
"containerapp",
272281
"containerapps",
@@ -275,8 +284,8 @@
275284
"contoso",
276285
"copilotmd",
277286
"Cosell",
278-
"cslschema",
279287
"csdevkit",
288+
"cslschema",
280289
"cvzf",
281290
"datalake",
282291
"dataplane",
@@ -288,10 +297,11 @@
288297
"devcontainers",
289298
"discoverability",
290299
"Distributedtask",
291-
"dotenv",
292300
"dotnettools",
301+
"dotenv",
293302
"drawcord",
294303
"eastasia",
304+
"eastus",
295305
"eastus2euap",
296306
"enumerables",
297307
"eslintcache",
@@ -350,28 +360,30 @@
350360
"MACVMIMAGE",
351361
"malaysiawest",
352362
"mexicocentral",
353-
"Microbundle",
354363
"midsole",
364+
"Microbundle",
355365
"monitoredresources",
356366
"msal",
357367
"MSRP",
358368
"myaccount",
369+
"myacr",
359370
"myapp",
360371
"mycluster",
361372
"myfilesystem",
362373
"mygroup",
363-
"mysvc",
364374
"myworkbook",
365-
"Newtonsoft",
375+
"mysvc",
366376
"newzealandnorth",
377+
"Newtonsoft",
378+
"Npgsql",
367379
"norequired",
368380
"northcentralus",
369381
"northeurope",
370382
"norwayeast",
371383
"norwaywest",
372-
"Npgsql",
373384
"npmjs",
374385
"nuxt",
386+
"Occured",
375387
"odata",
376388
"oidc",
377389
"onboarded",
@@ -382,8 +394,8 @@
382394
"payg",
383395
"paygo",
384396
"pgrep",
385-
"pids",
386397
"piechart",
398+
"pids",
387399
"polandcentral",
388400
"portalsettings",
389401
"predeploy",
@@ -397,6 +409,8 @@
397409
"RediSearch",
398410
"resourcegroup",
399411
"resourcegroups",
412+
"resourcehealth",
413+
"rhvm",
400414
"Runtimes",
401415
"searchdocs",
402416
"serverfarms",
@@ -422,11 +436,12 @@
422436
"switzerlandnorth",
423437
"switzerlandwest",
424438
"syslib",
439+
"test_test_pmc2pc1.vmsr_uat_beta",
425440
"testaccount",
426441
"testacct",
427442
"testfilesystem",
428443
"testqueue",
429-
"test_test_pmc2pc1.vmsr_uat_beta",
444+
"testrepo",
430445
"testresource",
431446
"testrun",
432447
"testsettings",
@@ -454,22 +469,12 @@
454469
"westus",
455470
"westus2",
456471
"westus3",
472+
"winget",
457473
"WINDOWSOS",
458474
"WINDOWSPOOL",
459475
"WINDOWSVMIMAGE",
460-
"winget",
461476
"wscript",
462-
"Xunit",
463477
"xvfb",
464-
"operationalinsights",
465-
"piechart",
466-
"timechart",
467-
"myapp",
468-
"mygroup",
469-
"myworkbook",
470-
"resourcehealth",
471-
"rhvm",
472-
"azureadmin",
473-
"Occured"
478+
"Xunit"
474479
]
475480
}

‎CHANGELOG.md‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,14 @@ The Azure MCP Server updates automatically by default whenever a new release com
2020
- Added support for the following Azure Service Health operations: [[#998](https://github.com/Azure/azure-mcp/pull/998)]
2121
- `azmcp-resourcehealth-availability-status-get` - Get the availability status for a specific resource.
2222
- `azmcp-resourcehealth-availability-status-list` - List availability statuses for all resources in a subscription or resource group.
23+
- Added support for importing existing certificates into Azure Key Vault via the command `azmcp-keyvault-certificate-import`. This command accepts PFX or PEM certificate data (file path, base64, or raw PEM) with optional password protection. [[#968](https://github.com/Azure/azure-mcp/issues/968)]
24+
- Added support for listing repositories in Azure Container Registries via the command `azmcp-acr-registry-repository-list`. This lists repository names per registry with optional filtering by resource group or registry name. [[#983](https://github.com/Azure/azure-mcp/pull/983)]
25+
26+
### Breaking Changes
27+
28+
### Bugs Fixed
29+
30+
### Other Changes
2331

2432
#### Dependency Updates
2533

‎Directory.Packages.props‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
44
</PropertyGroup>
55
<ItemGroup>
6+
<PackageVersion Include="Azure.Containers.ContainerRegistry" Version="1.2.0" />
67
<PackageVersion Include="Azure.AI.Projects" Version="1.0.0-beta.9" />
78
<PackageVersion Include="Azure.Bicep.Types" Version="0.6.1" />
89
<PackageVersion Include="Azure.Bicep.Types.Az" Version="0.2.792" />

‎areas/acr/src/AzureMcp.Acr/AcrSetup.cs‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,5 +25,9 @@ public void RegisterCommands(CommandGroup rootGroup, ILoggerFactory loggerFactor
2525
acr.AddSubGroup(registry);
2626

2727
registry.AddCommand("list", new RegistryListCommand(loggerFactory.CreateLogger<RegistryListCommand>()));
28+
29+
var repository = new CommandGroup("repository", "Container Registry repository operations - Commands for listing and managing repositories within a Container Registry.");
30+
registry.AddSubGroup(repository);
31+
repository.AddCommand("list", new RegistryRepositoryListCommand(loggerFactory.CreateLogger<RegistryRepositoryListCommand>()));
2832
}
2933
}

‎areas/acr/src/AzureMcp.Acr/AzureMcp.Acr.csproj‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
<ItemGroup>
1313
<PackageReference Include="Azure.ResourceManager" />
1414
<PackageReference Include="Azure.ResourceManager.ContainerRegistry" />
15+
<PackageReference Include="Azure.Containers.ContainerRegistry" />
1516
<PackageReference Include="Microsoft.Extensions.DependencyInjection" />
1617
<PackageReference Include="ModelContextProtocol" />
1718
<PackageReference Include="System.CommandLine" />

‎areas/acr/src/AzureMcp.Acr/Commands/AcrJsonContext.cs‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
namespace AzureMcp.Acr.Commands;
88

99
[JsonSerializable(typeof(RegistryListCommand.RegistryListCommandResult))]
10+
[JsonSerializable(typeof(RegistryRepositoryListCommand.RegistryRepositoryListCommandResult))]
1011
[JsonSerializable(typeof(Models.AcrRegistryInfo))]
1112
[JsonSourceGenerationOptions(PropertyNamingPolicy = JsonKnownNamingPolicy.CamelCase)]
1213
internal sealed partial class AcrJsonContext : JsonSerializerContext

0 commit comments

Comments
 (0)