From d00cc703225881464ada72220f69b3efd3bab605 Mon Sep 17 00:00:00 2001 From: Patrick Hallisey Date: Mon, 4 May 2026 12:37:28 -0700 Subject: [PATCH 1/9] Add tool list export as static file to repo for drift detection --- CONTRIBUTING.md | 23 +- .../Areas/Tools/Commands/ToolsListCommand.cs | 22 +- .../Options/ToolsListOptionDefinitions.cs | 7 + .../Areas/Tools/Options/ToolsListOptions.cs | 5 + eng/scripts/Analyze-Code.ps1 | 63 +- eng/scripts/Update-ToolsList.ps1 | 127 + servers/Azure.Mcp.Server/docs/new-command.md | 5 +- servers/Azure.Mcp.Server/tools.json | 20522 ++++++++++++++++ servers/Fabric.Mcp.Server/tools.json | 1783 ++ servers/Template.Mcp.Server/tools.json | 221 + 10 files changed, 22753 insertions(+), 25 deletions(-) create mode 100644 eng/scripts/Update-ToolsList.ps1 create mode 100644 servers/Azure.Mcp.Server/tools.json create mode 100644 servers/Fabric.Mcp.Server/tools.json create mode 100644 servers/Template.Mcp.Server/tools.json diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 182511d8ed..345d1bd806 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -103,8 +103,9 @@ If you are contributing significant changes, or if the issue is already assigned 2. Create a feature branch 3. Make your changes 4. Write or update tests -5. Test locally -6. Submit a pull request +5. Run `./eng/scripts/Analyze-Code.ps1 -Fix` to auto-fix formatting, solution files, and tools.json drift +6. Test locally +7. Submit a pull request ### Adding a New Command @@ -608,17 +609,29 @@ To debug the Azure MCP Server (`azmcp`) when running live tests in VS Code: ### Code Style -To ensure consistent code quality, code format checks will run during all PR and CI builds. Run `dotnet format` before submitting to catch format errors early. +To ensure consistent code quality, code analysis checks will run during all PR and CI builds. Run `Analyze-Code.ps1 -Fix` before submitting to auto-fix formatting, solution files, and tools.json drift, and to catch remaining issues early: + +```pwsh +./eng/scripts/Analyze-Code.ps1 -Fix +``` + +This runs: solution file verification, `dotnet format`, tools.json regeneration, spelling check, tool metadata validation, and README validation. Fixable issues (format, solution files, tools.json) are corrected automatically with `-Fix`. + +To run the check in verify-only mode (as CI does): + +```pwsh +./eng/scripts/Analyze-Code.ps1 +``` #### Spelling Check -To ensure consistent spelling across the codebase, run the spelling check before submitting: +To run spelling check standalone: ```pwsh .\eng\common\spelling\Invoke-Cspell.ps1 ``` -This will check all files for spelling errors using the project's dictionary. Add any new technical terms or proper nouns to `.vscode/cspell.json` if needed. +Add any new technical terms or proper nouns to `.vscode/cspell.json` if needed. #### Requirements diff --git a/core/Microsoft.Mcp.Core/src/Areas/Tools/Commands/ToolsListCommand.cs b/core/Microsoft.Mcp.Core/src/Areas/Tools/Commands/ToolsListCommand.cs index 28082a32fc..a554b912ea 100644 --- a/core/Microsoft.Mcp.Core/src/Areas/Tools/Commands/ToolsListCommand.cs +++ b/core/Microsoft.Mcp.Core/src/Areas/Tools/Commands/ToolsListCommand.cs @@ -36,6 +36,7 @@ protected override void RegisterOptions(Command command) command.Options.Add(ToolsListOptionDefinitions.NamespaceMode); command.Options.Add(ToolsListOptionDefinitions.Namespace); command.Options.Add(ToolsListOptionDefinitions.NameOnly); + command.Options.Add(ToolsListOptionDefinitions.IncludeHidden); } protected override ToolsListOptions BindOptions(ParseResult parseResult) @@ -45,6 +46,7 @@ protected override ToolsListOptions BindOptions(ParseResult parseResult) { NamespaceMode = parseResult.GetValueOrDefault(ToolsListOptionDefinitions.NamespaceMode), NameOnly = parseResult.GetValueOrDefault(ToolsListOptionDefinitions.NameOnly), + IncludeHidden = parseResult.GetValueOrDefault(ToolsListOptionDefinitions.IncludeHidden), Namespaces = namespaces.ToList() }; } @@ -89,7 +91,7 @@ public override async Task ExecuteAsync(CommandContext context, if (subgroup is not null) { List foundCommands = []; - searchCommandInCommandGroup("", subgroup, foundCommands); + searchCommandInCommandGroup("", subgroup, foundCommands, options.IncludeHidden); namespaceCommands.AddRange(foundCommands); } } @@ -111,7 +113,7 @@ public override async Task ExecuteAsync(CommandContext context, if (options.NameOnly) { // Get all visible commands and extract their tokenized names (full command paths) - var allToolNames = CommandFactory.GetVisibleCommands(factory.AllCommands) + var allToolNames = GetFilteredCommands(factory.AllCommands, options.IncludeHidden) .Select(kvp => kvp.Key) // Use the tokenized key instead of just the command name .Where(name => !string.IsNullOrEmpty(name)); @@ -128,7 +130,7 @@ public override async Task ExecuteAsync(CommandContext context, } // Get all tools with full details - var allTools = CommandFactory.GetVisibleCommands(factory.AllCommands) + var allTools = GetFilteredCommands(factory.AllCommands, options.IncludeHidden) .Select(kvp => CreateCommand(kvp.Key, kvp.Value)); // Apply namespace filtering if specified @@ -150,6 +152,14 @@ public override async Task ExecuteAsync(CommandContext context, } } + private static IEnumerable> GetFilteredCommands( + IEnumerable> commands, bool includeHidden) + { + return includeHidden + ? commands.OrderBy(kvp => kvp.Key, StringComparer.Ordinal) + : CommandFactory.GetVisibleCommands(commands); + } + private static IEnumerable ApplyNamespaceFilterToNames(IEnumerable names, List namespaces, char separator) { if (namespaces.Count == 0) @@ -188,9 +198,9 @@ private static CommandInfo CreateCommand(string tokenizedName, IBaseCommand comm } public record ToolNamesResult(List Names); - private void searchCommandInCommandGroup(string commandPrefix, CommandGroup searchedGroup, List foundCommands) + private static void searchCommandInCommandGroup(string commandPrefix, CommandGroup searchedGroup, List foundCommands, bool includeHidden) { - var commands = CommandFactory.GetVisibleCommands(searchedGroup.Commands).Select(kvp => + var commands = GetFilteredCommands(searchedGroup.Commands, includeHidden).Select(kvp => { var command = kvp.Value.GetCommand(); return new CommandInfo @@ -204,7 +214,7 @@ private void searchCommandInCommandGroup(string commandPrefix, CommandGroup sear foundCommands.AddRange(commands); foreach (CommandGroup nextLevelSubGroup in searchedGroup.SubGroup) { - searchCommandInCommandGroup($"{commandPrefix}{searchedGroup.Name} ", nextLevelSubGroup, foundCommands); + searchCommandInCommandGroup($"{commandPrefix}{searchedGroup.Name} ", nextLevelSubGroup, foundCommands, includeHidden); } } } diff --git a/core/Microsoft.Mcp.Core/src/Areas/Tools/Options/ToolsListOptionDefinitions.cs b/core/Microsoft.Mcp.Core/src/Areas/Tools/Options/ToolsListOptionDefinitions.cs index fc92590c56..799e95e469 100644 --- a/core/Microsoft.Mcp.Core/src/Areas/Tools/Options/ToolsListOptionDefinitions.cs +++ b/core/Microsoft.Mcp.Core/src/Areas/Tools/Options/ToolsListOptionDefinitions.cs @@ -8,6 +8,7 @@ public static class ToolsListOptionDefinitions public const string NamespaceModeOptionName = "namespace-mode"; public const string NamespaceOptionName = "namespace"; public const string NameOnlyOptionName = "name-only"; + public const string IncludeHiddenOptionName = "include-hidden"; public static readonly Option NamespaceMode = new($"--{NamespaceModeOptionName}") { @@ -27,4 +28,10 @@ public static class ToolsListOptionDefinitions Description = "If specified, returns only tool names without descriptions or metadata.", Required = false }; + + public static readonly Option IncludeHidden = new($"--{IncludeHiddenOptionName}") + { + Description = "If specified, includes hidden commands in the output.", + Required = false + }; } diff --git a/core/Microsoft.Mcp.Core/src/Areas/Tools/Options/ToolsListOptions.cs b/core/Microsoft.Mcp.Core/src/Areas/Tools/Options/ToolsListOptions.cs index cf1467e0d9..298441847b 100644 --- a/core/Microsoft.Mcp.Core/src/Areas/Tools/Options/ToolsListOptions.cs +++ b/core/Microsoft.Mcp.Core/src/Areas/Tools/Options/ToolsListOptions.cs @@ -12,6 +12,11 @@ public sealed class ToolsListOptions /// public bool NameOnly { get; set; } = false; + /// + /// If true, includes hidden commands in the output. + /// + public bool IncludeHidden { get; set; } = false; + /// /// Optional namespaces to filter tools. If provided, only tools from these namespaces will be returned. /// diff --git a/eng/scripts/Analyze-Code.ps1 b/eng/scripts/Analyze-Code.ps1 index 087f1a6984..39752577bf 100644 --- a/eng/scripts/Analyze-Code.ps1 +++ b/eng/scripts/Analyze-Code.ps1 @@ -1,15 +1,24 @@ #!/bin/env pwsh #Requires -Version 7 +param( + [switch]$Fix +) + . "$PSScriptRoot/../common/scripts/common.ps1" Push-Location $RepoRoot try { $hasErrors = $false - Write-Host "Checking if solution files are up to date." try { - & "$PSScriptRoot/Update-Solution.ps1" -All -Verify + if ($Fix) { + Write-Host "Updating solution files..." + & "$PSScriptRoot/Update-Solution.ps1" -All + } else { + Write-Host "Checking if solution files are up to date..." + & "$PSScriptRoot/Update-Solution.ps1" -All -Verify + } } catch { Write-Host "❌ Solution update failed: $_" $hasErrors = $true @@ -21,20 +30,54 @@ try { Write-Host "✅ Solution files are up to date." } - Write-Host "Running dotnet format to check for formatting issues..." $solutionFile = "$RepoRoot/Microsoft.Mcp.slnx" # Excluding diagnostics IL2026 and IL3050 due to known issues with source generator # Can be removed when https://github.com/dotnet/sdk/issues/45054 is resolved - dotnet format $solutionFile --verify-no-changes --exclude-diagnostics IL2026 IL3050 + if ($Fix) { + Write-Host "Running dotnet format to fix formatting issues..." + dotnet format $solutionFile --exclude-diagnostics IL2026 IL3050 - # Run dotnet format - if ($LASTEXITCODE) { - Write-Host "❌ dotnet format detected formatting issues." - Write-Host "Please run 'dotnet format `"$solutionFile`"' to fix the issues and then try committing again." - $hasErrors = $true + if ($LASTEXITCODE) { + Write-Host "❌ dotnet format failed to fix all formatting issues. Please review the output above." + $hasErrors = $true + } else { + Write-Host "✅ dotnet format completed without errors." + } } else { - Write-Host "✅ dotnet format did not detect any formatting issues." + Write-Host "Running dotnet format to check for formatting issues..." + dotnet format $solutionFile --verify-no-changes --exclude-diagnostics IL2026 IL3050 + + if ($LASTEXITCODE) { + Write-Host "❌ dotnet format detected formatting issues." + Write-Host "Please run 'dotnet format `"$solutionFile`"' to fix the issues and then try committing again." + $hasErrors = $true + } else { + Write-Host "✅ dotnet format did not detect any formatting issues." + } + } + + # Verify tools.json metadata files are up to date + if ($Fix) { + Write-Host "Updating tools.json metadata files..." + & "$PSScriptRoot/Update-ToolsList.ps1" + + if ($LASTEXITCODE -ne 0) { + Write-Host "❌ errors encountered while updating tools.json metadata files." + $hasErrors = $true + } else { + Write-Host "✅ tools.json files updated." + } + } else { + Write-Host "Verifying tools.json metadata files..." + & "$PSScriptRoot/Update-ToolsList.ps1" -Verify + + if ($LASTEXITCODE -ne 0) { + Write-Host "❌ tools.json drift detected. Run 'eng/scripts/Update-ToolsList.ps1' to regenerate." + $hasErrors = $true + } else { + Write-Host "✅ tools.json files are up to date." + } } # Run cspell spell check diff --git a/eng/scripts/Update-ToolsList.ps1 b/eng/scripts/Update-ToolsList.ps1 new file mode 100644 index 0000000000..5075e909fe --- /dev/null +++ b/eng/scripts/Update-ToolsList.ps1 @@ -0,0 +1,127 @@ +#!/usr/bin/env pwsh +#Requires -Version 7 + +<# +.SYNOPSIS + Regenerates the tools.json metadata files for each MCP server. + +.DESCRIPTION + Builds each server and runs 'tools list --include-hidden' to produce a canonical + tools.json file at servers//tools.json. + + Use -Verify to check that the committed tools.json files are up-to-date without + overwriting them (exits non-zero on drift). + +.PARAMETER Verify + When set, compares the generated output against the committed files and fails if + any difference is detected. + +.PARAMETER ServerName + Optional server directory name (e.g., 'Azure.Mcp.Server') to limit regeneration + to a single server. If not specified, all servers are processed. +#> + +[CmdletBinding()] +param( + [switch] $Verify, + [string] $ServerName +) + +$ErrorActionPreference = 'Stop' + +. "$PSScriptRoot/../common/scripts/common.ps1" +$RepoRoot = $RepoRoot.Path.Replace('\', '/') +$ServersDirectory = Join-Path $RepoRoot "servers" + +# Discover servers to process +$serverDirs = Get-ChildItem -Path $ServersDirectory -Directory | + Where-Object { Test-Path (Join-Path $_.FullName "src" "*.csproj") } + +if ($ServerName) { + $serverDirs = $serverDirs | Where-Object { $_.Name -eq $ServerName } + if (-not $serverDirs) { + Write-Error "Server '$ServerName' not found under $ServersDirectory" + exit 1 + } +} + +$hasErrors = $false + +foreach ($serverDir in $serverDirs) { + $projectFile = (Get-ChildItem -Path (Join-Path $serverDir.FullName "src") -Filter "*.csproj" | Select-Object -First 1).FullName + $toolsJsonPath = Join-Path $serverDir.FullName "tools.json" + + Write-Host "Processing $($serverDir.Name)..." + + # Run 'tools list --include-hidden' via dotnet run + try { + $rawOutput = dotnet run --project $projectFile --no-launch-profile -- tools list --include-hidden 2>&1 + + if ($LASTEXITCODE -ne 0) { + Write-Warning " 'tools list' failed for $($serverDir.Name) (exit code $LASTEXITCODE) - skipping" + continue + } + + $jsonString = ($rawOutput | Where-Object { $_ -is [string] }) -join "`n" + $parsed = $jsonString | ConvertFrom-Json + + if ($null -eq $parsed -or $null -eq $parsed.results) { + Write-Warning " No results returned for $($serverDir.Name) - skipping" + continue + } + + # Extract just the results array and flatten metadata to booleans + $toolsArray = @($parsed.results | ForEach-Object { + $tool = [ordered]@{ + id = $_.id + name = $_.name + description = $_.description + command = $_.command + option = $_.option + } + if ($_.metadata) { + $tool.destructive = [bool]$_.metadata.destructive.value + $tool.idempotent = [bool]$_.metadata.idempotent.value + $tool.openWorld = [bool]$_.metadata.openWorld.value + $tool.readOnly = [bool]$_.metadata.readOnly.value + $tool.secret = [bool]$_.metadata.secret.value + $tool.localRequired = [bool]$_.metadata.localRequired.value + } + [PSCustomObject]$tool + }) + $formatted = $toolsArray | ConvertTo-Json -Depth 10 + + } catch { + Write-Warning " Error processing $($serverDir.Name): $_" + continue + } + + if ($Verify) { + # Compare against committed file + if (-not (Test-Path $toolsJsonPath)) { + Write-Host " ❌ tools.json does not exist. Run 'eng/scripts/Update-ToolsList.ps1' to generate it." -ForegroundColor Red + $hasErrors = $true + continue + } + + $committed = Get-Content $toolsJsonPath -Raw + if ($committed.TrimEnd() -ne $formatted.TrimEnd()) { + Write-Host " ❌ tools.json is out of date. Run 'eng/scripts/Update-ToolsList.ps1' to regenerate." -ForegroundColor Red + $hasErrors = $true + } else { + Write-Host " ✅ tools.json is up to date." + } + } else { + # Write the file + $formatted | Set-Content -Path $toolsJsonPath -NoNewline + # Ensure trailing newline + Add-Content -Path $toolsJsonPath -Value "" + Write-Host " ✅ Updated $toolsJsonPath ($($toolsArray.Count) tools)" + } +} + +if ($hasErrors) { + Write-Host "" + Write-Host "❌ tools.json drift detected. Please run 'eng/scripts/Update-ToolsList.ps1' and commit the changes." -ForegroundColor Red + exit 1 +} diff --git a/servers/Azure.Mcp.Server/docs/new-command.md b/servers/Azure.Mcp.Server/docs/new-command.md index 03fbd41789..af3b3b27b2 100644 --- a/servers/Azure.Mcp.Server/docs/new-command.md +++ b/servers/Azure.Mcp.Server/docs/new-command.md @@ -2840,11 +2840,8 @@ Before submitting: - [ ] No compiler warnings - [ ] Tests pass (run specific tests: `dotnet test --filter "FullyQualifiedName~YourCommandTests"`) - [ ] Build succeeds with `dotnet build` -- [ ] Code formatting applied with `dotnet format` -- [ ] Spelling check passes with `.\eng\common\spelling\Invoke-Cspell.ps1` +- [ ] Run `./eng/scripts/Analyze-Code.ps1 -Fix` to auto-fix formatting, solution files, and tools.json drift. This will also run additional checks that may require manual correction like spelling, etc. - [ ] **AOT compilation verified** with `./eng/scripts/Build-Local.ps1 -BuildNative` -- [ ] **Clean up unused using statements**: Run `dotnet format --include="tools/Azure.Mcp.Tools.{Toolset}/**/*.cs"` to remove unnecessary imports and ensure consistent formatting -- [ ] Fix formatting issues with `dotnet format ./Microsoft.Mcp.slnx` and ensure no warnings ### Azure SDK Integration - [ ] All Azure SDK property names verified and correct diff --git a/servers/Azure.Mcp.Server/tools.json b/servers/Azure.Mcp.Server/tools.json new file mode 100644 index 0000000000..2fabdda74b --- /dev/null +++ b/servers/Azure.Mcp.Server/tools.json @@ -0,0 +1,20522 @@ +[ + { + "id": "796f8778-2fa7-4343-87ad-06bdcf6b296c", + "name": "list", + "description": "List Azure Container Registries in a subscription. Optionally filter by resource group. Each registry result\r\nincludes: name, location, loginServer, skuName, skuTier. If no registries are found the tool returns null results\r\n(consistent with other list commands).", + "command": "acr registry list", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "adc6eb20-ad98-4624-954d-61581f6fbca9", + "name": "list", + "description": "List repositories in Azure Container Registries. By default, lists repositories for all registries in the subscription.\r\nYou can narrow the scope using --resource-group and/or --registry to list repositories for a specific registry only.", + "command": "acr registry repository list", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--registry", + "description": "The name of the Azure Container Registry. This is the unique name you chose for your container registry.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "e3f09221-523a-4107-a715-823cebd97902", + "name": "list", + "description": "List Azure advisor recommendations in a subscription.", + "command": "advisor recommendation list", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "34e0d3d3-cbc5-4df8-8244-1439b97f3de5", + "name": "get", + "description": "List/enumerate all AKS (Azure Kubernetes Service) clusters in a subscription. Get/retrieve/show the details of a specific cluster if a name is provided.", + "command": "aks cluster get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--cluster", + "description": "AKS Cluster name.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "9abb0904-2ffc-4aab-b4ea-fc454b6351b1", + "name": "get", + "description": "List/enumerate all AKS (Azure Kubernetes Service) node pools in a cluster. Get/retrieve/show the details of a specific node pool if a name is provided.", + "command": "aks nodepool get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--cluster", + "description": "AKS Cluster name.", + "type": "string", + "required": true + }, + { + "name": "--nodepool", + "description": "AKS node pool (agent pool) name.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "e403c988-b57b-4ac1-afb7-25ba3fdd6e6a", + "name": "list", + "description": "List all App Configuration stores in a subscription. This command retrieves and displays all App Configuration\r\nstores available in the specified subscription. Results include store names returned as a JSON array.", + "command": "appconfig account list", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "f885a499-82ec-4897-a788-fb6b4615ab06", + "name": "delete", + "description": "Delete a key-value pair from an App Configuration store. This command removes the specified key-value pair from the store.\r\nIf a label is specified, only the labeled version is deleted. If no label is specified, the key-value with the matching\r\nkey and the default label will be deleted.", + "command": "appconfig kv delete", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--account", + "description": "The name of the App Configuration store (e.g., my-appconfig).", + "type": "string", + "required": true + }, + { + "name": "--key", + "description": "The name of the key to access within the App Configuration store.", + "type": "string", + "required": true + }, + { + "name": "--label", + "description": "The label to apply to the configuration key. Labels are used to group and organize settings.", + "type": "string" + }, + { + "name": "--content-type", + "description": "The content type of the configuration value. This is used to indicate how the value should be interpreted or parsed.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "abc28800-ae4a-4369-9ec0-2653a578e82a", + "name": "get", + "description": "Gets key-values in an App Configuration store. This command can either retrieve a specific key-value by its key\r\nand optional label, or list key-values if no key is provided. Listing key-values can optionally be filtered by a\r\nkey filter and label filter. Each key-value includes its key, value, label, content type, ETag, last modified time,\r\nand lock status.", + "command": "appconfig kv get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--account", + "description": "The name of the App Configuration store (e.g., my-appconfig).", + "type": "string", + "required": true + }, + { + "name": "--key", + "description": "The name of the key to access within the App Configuration store.", + "type": "string" + }, + { + "name": "--label", + "description": "The label to apply to the configuration key. Labels are used to group and organize settings.", + "type": "string" + }, + { + "name": "--key-filter", + "description": "Specifies the key filter, if any, to be used when retrieving key-values. The filter can be an exact match, for example a filter of 'foo' would get all key-values with a key of 'foo', or the filter can include a '*' character at the end of the string for wildcard searches (e.g., 'App*'). If omitted all keys will be retrieved.", + "type": "string" + }, + { + "name": "--label-filter", + "description": "Specifies the label filter, if any, to be used when retrieving key-values. The filter can be an exact match, for example a filter of 'foo' would get all key-values with a label of 'foo', or the filter can include a '*' character at the end of the string for wildcard searches (e.g., 'Prod*'). This filter is case-sensitive. If omitted, all labels will be retrieved.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "b48fd781-d74a-4dfd-a29c-421ded9a6ce9", + "name": "set", + "description": "Sets the lock state of a key-value in an App Configuration store. This command can lock and unlock key-values.\r\nLocking sets a key-value to read-only mode, preventing any modifications to its value. Unlocking removes the\r\nread-only mode from a key-value setting, allowing modifications to its value. You must specify an account name\r\nand key. Optionally, you can specify a label to lock or unlock a specific labeled version of the key-value.\r\nDefault is unlocking the key-value.", + "command": "appconfig kv lock set", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--account", + "description": "The name of the App Configuration store (e.g., my-appconfig).", + "type": "string", + "required": true + }, + { + "name": "--key", + "description": "The name of the key to access within the App Configuration store.", + "type": "string", + "required": true + }, + { + "name": "--label", + "description": "The label to apply to the configuration key. Labels are used to group and organize settings.", + "type": "string" + }, + { + "name": "--content-type", + "description": "The content type of the configuration value. This is used to indicate how the value should be interpreted or parsed.", + "type": "string" + }, + { + "name": "--lock", + "description": "Whether a key-value will be locked (set to read-only) or unlocked (read-only removed).", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "a89086eb-acf4-4168-9d32-de5cd7384030", + "name": "set", + "description": "Set a key-value setting in an App Configuration store. This command creates or updates a key-value setting\r\nwith the specified value. You must specify an account name, key, and value. Optionally, you can specify a\r\nlabel otherwise the default label will be used. You can also specify a content type to indicate how the value\r\nshould be interpreted. You can add tags in the format 'key=value' to associate metadata with the setting.", + "command": "appconfig kv set", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--account", + "description": "The name of the App Configuration store (e.g., my-appconfig).", + "type": "string", + "required": true + }, + { + "name": "--key", + "description": "The name of the key to access within the App Configuration store.", + "type": "string", + "required": true + }, + { + "name": "--label", + "description": "The label to apply to the configuration key. Labels are used to group and organize settings.", + "type": "string" + }, + { + "name": "--content-type", + "description": "The content type of the configuration value. This is used to indicate how the value should be interpreted or parsed.", + "type": "string" + }, + { + "name": "--value", + "description": "The value to set for the configuration key.", + "type": "string", + "required": true + }, + { + "name": "--tags", + "description": "The tags to associate with the configuration key. Tags should be in the format 'key=value'. Multiple tags can be specified.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "92fb5b7d-f1d7-4834-a61a-e170ad8594ac", + "name": "diagnose", + "description": "Get diagnostic help from App Lens for Azure application and service issues to identify what's wrong with a service. Ask questions about performance, slowness, failures, errors, application state, availability to receive expert analysis and solutions which can help when performing diagnostics and to address issues about performance and failures. Returns analysis, insights, and recommended solutions. Always use this tool before manually checking metrics or logs when users report performance or functionality issues. Only the resource name and question are required - subscription, resource group, and resource type are optional and used to narrow down results when multiple resources share the same name.", + "command": "applens resource diagnose", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Azure subscription ID or name. Provide this when disambiguating between multiple resources of the same name.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "Azure resource group name. Provide this when disambiguating between multiple resources of the same name.", + "type": "string" + }, + { + "name": "--resource-type", + "description": "Resource type. Provide this when disambiguating between multiple resources of the same name.", + "type": "string" + }, + { + "name": "--resource", + "description": "The name of the resource to investigate or diagnose", + "type": "string", + "required": true + }, + { + "name": "--question", + "description": "User question", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "8d259f21-43b3-4962-bec8-de616b8b5f0d", + "name": "list", + "description": "List Application Insights Code Optimization Recommendations in a subscription. Optionally filter by resource group when --resource-group is provided.\r\nReturns the code optimization recommendations based on the profiler data.", + "command": "applicationinsights recommendation list", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "14be1264-82c8-4a4c-8271-7cfe1fbebbc8", + "name": "add", + "description": "Add a database connection for an App Service using connection string for an existing database. This command configures database connection\r\nsettings for the specified App Service, allowing it to connect to a database server name. You must specify the App Service name, database name,\r\ndatabase type, database server name, connection string, resource group name and subscription.", + "command": "appservice database add", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--app", + "description": "The name of the Azure App Service (e.g., my-webapp).", + "type": "string", + "required": true + }, + { + "name": "--database-type", + "description": "The type of database (e.g., SqlServer, MySQL, PostgreSQL, CosmosDB).", + "type": "string", + "required": true + }, + { + "name": "--database-server", + "description": "The server name or endpoint for the database (e.g., myserver.database.windows.net).", + "type": "string", + "required": true + }, + { + "name": "--database", + "description": "The name of the database to connect to (e.g., mydb).", + "type": "string", + "required": true + }, + { + "name": "--connection-string", + "description": "The connection string for the database. If not provided, a default will be generated.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": false, + "openWorld": true, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "8d9cd2af-cd79-4101-968b-501d9f0b217c", + "name": "change-state", + "description": "Updates the running state of an Azure App Service web app using one of the following states:\r\n\r\n- \"start\": Starts a stopped web app.\r\n- \"stop\": Stops a running web app.\r\n- \"restart\": Restarts a running web app.\r\n\r\nRestart has additional options to specify whether to perform a soft restart and whether to synchronously wait\r\nfor the restart to complete before returning.\r\n\r\nReturns a message indicating the result of the operation.", + "command": "appservice webapp change-state", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--app", + "description": "The name of the Azure App Service (e.g., my-webapp).", + "type": "string", + "required": true + }, + { + "name": "--state-change", + "description": "The state change action to perform. Valid values are: start, stop, restart.", + "type": "string", + "required": true + }, + { + "name": "--soft-restart", + "description": "When state-change is restart, indicates whether to perform a soft restart.", + "type": "string" + }, + { + "name": "--wait-for-completion", + "description": "When state-change is restart, indicates whether to synchronously wait for the state change operation to complete before returning.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "17c59409-5382-4419-aef4-0058ffe2c6ec", + "name": "get", + "description": "Retrieves detailed information about Azure App Service web app deployments, including deployment name,\r\nif deployment is actively happening, when the deployment started and ended, who authored and deployed the\r\ndeployment, and the type of deployment. If a specific deployment ID is not provided, the command will return\r\ndetails for all deployments in the web app. You can specify a deployment ID to get details for a specific\r\ndeployment.", + "command": "appservice webapp deployment get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--app", + "description": "The name of the Azure App Service (e.g., my-webapp).", + "type": "string", + "required": true + }, + { + "name": "--deployment-id", + "description": "The ID of the deployment.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "a8aa0966-4c0c-4e22-8854-cced583f0fb2", + "name": "diagnose", + "description": "Runs a specific diagnostic detector on an App Service Web App to troubleshoot issues with performance, availability,\r\nconfiguration, or errors. Returns detailed analysis results including insights and recommendations. Use this to investigate\r\nwhy a web app is slow, failing, restarting, or unhealthy. Requires a detector ID from 'azmcp appservice webapp diagnostic list'.\r\nSupports optional time range filtering for historical analysis.", + "command": "appservice webapp diagnostic diagnose", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--app", + "description": "The name of the Azure App Service (e.g., my-webapp).", + "type": "string", + "required": true + }, + { + "name": "--detector-id", + "description": "The ID of the diagnostic detector to run. Use the 'id' field from 'azmcp appservice webapp diagnostic list' output (e.g., LinuxContainerRecycle, LinuxMemoryDrillDown).", + "type": "string", + "required": true + }, + { + "name": "--start-time", + "description": "The start time in ISO format (e.g., 2023-01-01T00:00:00Z).", + "type": "string" + }, + { + "name": "--end-time", + "description": "The end time in ISO format (e.g., 2023-01-01T00:00:00Z).", + "type": "string" + }, + { + "name": "--interval", + "description": "The time interval (e.g., PT1H for 1 hour, PT5M for 5 minutes).", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "7807fdb6-4b92-4361-8042-be61dd342e17", + "name": "list", + "description": "Lists all available diagnostic detectors for an App Service Web App. Use this to discover which diagnostics\r\nare available before running a specific detector. Returns the detector ID, name, type, description, category,\r\nand analysis types for each detector. Useful for troubleshooting app service issues, checking available\r\nhealth checks, and finding the right detector for performance, availability, or configuration analysis.", + "command": "appservice webapp diagnostic list", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--app", + "description": "The name of the Azure App Service (e.g., my-webapp).", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "4412f1af-16e7-46db-8305-33e3d7ae06de", + "name": "get", + "description": "Retrieves detailed information about Azure App Service web apps, including app name, resource group, location,\r\nstate, hostnames, etc. If a specific app name is not provided, the command will return details for all web apps\r\nin a subscription or resource group in a subscription. You can specify the app name, resource group name, and\r\nsubscription to get details for a specific web app.", + "command": "appservice webapp get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--app", + "description": "The name of the Azure App Service (e.g., my-webapp).", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "825ef21f-392f-4cd4-8272-7e7dce12e293", + "name": "get-appsettings", + "description": "Retrieves the application settings for an App Service web app, returning key-value pairs that represent the\r\nsetting. Application settings may contain sensitive information.", + "command": "appservice webapp settings get-appsettings", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--app", + "description": "The name of the Azure App Service (e.g., my-webapp).", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": true, + "localRequired": false + }, + { + "id": "08ca52a3-f766-4c62-9597-702f629efaf6", + "name": "update-appsettings", + "description": "Updates the application setting for an App Service web app. Three types of updating are available:\r\n\r\n- Add: adds a new application setting with the specified name and value. If the application setting already exists, the operation will fail and return an error message.\r\n- Set: sets the value of an application setting. If the application setting does not exist, this is equivalent to add. If the application setting already exists, the value will be overwritten.\r\n- Delete: deletes an application setting with the specified name. If the application setting does not exist, nothing happens.\r\n\r\nFor add and set update types, both the application setting name and value are required. For delete update type, only the application setting name is required.", + "command": "appservice webapp settings update-appsettings", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--app", + "description": "The name of the Azure App Service (e.g., my-webapp).", + "type": "string", + "required": true + }, + { + "name": "--setting-name", + "description": "The name of the application setting.", + "type": "string", + "required": true + }, + { + "name": "--setting-value", + "description": "The value of the application setting. Required for add and set update types.", + "type": "string" + }, + { + "name": "--setting-update-type", + "description": "The type of update to perform on the application setting. Valid values are: add, set, delete.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "f5612c55-054d-4fd8-964c-952e8e6b87f8", + "name": "status", + "description": "Checks the backup status of an Azure resource and returns whether it is protected,\r\nalong with vault and policy details. Use this to verify if a VM, disk, storage account,\r\nor other datasource is currently backed up. Requires the datasource ARM resource ID\r\nand the Azure region (location) where the resource exists.", + "command": "azurebackup backup status", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--datasource-id", + "description": "The datasource identifier. For VM/FileShare/DPP workloads, use the ARM resource ID (e.g., '/subscriptions/.../virtualMachines/myvm'). For RSV in-guest workloads (SQL/SAPHANA), use the protectable item name from 'protectableitem list' (e.g., 'SAPHanaDatabase;instance;dbname').", + "type": "string", + "required": true + }, + { + "name": "--location", + "description": "The Azure region (e.g., 'eastus', 'westus2').", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "917b66e5-483f-43ac-9620-9403e1689dbe", + "name": "enable-crr", + "description": "Enables Cross-Region Restore on a GRS-enabled vault.", + "command": "azurebackup disasterrecovery enable-crr", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--vault", + "description": "The name of the backup vault (Recovery Services vault or Backup vault).", + "type": "string", + "required": true + }, + { + "name": "--vault-type", + "description": "The type of backup vault: 'rsv' (Recovery Services vault) or 'dpp' (Backup vault / Data Protection). Required for vault create; optional elsewhere (auto-detected if omitted).", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "73b050ca-2e20-448c-a76c-08e8cd5bbe25", + "name": "find-unprotected", + "description": "Scans the subscription to find Azure resources that are not currently protected by any\r\nbackup policy. Optionally filter by resource type, resource group, or tags.", + "command": "azurebackup governance find-unprotected", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-type-filter", + "description": "Resource types to filter (comma-separated).", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--tag-filter", + "description": "Tag-based filter in key=value format (e.g., 'environment=production').", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "a0ac7596-9a80-4b53-b459-06f27598a2e2", + "name": "immutability", + "description": "Configures the immutability state for a backup vault. States include 'Disabled', 'Enabled',\r\nor 'Locked'. Warning: 'Locked' state is irreversible.", + "command": "azurebackup governance immutability", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--vault", + "description": "The name of the backup vault (Recovery Services vault or Backup vault).", + "type": "string", + "required": true + }, + { + "name": "--vault-type", + "description": "The type of backup vault: 'rsv' (Recovery Services vault) or 'dpp' (Backup vault / Data Protection). Required for vault create; optional elsewhere (auto-detected if omitted).", + "type": "string" + }, + { + "name": "--immutability-state", + "description": "Immutability state: 'Disabled', 'Enabled', or 'Locked' (irreversible).", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "b3f1ea2d-5535-4155-849c-61f2fc49f1d9", + "name": "soft-delete", + "description": "Configures the soft delete settings for a backup vault. Set the state to 'AlwaysOn', 'On',\r\nor 'Off', and optionally specify the retention period in days (14-180).", + "command": "azurebackup governance soft-delete", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--vault", + "description": "The name of the backup vault (Recovery Services vault or Backup vault).", + "type": "string", + "required": true + }, + { + "name": "--vault-type", + "description": "The type of backup vault: 'rsv' (Recovery Services vault) or 'dpp' (Backup vault / Data Protection). Required for vault create; optional elsewhere (auto-detected if omitted).", + "type": "string" + }, + { + "name": "--soft-delete", + "description": "Soft delete state: 'AlwaysOn', 'On', or 'Off'.", + "type": "string", + "required": true + }, + { + "name": "--soft-delete-retention-days", + "description": "Soft delete retention period (14-180 days).", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "f1291650-8ff2-413c-8001-e4b33f157a3b", + "name": "get", + "description": "Retrieves backup job information. When --job is specified, returns detailed information\r\nabout a single job including operation type, status, start/end times, error codes, and\r\ndatasource details. When omitted, lists all backup jobs in the vault.", + "command": "azurebackup job get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--vault", + "description": "The name of the backup vault (Recovery Services vault or Backup vault).", + "type": "string", + "required": true + }, + { + "name": "--vault-type", + "description": "The type of backup vault: 'rsv' (Recovery Services vault) or 'dpp' (Backup vault / Data Protection). Required for vault create; optional elsewhere (auto-detected if omitted).", + "type": "string" + }, + { + "name": "--job", + "description": "The backup job ID.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "bc5e600b-c414-4bce-8b7d-a6021cfd3d23", + "name": "create", + "description": "Creates a backup policy for a specified workload type with schedule and retention rules.", + "command": "azurebackup policy create", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--vault", + "description": "The name of the backup vault (Recovery Services vault or Backup vault).", + "type": "string", + "required": true + }, + { + "name": "--vault-type", + "description": "The type of backup vault: 'rsv' (Recovery Services vault) or 'dpp' (Backup vault / Data Protection). Required for vault create; optional elsewhere (auto-detected if omitted).", + "type": "string" + }, + { + "name": "--policy", + "description": "The name of the backup policy.", + "type": "string", + "required": true + }, + { + "name": "--workload-type", + "description": "Workload type: VM, SQL, SAPHANA, SAPASE, AzureFileShare (RSV types); AzureDisk, AzureBlob, AKS, ElasticSAN, PostgreSQLFlexible, ADLS, CosmosDB (DPP types). Also accepts aliases like AzureVM, SQLDatabase, etc.", + "type": "string", + "required": true + }, + { + "name": "--schedule-time", + "description": "Backup time in UTC (e.g., '02:00').", + "type": "string" + }, + { + "name": "--daily-retention-days", + "description": "Daily recovery point retention in days. Defaults to datasource-specific value if omitted.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "5f7ef3ae-72f3-4fe8-bd1e-ea56e4db86df", + "name": "get", + "description": "Retrieves backup policy information. When --policy is specified, returns detailed\r\ninformation about a single policy including datasource types and protected items count.\r\nWhen omitted, lists all backup policies configured in the vault.", + "command": "azurebackup policy get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--vault", + "description": "The name of the backup vault (Recovery Services vault or Backup vault).", + "type": "string", + "required": true + }, + { + "name": "--vault-type", + "description": "The type of backup vault: 'rsv' (Recovery Services vault) or 'dpp' (Backup vault / Data Protection). Required for vault create; optional elsewhere (auto-detected if omitted).", + "type": "string" + }, + { + "name": "--policy", + "description": "The name of the backup policy.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "a3f7d2c1-9e84-4b6a-8d3c-5f1e7a2b9c04", + "name": "update", + "description": "Modifies an existing RSV backup policy. Updates the backup schedule time and daily retention days for VM, SQL, SAP HANA, and file share workload policies. The named policy must already exist in the vault.", + "command": "azurebackup policy update", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--vault", + "description": "The name of the backup vault (Recovery Services vault or Backup vault).", + "type": "string", + "required": true + }, + { + "name": "--vault-type", + "description": "The type of backup vault: 'rsv' (Recovery Services vault) or 'dpp' (Backup vault / Data Protection). Required for vault create; optional elsewhere (auto-detected if omitted).", + "type": "string" + }, + { + "name": "--policy", + "description": "The name of the backup policy.", + "type": "string", + "required": true + }, + { + "name": "--schedule-time", + "description": "Backup time in UTC (e.g., '02:00').", + "type": "string" + }, + { + "name": "--daily-retention-days", + "description": "Daily recovery point retention in days. Defaults to datasource-specific value if omitted.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "9f6b0a1e-1c2d-4e5f-8a9b-7c6d5e4f3a21", + "name": "list", + "description": "Lists items that can be backed up (protectable items) in a Recovery Services vault,\r\nsuch as SQL databases and SAP HANA databases discovered on registered VMs.\r\nUse this to find databases and workloads available for backup protection.\r\nOnly supported for RSV vaults; DPP datasources are protected by ARM resource ID directly.\r\nFilter results by --workload-type (e.g., SQL, SAPHana) or --container.", + "command": "azurebackup protectableitem list", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--vault", + "description": "The name of the backup vault (Recovery Services vault or Backup vault).", + "type": "string", + "required": true + }, + { + "name": "--vault-type", + "description": "The type of backup vault: 'rsv' (Recovery Services vault) or 'dpp' (Backup vault / Data Protection). Required for vault create; optional elsewhere (auto-detected if omitted).", + "type": "string" + }, + { + "name": "--workload-type", + "description": "Workload type: VM, SQL, SAPHANA, SAPASE, AzureFileShare (RSV types); AzureDisk, AzureBlob, AKS, ElasticSAN, PostgreSQLFlexible, ADLS, CosmosDB (DPP types). Also accepts aliases like AzureVM, SQLDatabase, etc.", + "type": "string" + }, + { + "name": "--container", + "description": "The RSV protection container name. Only applicable for Recovery Services vaults.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "bc985e4f-8945-447a-9aba-ef13df309001", + "name": "get", + "description": "Retrieves protected item information. When --protected-item is specified, returns\r\ndetailed information about a single backup instance including protection status,\r\ndatasource details, policy assignment, and last backup time. Specify --container\r\nfor RSV workload items. When --protected-item is omitted, lists all protected items\r\n(backup instances) in the vault.", + "command": "azurebackup protecteditem get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--vault", + "description": "The name of the backup vault (Recovery Services vault or Backup vault).", + "type": "string", + "required": true + }, + { + "name": "--vault-type", + "description": "The type of backup vault: 'rsv' (Recovery Services vault) or 'dpp' (Backup vault / Data Protection). Required for vault create; optional elsewhere (auto-detected if omitted).", + "type": "string" + }, + { + "name": "--protected-item", + "description": "The name of the protected item or backup instance.", + "type": "string" + }, + { + "name": "--container", + "description": "The RSV protection container name. Only applicable for Recovery Services vaults.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "7a6fc193-ca3c-4309-97c5-ee1e7fe90e69", + "name": "protect", + "description": "Enables or configures backup protection for an Azure resource by creating a\r\nprotected item or backup instance. Protects VMs, disks, file shares, SQL databases,\r\nSAP HANA databases, and other supported datasources.\r\nFor VMs: pass the VM ARM resource ID as --datasource-id.\r\nFor workloads (SQL/HANA): pass the protectable item name from 'protectableitem list'\r\nas --datasource-id (e.g., 'SAPHanaDatabase;instance;dbname'), and specify --container.\r\nRequires a backup policy name via --policy. The operation is asynchronous;\r\nuse 'azurebackup job get' to monitor the protection job progress.", + "command": "azurebackup protecteditem protect", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--vault", + "description": "The name of the backup vault (Recovery Services vault or Backup vault).", + "type": "string", + "required": true + }, + { + "name": "--vault-type", + "description": "The type of backup vault: 'rsv' (Recovery Services vault) or 'dpp' (Backup vault / Data Protection). Required for vault create; optional elsewhere (auto-detected if omitted).", + "type": "string" + }, + { + "name": "--datasource-id", + "description": "The datasource identifier. For VM/FileShare/DPP workloads, use the ARM resource ID (e.g., '/subscriptions/.../virtualMachines/myvm'). For RSV in-guest workloads (SQL/SAPHANA), use the protectable item name from 'protectableitem list' (e.g., 'SAPHanaDatabase;instance;dbname').", + "type": "string", + "required": true + }, + { + "name": "--policy", + "description": "The name of the backup policy.", + "type": "string", + "required": true + }, + { + "name": "--container", + "description": "The RSV protection container name. Only applicable for Recovery Services vaults.", + "type": "string" + }, + { + "name": "--datasource-type", + "description": "The workload type hint: VM, SQL, SAPHANA, SAPASE, AzureFileShare (RSV types); AzureDisk, AzureBlob, AKS, ElasticSAN, PostgreSQLFlexible, ADLS, CosmosDB (DPP types). Also accepts aliases like AzureVM, SQLDatabase, etc.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "d8e3a1b7-5c42-4f9e-b6d1-7a2e9c3f4b58", + "name": "undelete", + "description": "Undeletes or restores a soft-deleted backup item to an active protection state.\r\nUse this when a backup or protected item was accidentally deleted and needs to be recovered.\r\nFor RSV vaults: pass the datasource ARM resource ID as --datasource-id.\r\nFor DPP vaults: pass the datasource ARM resource ID as --datasource-id.\r\nOptionally specify --container for RSV workload items (SQL/HANA).\r\nThe operation is asynchronous; use 'azurebackup job get' to monitor progress.", + "command": "azurebackup protecteditem undelete", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--vault", + "description": "The name of the backup vault (Recovery Services vault or Backup vault).", + "type": "string", + "required": true + }, + { + "name": "--vault-type", + "description": "The type of backup vault: 'rsv' (Recovery Services vault) or 'dpp' (Backup vault / Data Protection). Required for vault create; optional elsewhere (auto-detected if omitted).", + "type": "string" + }, + { + "name": "--datasource-id", + "description": "The datasource identifier. For VM/FileShare/DPP workloads, use the ARM resource ID (e.g., '/subscriptions/.../virtualMachines/myvm'). For RSV in-guest workloads (SQL/SAPHANA), use the protectable item name from 'protectableitem list' (e.g., 'SAPHanaDatabase;instance;dbname').", + "type": "string", + "required": true + }, + { + "name": "--container", + "description": "The RSV protection container name. Only applicable for Recovery Services vaults.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "e930bbb6-b495-454b-bae4-46b9da14eb1c", + "name": "get", + "description": "Retrieves recovery point information for a protected item. When --recovery-point is\r\nspecified, returns detailed information about a single recovery point including time\r\nand type. When omitted, lists all available recovery points for the protected item.", + "command": "azurebackup recoverypoint get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--vault", + "description": "The name of the backup vault (Recovery Services vault or Backup vault).", + "type": "string", + "required": true + }, + { + "name": "--vault-type", + "description": "The type of backup vault: 'rsv' (Recovery Services vault) or 'dpp' (Backup vault / Data Protection). Required for vault create; optional elsewhere (auto-detected if omitted).", + "type": "string" + }, + { + "name": "--protected-item", + "description": "The name of the protected item or backup instance.", + "type": "string", + "required": true + }, + { + "name": "--container", + "description": "The RSV protection container name. Only applicable for Recovery Services vaults.", + "type": "string" + }, + { + "name": "--recovery-point", + "description": "The recovery point ID.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "1dccdb24-d81c-4bde-9437-577a7bd0cf09", + "name": "create", + "description": "Creates a new backup vault. Specify --vault-type as 'rsv' for a Recovery Services vault\r\nor 'dpp' for a Backup vault (Data Protection). For DPP vaults a System-Assigned\r\nManaged Identity is enabled by default so the vault can authenticate to protected\r\ndatasources (storage accounts, disks, PG Flex, etc.) - change later with\r\n'azurebackup vault update --identity-type ...' if needed. Returns the created\r\nvault details.", + "command": "azurebackup vault create", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--vault", + "description": "The name of the backup vault (Recovery Services vault or Backup vault).", + "type": "string", + "required": true + }, + { + "name": "--vault-type", + "description": "The type of backup vault: 'rsv' (Recovery Services vault) or 'dpp' (Backup vault / Data Protection). Required for vault create; optional elsewhere (auto-detected if omitted).", + "type": "string" + }, + { + "name": "--location", + "description": "The Azure region (e.g., 'eastus', 'westus2').", + "type": "string", + "required": true + }, + { + "name": "--sku", + "description": "The vault SKU.", + "type": "string" + }, + { + "name": "--storage-type", + "description": "Storage redundancy: 'GeoRedundant', 'LocallyRedundant', or 'ZoneRedundant'.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "4a1084d5-50d9-489f-9e4c-acc594441b1f", + "name": "get", + "description": "Retrieves backup vault information. When --vault and --resource-group are specified,\r\nreturns detailed information about a single vault including type, location, SKU, and\r\nstorage redundancy. When omitted, lists all backup vaults (RSV and Backup vaults) in\r\nthe subscription. Optionally filter by --vault-type ('rsv' or 'dpp') and/or\r\n--resource-group to narrow the listing results.", + "command": "azurebackup vault get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--vault", + "description": "The name of the backup vault (Recovery Services vault or Backup vault).", + "type": "string" + }, + { + "name": "--vault-type", + "description": "The type of backup vault: 'rsv' (Recovery Services vault) or 'dpp' (Backup vault / Data Protection). Required for vault create; optional elsewhere (auto-detected if omitted).", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "da7f163e-471c-4d7d-ae00-d41f5f4b939e", + "name": "update", + "description": "Updates vault-level settings including storage redundancy, soft delete, immutability, and managed identity.", + "command": "azurebackup vault update", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--vault", + "description": "The name of the backup vault (Recovery Services vault or Backup vault).", + "type": "string", + "required": true + }, + { + "name": "--vault-type", + "description": "The type of backup vault: 'rsv' (Recovery Services vault) or 'dpp' (Backup vault / Data Protection). Required for vault create; optional elsewhere (auto-detected if omitted).", + "type": "string" + }, + { + "name": "--redundancy", + "description": "Storage redundancy: 'GeoRedundant', 'LocallyRedundant', 'ZoneRedundant', or 'ReadAccessGeoZoneRedundant'.", + "type": "string" + }, + { + "name": "--soft-delete", + "description": "Soft delete state: 'AlwaysOn', 'On', or 'Off'.", + "type": "string" + }, + { + "name": "--soft-delete-retention-days", + "description": "Soft delete retention period (14-180 days).", + "type": "string" + }, + { + "name": "--immutability-state", + "description": "Immutability state: 'Disabled', 'Enabled', or 'Locked' (irreversible).", + "type": "string" + }, + { + "name": "--identity-type", + "description": "Managed identity type: 'SystemAssigned', 'UserAssigned', or 'None'.", + "type": "string" + }, + { + "name": "--tags", + "description": "Resource tags as JSON key-value object.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "d4e8c9b2-5f3a-4d1c-8b7e-2a9f1c6d5e4b", + "name": "getguidance", + "description": "Get how-to guidance for modifying, configuring, or customizing an existing Platform Landing Zone.\r\nUse this tool when user asks \"how do I\", \"show me how to\", \"get guidance for\", or asks about \r\ndisabling, enabling, turning off, changing, or modifying Landing Zone settings.\r\n\r\n**Use this tool for questions about:**\r\n- How to turn off or disable Bastion, DDoS, DNS, gateways, Defender, or monitoring\r\n- How to change IP addresses, CIDR ranges, network topology, or regions\r\n- How to modify policies, enable zero trust, or update management groups\r\n- How to change resource naming patterns or conventions\r\n- Finding or searching for specific policies within a Landing Zone\r\n- Listing all available policies by archetype\r\n\r\n**Available scenarios:**\r\n- bastion: Turn off Bastion host\r\n- ddos: Enable or disable DDoS protection plan\r\n- dns: Turn off Private DNS zones and resolvers\r\n- gateways: Turn off Virtual Network Gateways (VPN/ExpressRoute)\r\n- ip-addresses: Adjust CIDR ranges and IP address space\r\n- regions: Add or remove secondary regions\r\n- resource-names: Update resource naming prefixes and suffixes\r\n- management-groups: Customize management group names and IDs\r\n- policy-enforcement: Change policy enforcement mode to DoNotEnforce\r\n- policy-assignment: Remove or disable a policy assignment\r\n- ama: Turn off Azure Monitoring Agent\r\n- amba: Deploy Azure Monitoring Baseline Alerts\r\n- defender: Turn off Defender Plans\r\n- zero-trust: Implement Zero Trust Networking\r\n- slz: Implement Sovereign Landing Zone controls\r\n\r\n**For policy searches:**\r\n- Use policy-name to search for a specific policy\r\n- Use list-policies=true to list ALL policies by archetype", + "command": "azuremigrate platformlandingzone getguidance", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--scenario", + "description": "The modification scenario key. Valid values: resource-names, management-groups, ddos, bastion, dns, gateways, regions, ip-addresses, policy-enforcement, policy-assignment, ama, amba, defender, zero-trust, slz.", + "type": "string", + "required": true + }, + { + "name": "--policy-name", + "description": "The policy assignment name to look up (e.g., 'Enable-DDoS-VNET'). Used with policy-enforcement or policy-assignment scenarios.", + "type": "string" + }, + { + "name": "--list-policies", + "description": "Set to true to list all available policies organized by archetype. Useful for finding the exact policy name.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": true, + "readOnly": false, + "secret": false, + "localRequired": true + }, + { + "id": "a7f3b8c1-9e2d-4f6a-8b3c-5d1e7f9a2c4b", + "name": "request", + "description": "Generate and download platform landing zone configurations for Azure Migrate projects.\r\nUpdates parameters, check existing landing zones, and view parameters status.\r\n\r\n**Actions:**\r\n- createmigrateproject: Create a new Azure Migrate project if one doesn't exist (requires location parameter)\r\n- check: Check if a platform landing zone already exists\r\n- update: Update all parameters for generation (collect ALL params in one call)\r\n- generate: Generate the platform landing zone\r\n- download: Download generated files to local workspace\r\n- status: View cached parameters\r\n\r\n**Context (required for most actions):**\r\n- subscription, resourceGroup, migrateProjectName\r\n\r\n**Create Azure Migrate Parameters (for 'createmigrateproject' action):**\r\n- subscription, resourceGroup, migrateProjectName, location\r\n\r\n**Generation Parameters (for 'update' action - collect ALL at once from user):**\r\n| Parameter | Options | Default |\r\n|-----------|---------|----------|\r\n| regionType | single, multi | single |\r\n| firewallType | azurefirewall, nva | azurefirewall |\r\n| networkArchitecture | hubspoke, vwan | hubspoke |\r\n| versionControlSystem | local, github, azuredevops | local |\r\n| regions | comma-separated (e.g., eastus,westus) | eastus |\r\n| environmentName | any string | prod |\r\n| organizationName | any string | contoso |\r\n| identitySubscriptionId | GUID | (uses main subscription) |\r\n| managementSubscriptionId | GUID | (uses main subscription) |\r\n| connectivitySubscriptionId | GUID | (uses main subscription) |\r\n\r\n**Workflow:**\r\n1. Ask the user if they want to create a new Azure Migrate project or use an existing one. If creating, collect location parameter and create the project.\r\n2. action='createmigrateproject' - Create a new Azure Migrate project only if the user doesn't have one already. Requires location parameter.\r\n3. action='check' - See if one already exists\r\n4. action='update' with ALL parameters - Ask user to confirm defaults or provide values\r\n5. action='generate' - Create the landing zone\r\n6. action='download' - Get the files\r\n7. Extract zip to workspace root\r\n\r\n**IMPORTANT:** When using 'update', collect ALL parameters from the user in ONE call.\r\nShow them the defaults and ask which ones they want to change.", + "command": "azuremigrate platformlandingzone request", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--action", + "description": "The action to perform: 'update' (set parameters), 'check' (check existing platform landing zone), 'generate' (generate platform landing zone), 'download' (get download instructions), 'status' (view parameter status).", + "type": "string", + "required": true + }, + { + "name": "--region-type", + "description": "The region type for the Platform Landing Zone. Valid values: 'single', 'multi'.", + "type": "string" + }, + { + "name": "--firewall-type", + "description": "The firewall type for the Platform Landing Zone. Valid values: 'azurefirewall', 'nva'.", + "type": "string" + }, + { + "name": "--network-architecture", + "description": "The network architecture for the Platform Landing Zone. Valid values: 'hubspoke', 'vwan'.", + "type": "string" + }, + { + "name": "--identity-subscription-id", + "description": "The Azure subscription ID for the identity management group in Platform Landing Zone (GUID format).", + "type": "string" + }, + { + "name": "--management-subscription-id", + "description": "The Azure subscription ID for the management group in Platform Landing Zone (GUID format).", + "type": "string" + }, + { + "name": "--connectivity-subscription-id", + "description": "The Azure subscription ID for the connectivity group in Platform Landing Zone (GUID format).", + "type": "string" + }, + { + "name": "--security-subscription-id", + "description": "The Azure subscription ID for security resources in Platform Landing Zone (GUID format).", + "type": "string" + }, + { + "name": "--regions", + "description": "Comma-separated list of Azure regions for Platform Landing Zone (e.g., 'eastus,westus2').", + "type": "string" + }, + { + "name": "--environment-name", + "description": "The environment name for the Platform Landing Zone.", + "type": "string" + }, + { + "name": "--version-control-system", + "description": "The version control system for the Platform Landing Zone. Valid values: 'local', 'github', 'azuredevops'.", + "type": "string" + }, + { + "name": "--organization-name", + "description": "The organization name for the Platform Landing Zone.", + "type": "string" + }, + { + "name": "--migrate-project-name", + "description": "The Azure Migrate project name for Platform Landing Zone generation context.", + "type": "string", + "required": true + }, + { + "name": "--migrate-project-resource-id", + "description": "The full resource ID of the Azure Migrate project for Platform Landing Zone (alternative to subscription/resourceGroup/migrateProjectName).", + "type": "string" + }, + { + "name": "--location", + "description": "The Azure region location for creating new resources (e.g., 'eastus', 'westus2'). Required for 'createmigrateproject' action.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": true + }, + { + "id": "e5f6a7b8-c9d0-1234-ef01-456789012cde", + "name": "get", + "description": "Retrieves the documentation (README.md) for a specific version of an Azure Verified Module (AVM).\r\nReturns the full module documentation including usage examples, input variables,\r\noutput values, and resource descriptions. Use --module-name and --module-version\r\nto specify the module and version (e.g., --module-name avm-res-storage-storageaccount --module-version 0.4.0).", + "command": "azureterraform avm get", + "option": [ + { + "name": "--module-name", + "description": "The name of the Azure Verified Module (e.g., avm-res-storage-storageaccount).", + "type": "string", + "required": true + }, + { + "name": "--module-version", + "description": "The version of the Azure Verified Module (e.g., 0.4.0).", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": true, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "c3d4e5f6-a7b8-9012-cdef-234567890abc", + "name": "list", + "description": "Retrieves all available Azure Verified Modules (AVM) for Terraform.\r\nReturns a list of modules with their name, description, source reference, and repository URL.\r\nThe source field can be used directly in Terraform module blocks.", + "command": "azureterraform avm list", + "option": [ + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": true, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "d4e5f6a7-b8c9-0123-def0-345678901bcd", + "name": "versions", + "description": "Retrieves all available versions of a specified Azure Verified Module (AVM).\r\nReturns version tags with creation dates, sorted from newest to oldest.\r\nThe first version in the list is the latest. Use --module-name to specify\r\nthe module (e.g., avm-res-storage-storageaccount).", + "command": "azureterraform avm versions", + "option": [ + { + "name": "--module-name", + "description": "The name of the Azure Verified Module (e.g., avm-res-storage-storageaccount).", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": true, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "f6a7b8c9-d0e1-2345-bcde-678901234ef0", + "name": "get", + "description": "Retrieves AzAPI Terraform provider documentation and schema for a specified Azure resource type.\r\nReturns the resource schema in HCL format suitable for azapi_resource blocks, including property\r\ndefinitions with types and requirements, parent resource information, and Terraform usage examples.\r\nUse --resource-type to specify the Azure resource type in ARM format\r\n(e.g., Microsoft.Compute/virtualMachines, Microsoft.Storage/storageAccounts).\r\nOptionally specify --api-version to target a specific API version.\r\nThis tool reuses Azure Bicep type definitions to generate accurate AzAPI schemas.", + "command": "azureterraform azapi get", + "option": [ + { + "name": "--resource-type", + "description": "The Azure resource type in ARM format (e.g., Microsoft.Compute/virtualMachines, Microsoft.Storage/storageAccounts).", + "type": "string", + "required": true + }, + { + "name": "--api-version", + "description": "The API version to use for the resource schema. If omitted, the latest stable version is used.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": true, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "b8c9d0e1-f2a3-4567-1234-789012345f01", + "name": "query", + "description": "Generates an aztfexport command to export Azure resources matching an Azure Resource Graph query\r\nto Terraform configuration. Returns the command and arguments for the agent to execute locally.\r\nSpecify --query with a KQL WHERE clause for Azure Resource Graph (e.g., \"type =~ 'Microsoft.Storage/storageAccounts'\").\r\nOptionally configure the Terraform provider (azurerm or azapi), naming pattern, output folder,\r\nparallelism, and whether to include role assignments.\r\nIf aztfexport is not installed locally, returns installation instructions instead.", + "command": "azureterraform aztfexport query", + "option": [ + { + "name": "--query", + "description": "Azure Resource Graph KQL WHERE clause to select resources for export (e.g., \"type =~ 'Microsoft.Storage/storageAccounts'\").", + "type": "string", + "required": true + }, + { + "name": "--output-folder", + "description": "Output folder name for the generated Terraform files.", + "type": "string" + }, + { + "name": "--provider", + "description": "Terraform provider to use: 'azurerm' (default) or 'azapi'.", + "type": "string" + }, + { + "name": "--name-pattern", + "description": "Pattern for naming resources in the generated Terraform configuration.", + "type": "string" + }, + { + "name": "--include-role-assignment", + "description": "Include role assignments in the export.", + "type": "string" + }, + { + "name": "--parallelism", + "description": "Number of parallel operations (default: 10, max: 50).", + "type": "string" + }, + { + "name": "--continue-on-error", + "description": "Continue export even if some resources fail (default: true).", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": true, + "readOnly": true, + "secret": false, + "localRequired": true + }, + { + "id": "f6a7b8c9-d0e1-2345-f012-567890123def", + "name": "resource", + "description": "Generates an aztfexport command to export a single Azure resource to Terraform configuration.\r\nReturns the command and arguments for the agent to execute locally.\r\nSpecify --resource-id with the full Azure resource ID. Optionally configure the Terraform provider\r\n(azurerm or azapi), custom resource name, output folder, parallelism, and whether to include role assignments.\r\nIf aztfexport is not installed locally, returns installation instructions instead.", + "command": "azureterraform aztfexport resource", + "option": [ + { + "name": "--resource-id", + "description": "The full Azure resource ID to export (e.g., /subscriptions/.../resourceGroups/.../providers/Microsoft.Storage/storageAccounts/mystorageaccount).", + "type": "string", + "required": true + }, + { + "name": "--output-folder", + "description": "Output folder name for the generated Terraform files.", + "type": "string" + }, + { + "name": "--provider", + "description": "Terraform provider to use: 'azurerm' (default) or 'azapi'.", + "type": "string" + }, + { + "name": "--terraform-resource-name", + "description": "Custom resource name to use in the generated Terraform configuration.", + "type": "string" + }, + { + "name": "--include-role-assignment", + "description": "Include role assignments in the export.", + "type": "string" + }, + { + "name": "--parallelism", + "description": "Number of parallel operations (default: 10, max: 50).", + "type": "string" + }, + { + "name": "--continue-on-error", + "description": "Continue export even if some resources fail (default: true).", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": true, + "readOnly": true, + "secret": false, + "localRequired": true + }, + { + "id": "a7b8c9d0-e1f2-3456-0123-678901234ef0", + "name": "resourcegroup", + "description": "Generates an aztfexport command to export an Azure resource group and all its resources to Terraform configuration.\r\nReturns the command and arguments for the agent to execute locally.\r\nSpecify --resource-group with the name of the resource group. Optionally configure the Terraform provider\r\n(azurerm or azapi), naming pattern, output folder, parallelism, and whether to include role assignments.\r\nIf aztfexport is not installed locally, returns installation instructions instead.", + "command": "azureterraform aztfexport resourcegroup", + "option": [ + { + "name": "--resource-group", + "description": "The name of the Azure resource group to export.", + "type": "string", + "required": true + }, + { + "name": "--output-folder", + "description": "Output folder name for the generated Terraform files.", + "type": "string" + }, + { + "name": "--provider", + "description": "Terraform provider to use: 'azurerm' (default) or 'azapi'.", + "type": "string" + }, + { + "name": "--name-pattern", + "description": "Pattern for naming resources in the generated Terraform configuration.", + "type": "string" + }, + { + "name": "--include-role-assignment", + "description": "Include role assignments in the export.", + "type": "string" + }, + { + "name": "--parallelism", + "description": "Number of parallel operations (default: 10, max: 50).", + "type": "string" + }, + { + "name": "--continue-on-error", + "description": "Continue export even if some resources fail (default: true).", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": true, + "readOnly": true, + "secret": false, + "localRequired": true + }, + { + "id": "d4e5f6a7-b8c9-0123-abcd-567890123def", + "name": "get", + "description": "Retrieves comprehensive AzureRM Terraform provider documentation for a specified resource type.\r\nReturns the resource summary, arguments with descriptions and requirements, attributes,\r\nusage examples, and important notes. Use --resource-type to specify the resource\r\n(e.g., azurerm_resource_group). Optionally filter by --doc-type (resource or data-source),\r\n--argument, or --attribute.", + "command": "azureterraform azurerm get", + "option": [ + { + "name": "--resource-type", + "description": "The AzureRM Terraform resource type name (e.g., azurerm_resource_group, azurerm_storage_account). The 'azurerm_' prefix is optional.", + "type": "string", + "required": true + }, + { + "name": "--doc-type", + "description": "The documentation type to retrieve. Options: 'resource' (default), 'data-source'.", + "type": "string" + }, + { + "name": "--argument", + "description": "Filter results to a specific argument name.", + "type": "string" + }, + { + "name": "--attribute", + "description": "Filter results to a specific attribute name.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": true, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "b2c3d4e5-f6a7-8901-bcde-f01234567890", + "name": "plan", + "description": "Generates a conftest command to validate a Terraform plan JSON file against Azure policies.\r\nReturns the command and arguments for the agent to execute locally.\r\nUses the Azure policy library (policy-library-avm) for validation with configurable policy sets.\r\nSpecify --plan-folder with the path to the folder containing tfplan.json. Optionally configure the policy set\r\n('all', 'Azure-Proactive-Resiliency-Library-v2', or 'avmsec'), severity filter (for avmsec), and custom policy paths.\r\nIf conftest is not installed locally, returns installation instructions instead.", + "command": "azureterraform conftest plan", + "option": [ + { + "name": "--plan-folder", + "description": "Path to the folder containing the Terraform plan JSON file (tfplan.json) to validate.", + "type": "string", + "required": true + }, + { + "name": "--policy-set", + "description": "Policy set to use for validation: 'all' (default), 'Azure-Proactive-Resiliency-Library-v2', or 'avmsec'.", + "type": "string" + }, + { + "name": "--severity-filter", + "description": "Severity filter for avmsec policies: 'high', 'medium', 'low', or 'info'. Only applicable when policy-set is 'avmsec'.", + "type": "string" + }, + { + "name": "--custom-policies", + "description": "Comma-separated list of custom policy paths to include in validation.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": true, + "readOnly": true, + "secret": false, + "localRequired": true + }, + { + "id": "a1b2c3d4-e5f6-7890-abcd-ef0123456789", + "name": "workspace", + "description": "Generates a conftest command to validate Terraform .tf files in a workspace against Azure policies.\r\nReturns the command and arguments for the agent to execute locally.\r\nUses the Azure policy library (policy-library-avm) for validation with configurable policy sets.\r\nSpecify --workspace-folder with the path to the Terraform workspace. Optionally configure the policy set\r\n('all', 'Azure-Proactive-Resiliency-Library-v2', or 'avmsec'), severity filter (for avmsec), and custom policy paths.\r\nIf conftest is not installed locally, returns installation instructions instead.", + "command": "azureterraform conftest workspace", + "option": [ + { + "name": "--workspace-folder", + "description": "Path to the Terraform workspace folder containing .tf files to validate.", + "type": "string", + "required": true + }, + { + "name": "--policy-set", + "description": "Policy set to use for validation: 'all' (default), 'Azure-Proactive-Resiliency-Library-v2', or 'avmsec'.", + "type": "string" + }, + { + "name": "--severity-filter", + "description": "Severity filter for avmsec policies: 'high', 'medium', 'low', or 'info'. Only applicable when policy-set is 'avmsec'.", + "type": "string" + }, + { + "name": "--custom-policies", + "description": "Comma-separated list of custom policy paths to include in validation.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": true, + "readOnly": true, + "secret": false, + "localRequired": true + }, + { + "id": "5bd36575-6313-4bf4-aa26-a79fe0fa32a8", + "name": "get", + "description": "Returns Terraform best practices for Azure. Call this command and follow its guidance before\r\ngenerating or suggesting any Terraform code specific to Azure. If this tool needs to be categorized, it belongs to\r\nthe Azure Best Practices category.", + "command": "azureterraformbestpractices get", + "option": [ + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "553c003a-7cdf-4382-b833-94fe8bbb7386", + "name": "get", + "description": "Provides the Bicep schema definition of any Azure resource type (latest service version). Use this to get the schema needed to write Bicep IaC (infrasturcture as code) for Azure resources such as AI models, storage accounts, databases, virtual machines, app services, key vaults, and more. Do not use this tool for resource deployment, deployment guidelines, or getting best practices.", + "command": "bicepschema get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--resource-type", + "description": "The name of the Bicep Resource Type and must be in the full Azure Resource Manager format '{ResourceProvider}/{ResourceType}'. (e.g., 'Microsoft.KeyVault/vaults', 'Microsoft.Storage/storageAccounts', 'Microsoft.Compute/virtualMachines')(e.g., Microsoft.Storage/storageAccounts).", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "aa7c2a8b-c664-423b-8fb5-8edfbdadc783", + "name": "design", + "description": "Recommends architecture design for cloud services/apps/solutions, such as: file storage, banking, video streaming, e-commerce, SaaS, and more. Use as follows:\r\n1. Ask about user role, business goals, etc (1-2 questions at a time).\r\n2. Track confidence returned by service and update requirements (explicit/implicit/assumed).\r\n3. Repeat steps 1 and 2 as needed until confidence >= 0.7\r\n4. Present architecture with table format, visual organization, ASCII diagrams.\r\n5. Follow Azure Well-Architected Framework principles.\r\n6. Cover all tiers: infrastructure, platform, application, data, security, operations.\r\n7. Provide actionable advice and high-level overview. Note: State tracks components, requirements by category, and confidence factors. Be conservative with suggestions.", + "command": "cloudarchitect design", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--question", + "description": "The current question being asked", + "type": "string" + }, + { + "name": "--question-number", + "description": "Current question number", + "type": "string" + }, + { + "name": "--total-questions", + "description": "Estimated total questions needed", + "type": "string" + }, + { + "name": "--answer", + "description": "The user's response to the question", + "type": "string" + }, + { + "name": "--next-question-needed", + "description": "Whether another question is needed", + "type": "string" + }, + { + "name": "--confidence-score", + "description": "A value between 0.0 and 1.0 representing confidence in understanding requirements. When this reaches 0.7 or higher, nextQuestionNeeded should be set to false.", + "type": "string" + }, + { + "name": "--state", + "description": "The complete architecture state from the previous request as JSON, State input schema:\n{\n\"state\":{\n\"type\":\"object\",\n\"description\":\"The complete architecture state from the previous request\",\n\"properties\":{\n\"architectureComponents\":{\n\"type\":\"array\",\n\"description\":\"All architecture components suggested so far\",\n\"items\":{\n\"type\":\"string\"\n}\n},\n\"architectureTiers\":{\n\"type\":\"object\",\n\"description\":\"Components organized by architecture tier\",\n\"additionalProperties\":{\n\"type\":\"array\",\n\"items\":{\n\"type\":\"string\"\n}\n}\n},\n\"thought\":{\n\"type\":\"string\",\n\"description\":\"The calling agent's thoughts on the next question or reasoning process. The calling agent should use the requirements it has gathered to reason about the next question.\"\n},\n\"suggestedHint\":{\n\"type\":\"string\",\n\"description\":\"A suggested interaction hint to show the user, such as 'Ask me to create an ASCII art diagram of this architecture' or 'Ask about how this design handles disaster recovery'.\"\n},\n\"requirements\":{\n\"type\":\"object\",\n\"description\":\"Tracked requirements organized by type\",\n\"properties\":{\n\"explicit\":{\n\"type\":\"array\",\n\"description\":\"Requirements explicitly stated by the user\",\n\"items\":{\n\"type\":\"object\",\n\"properties\":{\n\"category\":{\n\"type\":\"string\"\n},\n\"description\":{\n\"type\":\"string\"\n},\n\"source\":{\n\"type\":\"string\"\n},\n\"importance\":{\n\"type\":\"string\",\n\"enum\":[\n\"high\",\n\"medium\",\n\"low\"\n]\n},\n\"confidence\":{\n\"type\":\"number\"\n}\n}\n}\n},\n\"implicit\":{\n\"type\":\"array\",\n\"description\":\"Requirements implied by user responses\",\n\"items\":{\n\"type\":\"object\",\n\"properties\":{\n\"category\":{\n\"type\":\"string\"\n},\n\"description\":{\n\"type\":\"string\"\n},\n\"source\":{\n\"type\":\"string\"\n},\n\"importance\":{\n\"type\":\"string\",\n\"enum\":[\n\"high\",\n\"medium\",\n\"low\"\n]\n},\n\"confidence\":{\n\"type\":\"number\"\n}\n}\n}\n},\n\"assumed\":{\n\"type\":\"array\",\n\"description\":\"Requirements assumed based on context/best practices\",\n\"items\":{\n\"type\":\"object\",\n\"properties\":{\n\"category\":{\n\"type\":\"string\"\n},\n\"description\":{\n\"type\":\"string\"\n},\n\"source\":{\n\"type\":\"string\"\n},\n\"importance\":{\n\"type\":\"string\",\n\"enum\":[\n\"high\",\n\"medium\",\n\"low\"\n]\n},\n\"confidence\":{\n\"type\":\"number\"\n}\n}\n}\n}\n}\n},\n\"confidenceFactors\":{\n\"type\":\"object\",\n\"description\":\"Factors that contribute to the overall confidence score\",\n\"properties\":{\n\"explicitRequirementsCoverage\":{\n\"type\":\"number\"\n},\n\"implicitRequirementsCertainty\":{\n\"type\":\"number\"\n},\n\"assumptionRisk\":{\n\"type\":\"number\"\n}\n}\n}\n}\n}\n}", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "60f79b69-9e90-4f07-9bf4-bd4452f1143d", + "name": "send", + "description": "Send emails to one or multiple recipients to the given email-address. The emails can be plain text or HTML formatted. You can include a subject, custom sender name, CC and BCC recipients, and reply-to addresses.", + "command": "communication email send", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--endpoint", + "description": "The Communication Services URI endpoint (e.g., https://myservice.communication.azure.com). Required for credential authentication.", + "type": "string", + "required": true + }, + { + "name": "--from", + "description": "The email address to send from (must be from a verified domain)", + "type": "string", + "required": true + }, + { + "name": "--sender-name", + "description": "The display name of the sender", + "type": "string" + }, + { + "name": "--to", + "description": "The recipient email address(es) to send the email to.", + "type": "string", + "required": true + }, + { + "name": "--cc", + "description": "CC recipient email addresses", + "type": "string" + }, + { + "name": "--bcc", + "description": "BCC recipient email addresses", + "type": "string" + }, + { + "name": "--subject", + "description": "The email subject", + "type": "string", + "required": true + }, + { + "name": "--message", + "description": "The email message content to send to the recipient(s).", + "type": "string", + "required": true + }, + { + "name": "--is-html", + "description": "Flag indicating whether the message content is HTML", + "type": "string" + }, + { + "name": "--reply-to", + "description": "Reply-to email addresses", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": false, + "openWorld": true, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "a0dc94f3-25ac-4971-a552-0d90fd57e902", + "name": "send", + "description": "Sends SMS messages to one or more recipients to the given phone-number. You can enable delivery reports and receipt tracking, broadcast SMS, and tag messages for easier tracking.\r\nReturns message IDs and delivery status for each sent message.", + "command": "communication sms send", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--endpoint", + "description": "The Communication Services URI endpoint (e.g., https://myservice.communication.azure.com). Required for credential authentication.", + "type": "string", + "required": true + }, + { + "name": "--from", + "description": "The SMS-enabled phone number associated with your Communication Services resource (in E.164 format, e.g., +14255550123). Can also be a short code or alphanumeric sender ID.", + "type": "string", + "required": true + }, + { + "name": "--to", + "description": "The recipient phone number(s) in E.164 international standard format (e.g., +14255550123). Multiple numbers can be provided.", + "type": "string", + "required": true + }, + { + "name": "--message", + "description": "The SMS message content to send to the recipient(s).", + "type": "string", + "required": true + }, + { + "name": "--enable-delivery-report", + "description": "Whether to enable delivery reporting for the SMS message. When enabled, events are emitted when delivery is successful.", + "type": "string" + }, + { + "name": "--tag", + "description": "Optional custom tag to apply to the SMS message for tracking purposes.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": false, + "openWorld": true, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "3f8a1b2c-5d6e-4a7b-8c9d-0e1f2a3b4c5d", + "name": "create", + "description": "Creates a new Azure managed disk in the specified resource group. Supports creating empty disks (specify --size-gb), disks from a source such as a snapshot, another managed disk, or a blob URI (specify --source), disks from a Shared Image Gallery image version (specify --gallery-image-reference), or disks ready for upload (specify --upload-type and --upload-size-bytes). If location is not specified, defaults to the resource group's location. Supports configuring disk size, storage SKU (e.g., Premium_LRS, Standard_LRS, UltraSSD_LRS), OS type, availability zone, hypervisor generation, tags, encryption settings, performance tier, shared disk, on-demand bursting, and IOPS/throughput limits for UltraSSD disks. Create a disk with network access policy DenyAll, AllowAll, or AllowPrivate and associate a disk access resource during creation.", + "command": "compute disk create", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--disk-name", + "description": "The name of the disk", + "type": "string", + "required": true + }, + { + "name": "--source", + "description": "Source to create the disk from, including a resource ID of a snapshot or disk, or a blob URI of a VHD. When a source is provided, --size-gb is optional and defaults to the source size.", + "type": "string" + }, + { + "name": "--location", + "description": "The Azure region/location. Defaults to the resource group's location if not specified.", + "type": "string" + }, + { + "name": "--size-gb", + "description": "Size of the disk in GB. Max size: 4095 GB.", + "type": "string" + }, + { + "name": "--sku", + "description": "Underlying storage SKU. Accepted values: Premium_LRS, PremiumV2_LRS, Premium_ZRS, StandardSSD_LRS, StandardSSD_ZRS, Standard_LRS, UltraSSD_LRS.", + "type": "string" + }, + { + "name": "--os-type", + "description": "The Operating System type of the disk. Accepted values: Linux, Windows.", + "type": "string" + }, + { + "name": "--zone", + "description": "Availability zone into which to provision the resource.", + "type": "string" + }, + { + "name": "--hyper-v-generation", + "description": "The hypervisor generation of the Virtual Machine. Applicable to OS disks only. Accepted values: V1, V2.", + "type": "string" + }, + { + "name": "--max-shares", + "description": "The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a shared disk.", + "type": "string" + }, + { + "name": "--network-access-policy", + "description": "Policy for accessing the disk via network. Accepted values: AllowAll, AllowPrivate, DenyAll.", + "type": "string" + }, + { + "name": "--enable-bursting", + "description": "Enable on-demand bursting beyond the provisioned performance target of the disk. Does not apply to Ultra disks. Accepted values: true, false.", + "type": "string" + }, + { + "name": "--tags", + "description": "Space-separated tags in 'key=value' format. Use '' to clear existing tags.", + "type": "string" + }, + { + "name": "--disk-encryption-set", + "description": "Resource ID of the disk encryption set to use for enabling encryption at rest.", + "type": "string" + }, + { + "name": "--encryption-type", + "description": "Encryption type of the disk. Accepted values: EncryptionAtRestWithCustomerKey, EncryptionAtRestWithPlatformAndCustomerKeys, EncryptionAtRestWithPlatformKey.", + "type": "string" + }, + { + "name": "--disk-access", + "description": "Resource ID of the disk access resource for using private endpoints on disks.", + "type": "string" + }, + { + "name": "--tier", + "description": "Performance tier of the disk (e.g., P10, P15, P20, P30, P40, P50, P60, P70, P80). Applicable to Premium SSD disks only.", + "type": "string" + }, + { + "name": "--gallery-image-reference", + "description": "Resource ID of a Shared Image Gallery image version to use as the source for the disk. Format: /subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.Compute/galleries/{gallery}/images/{image}/versions/{version}.", + "type": "string" + }, + { + "name": "--gallery-image-reference-lun", + "description": "LUN (Logical Unit Number) of the data disk in the gallery image version. If specified, the disk is created from the data disk at this LUN. If not specified, the disk is created from the OS disk of the image.", + "type": "string" + }, + { + "name": "--disk-iops-read-write", + "description": "The number of IOPS allowed for this disk. Only settable for UltraSSD disks.", + "type": "string" + }, + { + "name": "--disk-mbps-read-write", + "description": "The bandwidth allowed for this disk in MBps. Only settable for UltraSSD disks.", + "type": "string" + }, + { + "name": "--upload-type", + "description": "Type of upload for the disk. Accepted values: Upload, UploadWithSecurityData. When specified, the disk is created in a ReadyToUpload state.", + "type": "string" + }, + { + "name": "--upload-size-bytes", + "description": "The size in bytes (including the VHD footer of 512 bytes) of the content to be uploaded. Required when --upload-type is specified.", + "type": "string" + }, + { + "name": "--security-type", + "description": "Security type of the managed disk. Accepted values: ConfidentialVM_DiskEncryptedWithCustomerKey, ConfidentialVM_DiskEncryptedWithPlatformKey, ConfidentialVM_VMGuestStateOnlyEncryptedWithPlatformKey, Standard, TrustedLaunch. Required when --upload-type is UploadWithSecurityData.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "a7c3e9f1-4b82-4d5a-9e6c-1f3d8b2a7c4e", + "name": "delete", + "description": "Deletes an Azure managed disk from the specified resource group. This is an idempotent operation that returns Deleted = true if the disk was successfully removed, or Deleted = false if the disk was not found. The disk must not be attached to a virtual machine; detach it first before deleting.", + "command": "compute disk delete", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--disk-name", + "description": "The name of the disk", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": true, + "localRequired": false + }, + { + "id": "01ab6f7e-2b27-4d6e-b0cc-b29043efac8e", + "name": "get", + "description": "Lists available Azure managed disks or retrieves detailed information about a specific disk. Shows all disks in a subscription or resource group, including disk size, SKU, provisioning state, and OS type. Supports wildcard patterns in disk names (e.g., 'win_OsDisk*'). When disk name is provided without resource group, searches across the entire subscription. When resource group is specified, scopes the search to that resource group. Both parameters are optional.", + "command": "compute disk get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--disk-name", + "description": "The name of the disk", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "4a9b2c3d-6e7f-5b8c-9d0e-1f2a3b4c5d6e", + "name": "update", + "description": "Updates or modifies properties of an existing Azure managed disk that was previously created. If resource group is not specified, the disk is located by name within the subscription. Supports changing disk size (can only increase), storage SKU, IOPS and throughput limits (UltraSSD only), max shares for shared disk attachments, on-demand bursting, tags, encryption settings, disk access, and performance tier. Modify the network access policy to DenyAll, AllowAll, or AllowPrivate on an existing disk. Only specified properties are updated; unspecified properties remain unchanged.", + "command": "compute disk update", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--disk-name", + "description": "The name of the disk", + "type": "string", + "required": true + }, + { + "name": "--size-gb", + "description": "Size of the disk in GB. Max size: 4095 GB.", + "type": "string" + }, + { + "name": "--sku", + "description": "Underlying storage SKU. Accepted values: Premium_LRS, PremiumV2_LRS, Premium_ZRS, StandardSSD_LRS, StandardSSD_ZRS, Standard_LRS, UltraSSD_LRS.", + "type": "string" + }, + { + "name": "--disk-iops-read-write", + "description": "The number of IOPS allowed for this disk. Only settable for UltraSSD disks.", + "type": "string" + }, + { + "name": "--disk-mbps-read-write", + "description": "The bandwidth allowed for this disk in MBps. Only settable for UltraSSD disks.", + "type": "string" + }, + { + "name": "--max-shares", + "description": "The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a shared disk.", + "type": "string" + }, + { + "name": "--network-access-policy", + "description": "Policy for accessing the disk via network. Accepted values: AllowAll, AllowPrivate, DenyAll.", + "type": "string" + }, + { + "name": "--enable-bursting", + "description": "Enable on-demand bursting beyond the provisioned performance target of the disk. Does not apply to Ultra disks. Accepted values: true, false.", + "type": "string" + }, + { + "name": "--tags", + "description": "Space-separated tags in 'key=value' format. Use '' to clear existing tags.", + "type": "string" + }, + { + "name": "--disk-encryption-set", + "description": "Resource ID of the disk encryption set to use for enabling encryption at rest.", + "type": "string" + }, + { + "name": "--encryption-type", + "description": "Encryption type of the disk. Accepted values: EncryptionAtRestWithCustomerKey, EncryptionAtRestWithPlatformAndCustomerKeys, EncryptionAtRestWithPlatformKey.", + "type": "string" + }, + { + "name": "--disk-access", + "description": "Resource ID of the disk access resource for using private endpoints on disks.", + "type": "string" + }, + { + "name": "--tier", + "description": "Performance tier of the disk (e.g., P10, P15, P20, P30, P40, P50, P60, P70, P80). Applicable to Premium SSD disks only.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "b765ab9c-788d-4422-80aa-54488f6be648", + "name": "create", + "description": "Create, deploy, or provision a single Azure Virtual Machine (VM).\r\nUse this to launch a new Linux or Windows VM with SSH key or password authentication.\r\nAutomatically creates networking resources (VNet, subnet, NSG, NIC, public IP) when not specified.\r\nEquivalent to 'az vm create'. Defaults to Standard_D2s_v5 VM size when not specified.\r\nThe --image option is required and has no default; if the user does not specify an image, ask them which image to use\r\n(an alias such as 'Ubuntu2404' or 'Win2022Datacenter', a marketplace URN like 'publisher:offer:sku:version',\r\nor a shared gallery image ID starting with '/sharedGalleries/').\r\nFor Linux VMs with SSH, read the user's public key file (e.g., ~/.ssh/id_rsa.pub) and pass its content.\r\nDo not use this for creating Virtual Machine Scale Sets with multiple identical instances (use VMSS create instead).", + "command": "compute vm create", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--vm-name", + "description": "The name of the virtual machine", + "type": "string", + "required": true + }, + { + "name": "--location", + "description": "The Azure region/location. Defaults to the resource group's location if not specified.", + "type": "string", + "required": true + }, + { + "name": "--admin-username", + "description": "The admin username for the VM. Required for VM creation", + "type": "string", + "required": true + }, + { + "name": "--admin-password", + "description": "The admin password for Windows VMs or when SSH key is not provided for Linux VMs", + "type": "string" + }, + { + "name": "--ssh-public-key", + "description": "SSH public key for Linux VMs. Can be the key content or path to a file", + "type": "string" + }, + { + "name": "--image", + "description": "The OS image to use. Can be a URN (publisher:offer:sku:version), a shared gallery image ID (starting with '/sharedGalleries/'), or an alias such as 'Ubuntu2404' or 'Win2022Datacenter'.", + "type": "string", + "required": true + }, + { + "name": "--vm-size", + "description": "The VM size (e.g., Standard_D2s_v3, Standard_B2s). Defaults to Standard_D2s_v5 if not specified", + "type": "string" + }, + { + "name": "--os-type", + "description": "The Operating System type of the disk. Accepted values: Linux, Windows.", + "type": "string" + }, + { + "name": "--virtual-network", + "description": "Name of an existing virtual network to use. If not specified, a new one will be created", + "type": "string" + }, + { + "name": "--subnet", + "description": "Name of the subnet within the virtual network", + "type": "string" + }, + { + "name": "--public-ip-address", + "description": "Name of the public IP address to use or create", + "type": "string" + }, + { + "name": "--network-security-group", + "description": "Name of the network security group to use or create", + "type": "string" + }, + { + "name": "--no-public-ip", + "description": "Do not create or assign a public IP address", + "type": "string" + }, + { + "name": "--source-address-prefix", + "description": "Source IP address range for NSG inbound rules (e.g., '203.0.113.0/24' or a specific IP). Defaults to '*' (any source)", + "type": "string" + }, + { + "name": "--zone", + "description": "Availability zone into which to provision the resource.", + "type": "string" + }, + { + "name": "--os-disk-size-gb", + "description": "OS disk size in GB. Defaults based on image requirements", + "type": "string" + }, + { + "name": "--os-disk-type", + "description": "OS disk type: 'Premium_LRS', 'StandardSSD_LRS', 'Standard_LRS'. Defaults based on VM size", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": true, + "localRequired": false + }, + { + "id": "d4e2c8a1-6f3b-4d9e-b8c7-1a2e3f4d5e6f", + "name": "delete", + "description": "Delete, remove, or destroy an Azure Virtual Machine (VM).\r\nUse this to permanently remove a VM that is no longer needed.\r\nEquivalent to 'az vm delete'. This operation is irreversible and the VM data will be lost.\r\nUse --force-deletion to force delete the VM even if it is in a running or failed state\r\n(passes forceDeletion=true to the Azure API).\r\nAssociated resources like disks, NICs, and public IPs are NOT automatically deleted.\r\nDo not use this to delete Virtual Machine Scale Sets (use VMSS delete instead).", + "command": "compute vm delete", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--vm-name", + "description": "The name of the virtual machine", + "type": "string", + "required": true + }, + { + "name": "--force-deletion", + "description": "Force delete the resource even if it is in a running or failed state (passes forceDeletion=true to the Azure API)", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": true, + "localRequired": false + }, + { + "id": "c1a8b3e5-4f2d-4a6e-8c7b-9d2e3f4a5b6c", + "name": "get", + "description": "List or get Azure Virtual Machine (VM) configuration and properties in a resource group. By default, returns VM details including name, location, size, provisioning state, and OS type. When retrieving a specific VM with --vm-name and --instance-view, the response also includes power state (running/stopped/deallocated). Use this tool to retrieve VM configuration details.", + "command": "compute vm get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--vm-name", + "description": "The name of the virtual machine", + "type": "string" + }, + { + "name": "--instance-view", + "description": "Include instance view details (only available when retrieving a specific VM)", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "f330138e-8048-4a4a-8170-d8b6f958eaa4", + "name": "update", + "description": "Update, modify, or reconfigure an existing Azure Virtual Machine (VM).\r\nUse this to resize a VM, update tags, configure boot diagnostics, or change user data.\r\nEquivalent to 'az vm update'. The VM may need to be deallocated before resizing to certain sizes.\r\nDo not use this to create a new VM (use VM create) or to update Virtual Machine Scale Sets (use VMSS update).", + "command": "compute vm update", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--vm-name", + "description": "The name of the virtual machine", + "type": "string", + "required": true + }, + { + "name": "--vm-size", + "description": "The VM size (e.g., Standard_D2s_v3, Standard_B2s). Defaults to Standard_D2s_v5 if not specified", + "type": "string" + }, + { + "name": "--tags", + "description": "Space-separated tags in 'key=value' format. Use '' to clear existing tags.", + "type": "string" + }, + { + "name": "--license-type", + "description": "License type for Azure Hybrid Benefit: 'Windows_Server', 'Windows_Client', 'RHEL_BYOS', 'SLES_BYOS', or 'None' to disable", + "type": "string" + }, + { + "name": "--boot-diagnostics", + "description": "Enable or disable boot diagnostics: 'true' or 'false'", + "type": "string" + }, + { + "name": "--user-data", + "description": "Base64-encoded user data for the VM. Use to update custom data scripts", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "c46a4bc5-cba6-4d99-991b-a9109fc689ad", + "name": "create", + "description": "Create, deploy, or provision an Azure Virtual Machine Scale Set (VMSS) for running multiple identical VM instances.\r\nUse this to deploy workloads that need horizontal scaling, load balancing, or high availability across instances.\r\nEquivalent to 'az vmss create'. Defaults to 2 instances and Standard_D2s_v5 size when not specified.\r\nThe --image option is required and has no default; if the user does not specify an image, ask them which image to use\r\n(an alias such as 'Ubuntu2404' or 'Win2022Datacenter', a marketplace URN like 'publisher:offer:sku:version',\r\nor a shared gallery image ID starting with '/sharedGalleries/').\r\nFor Linux VMSS with SSH, read the user's public key file (e.g., ~/.ssh/id_rsa.pub) and pass its content.\r\nDo not use this for creating a single standalone VM (use VM create instead).", + "command": "compute vmss create", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--vmss-name", + "description": "The name of the virtual machine scale set", + "type": "string", + "required": true + }, + { + "name": "--location", + "description": "The Azure region/location. Defaults to the resource group's location if not specified.", + "type": "string", + "required": true + }, + { + "name": "--admin-username", + "description": "The admin username for the VM. Required for VM creation", + "type": "string", + "required": true + }, + { + "name": "--admin-password", + "description": "The admin password for Windows VMs or when SSH key is not provided for Linux VMs", + "type": "string" + }, + { + "name": "--ssh-public-key", + "description": "SSH public key for Linux VMs. Can be the key content or path to a file", + "type": "string" + }, + { + "name": "--image", + "description": "The OS image to use. Can be a URN (publisher:offer:sku:version), a shared gallery image ID (starting with '/sharedGalleries/'), or an alias such as 'Ubuntu2404' or 'Win2022Datacenter'.", + "type": "string", + "required": true + }, + { + "name": "--vm-size", + "description": "The VM size (e.g., Standard_D2s_v3, Standard_B2s). Defaults to Standard_D2s_v5 if not specified", + "type": "string" + }, + { + "name": "--os-type", + "description": "The Operating System type of the disk. Accepted values: Linux, Windows.", + "type": "string" + }, + { + "name": "--instance-count", + "description": "Number of VM instances in the scale set. Default is 2", + "type": "string" + }, + { + "name": "--upgrade-policy", + "description": "Upgrade policy mode: 'Automatic', 'Manual', or 'Rolling'. Default is 'Manual'", + "type": "string" + }, + { + "name": "--virtual-network", + "description": "Name of an existing virtual network to use. If not specified, a new one will be created", + "type": "string" + }, + { + "name": "--subnet", + "description": "Name of the subnet within the virtual network", + "type": "string" + }, + { + "name": "--zone", + "description": "Availability zone into which to provision the resource.", + "type": "string" + }, + { + "name": "--os-disk-size-gb", + "description": "OS disk size in GB. Defaults based on image requirements", + "type": "string" + }, + { + "name": "--os-disk-type", + "description": "OS disk type: 'Premium_LRS', 'StandardSSD_LRS', 'Standard_LRS'. Defaults based on VM size", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": true, + "localRequired": false + }, + { + "id": "e5f3d9b2-7a4c-4e8f-c9d8-2b3f4a5e6d7c", + "name": "delete", + "description": "Delete, remove, or destroy an Azure Virtual Machine Scale Set (VMSS) and all its VM instances.\r\nUse this to permanently remove a scale set that is no longer needed.\r\nEquivalent to 'az vmss delete'. This operation is irreversible and all VMSS instances will be lost.\r\nUse --force-deletion to force delete the VMSS even if it is in a running or failed state\r\n(passes forceDeletion=true to the Azure API).\r\nDo not use this to delete a single VM (use VM delete instead).", + "command": "compute vmss delete", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--vmss-name", + "description": "The name of the virtual machine scale set", + "type": "string", + "required": true + }, + { + "name": "--force-deletion", + "description": "Force delete the resource even if it is in a running or failed state (passes forceDeletion=true to the Azure API)", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": true, + "localRequired": false + }, + { + "id": "a5e2f7i9-8j6h-8e0i-2g1f-3h6i7j8e9f0g", + "name": "get", + "description": "List or get Azure Virtual Machine Scale Sets (VMSS) and their instances in a subscription or resource group. Returns scale set details including name, location, SKU, capacity, upgrade policy, and individual VM instance information.", + "command": "compute vmss get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--vmss-name", + "description": "The name of the virtual machine scale set", + "type": "string" + }, + { + "name": "--instance-id", + "description": "The instance ID of the virtual machine in the scale set", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "aaa0ad51-3c16-4ec2-99e2-b24f28a1e7d0", + "name": "update", + "description": "Update, modify, or reconfigure an existing Azure Virtual Machine Scale Set (VMSS).\r\nUse this to scale instance count, resize VMs, change upgrade policy, or update tags on a scale set.\r\nEquivalent to 'az vmss update'. Changes may require 'update-instances' to roll out to existing VMs.\r\nDo not use this to create a new VMSS (use VMSS create) or to update a single VM (use VM update).", + "command": "compute vmss update", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--vmss-name", + "description": "The name of the virtual machine scale set", + "type": "string", + "required": true + }, + { + "name": "--upgrade-policy", + "description": "Upgrade policy mode: 'Automatic', 'Manual', or 'Rolling'. Default is 'Manual'", + "type": "string" + }, + { + "name": "--capacity", + "description": "Number of VM instances (capacity) in the scale set", + "type": "string" + }, + { + "name": "--vm-size", + "description": "The VM size (e.g., Standard_D2s_v3, Standard_B2s). Defaults to Standard_D2s_v5 if not specified", + "type": "string" + }, + { + "name": "--overprovision", + "description": "Enable or disable overprovisioning. When enabled, Azure provisions more VMs than requested and deletes extra VMs after deployment", + "type": "string" + }, + { + "name": "--enable-auto-os-upgrade", + "description": "Enable automatic OS image upgrades. Requires health probes or Application Health extension", + "type": "string" + }, + { + "name": "--scale-in-policy", + "description": "Scale-in policy to determine which VMs to remove: 'Default', 'NewestVM', or 'OldestVM'", + "type": "string" + }, + { + "name": "--tags", + "description": "Space-separated tags in 'key=value' format. Use '' to clear existing tags.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "94fec47b-eb44-4d20-862f-24c284328956", + "name": "append", + "description": "Appends a tamper-proof entry to a Confidential Ledger instance and returns the transaction identifier.", + "command": "confidentialledger entries append", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--ledger", + "description": "The name of the Confidential Ledger instance (e.g., 'myledger').", + "type": "string", + "required": true + }, + { + "name": "--content", + "description": "The JSON or text payload to append as a tamper-proof ledger entry.", + "type": "string", + "required": true + }, + { + "name": "--collection-id", + "description": "Optional ledger collection identifier. If omitted the default collection is used.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "f1281e49-6392-455d-8caf-eb58428e8f5e", + "name": "get", + "description": "Retrieves the Confidential Ledger entry and its recorded contents for the specified transaction ID, optionally scoped to a collection.", + "command": "confidentialledger entries get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--ledger", + "description": "The name of the Confidential Ledger instance (e.g., 'myledger').", + "type": "string", + "required": true + }, + { + "name": "--transaction-id", + "description": "The Confidential Ledger transaction identifier (for example: '2.199').", + "type": "string", + "required": true + }, + { + "name": "--collection-id", + "description": "Optional ledger collection identifier. If omitted the default collection is used.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "d4e5f6a7-b8c9-0d1e-2f3a-4b5c6d7e8f90", + "name": "list", + "description": "List Azure Container Apps in a subscription. Optionally filter by resource group. Each container app result\r\nincludes: name, location, resourceGroup, managedEnvironmentId, provisioningState. If no container apps are\r\nfound the tool returns an empty list of results (consistent with other list commands).", + "command": "containerapps list", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "5c19a92a-4e0c-44dc-b1e7-5560a0d277b5", + "name": "query", + "description": "List items from a Cosmos DB container by specifying the account name, database name, and container name, optionally providing a custom SQL query to filter results.", + "command": "cosmos database container item query", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--account", + "description": "The name of the Cosmos DB account to query (e.g., my-cosmos-account).", + "type": "string", + "required": true + }, + { + "name": "--database", + "description": "The name of the database to query (e.g., my-database).", + "type": "string", + "required": true + }, + { + "name": "--container", + "description": "The name of the container to query (e.g., my-container).", + "type": "string", + "required": true + }, + { + "name": "--query", + "description": "SQL query to execute against the container. Uses Cosmos DB SQL syntax.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "name": "list", + "description": "List Cosmos DB accounts, databases, or containers. Returns all accounts in the subscription by default. Specify --account to list databases in that account, or --account and --database to list containers in a specific database.", + "command": "cosmos list", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--account", + "description": "The name of the Cosmos DB account (optional). When not specified, lists all accounts in the subscription. Specify this to list databases, or combine with --database to list containers.", + "type": "string" + }, + { + "name": "--database", + "description": "The name of the database (optional). Requires --account to be specified. When provided, lists containers within this database.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "bbd026b6-df96-4c52-8b72-13734984a600", + "name": "list", + "description": "List monitored resources in Datadog for a datadog resource taken as input from the user.\r\nThis command retrieves all monitored azure resources available.\r\nRequires `datadog-resource`, `resource-group` and `subscription`.\r\nResult is a list of monitored resources as a JSON array.", + "command": "datadog monitoredresources list", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--datadog-resource", + "description": "The name of the Datadog resource to use. This is the unique name you chose for your Datadog resource in Azure.", + "type": "string", + "required": true + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "ce9d648d-7c76-48a0-8cba-b9b57c6fd00b", + "name": "get", + "description": "Shows application logs for Azure Developer CLI (azd) deployed applications from their associated Log Analytics workspace. Supports Container Apps, App Services, and Function Apps deployed via 'azd up'. Requires local workspace access to read the azure.yaml project file. Automatically discovers the correct Log Analytics workspace and resources based on azd environment configuration. Returns console log entries for checking deployment status or troubleshooting post-deployment issues.", + "command": "deploy app logs get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--workspace-folder", + "description": "The full path of the workspace folder.", + "type": "string", + "required": true + }, + { + "name": "--azd-env-name", + "description": "The name of the environment created by azd (AZURE_ENV_NAME) during `azd init` or `azd up`. If not provided in context, try to find it in the .azure directory in the workspace or use 'azd env list'.", + "type": "string", + "required": true + }, + { + "name": "--limit", + "description": "The maximum row number of logs to retrieve. Use this to get a specific number of logs or to avoid the retrieved logs from reaching token limit. Default is 200.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": true + }, + { + "id": "34d7ec6a-e229-4775-8af3-85f81ae3e6d3", + "name": "generate", + "description": "Generates a Mermaid architecture diagram showing recommended Azure services and their connections for an application. Input is a structured AppTopology JSON built by scanning the workspace: detect services, frameworks, ports, Docker settings, and dependencies from connection strings and environment variables. For .NET Aspire applications, check aspireManifest.json. Returns a Mermaid diagram string. Supported compute types include AppService, FunctionApp, ContainerApp, StaticWebApp, and AKS. Supported dependency types include SQL, Cosmos, Redis, Storage, ServiceBus, KeyVault, and other supported Azure services.", + "command": "deploy architecture diagram generate", + "option": [ + { + "name": "--raw-mcp-tool-input", + "description": "{\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"workspaceFolder\": {\r\n \"type\": \"string\",\r\n \"description\": \"The full path of the workspace folder.\"\r\n },\r\n \"projectName\": {\r\n \"type\": \"string\",\r\n \"description\": \"The name of the project. This is used to generate the resource names.\"\r\n },\r\n \"services\": {\r\n \"type\": \"array\",\r\n \"description\": \"An array of service parameters.\",\r\n \"items\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"name\": {\r\n \"type\": \"string\",\r\n \"description\": \"The name of the service.\"\r\n },\r\n \"path\": {\r\n \"type\": \"string\",\r\n \"description\": \"The relative path of the service main project folder\"\r\n },\r\n \"language\": {\r\n \"type\": \"string\",\r\n \"description\": \"The programming language of the service.\"\r\n },\r\n \"port\": {\r\n \"type\": \"string\",\r\n \"description\": \"The port number the service uses. Get this from Dockerfile for container apps. If not available, default to '80'.\"\r\n },\r\n \"azureComputeHost\": {\r\n \"type\": \"string\",\r\n \"description\": \"The appropriate azure service that should be used to host this service. Use containerapp if the service is containerized and has a Dockerfile.\",\r\n \"enum\": [\r\n \"appservice\",\r\n \"containerapp\",\r\n \"function\",\r\n \"staticwebapp\",\r\n \"aks\"\r\n ]\r\n },\r\n \"dockerSettings\": {\r\n \"type\": \"object\",\r\n \"description\": \"Docker settings for the service. This is only needed if the service's azureComputeHost is containerapp.\",\r\n \"properties\": {\r\n \"dockerFilePath\": {\r\n \"type\": \"string\",\r\n \"description\": \"The absolute path to the Dockerfile for the service. If the service's azureComputeHost is not containerapp, leave blank.\"\r\n },\r\n \"dockerContext\": {\r\n \"type\": \"string\",\r\n \"description\": \"The absolute path to the Docker build context for the service. If the service's azureComputeHost is not containerapp, leave blank.\"\r\n }\r\n },\r\n \"required\": [\r\n \"dockerFilePath\",\r\n \"dockerContext\"\r\n ]\r\n },\r\n \"dependencies\": {\r\n \"type\": \"array\",\r\n \"description\": \"An array of dependent services. A compute service may have a dependency on another compute service.\",\r\n \"items\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"name\": {\r\n \"type\": \"string\",\r\n \"description\": \"The name of the dependent service. Can be arbitrary, or must reference another service in the services array if referencing appservice, containerapp, staticwebapps, aks, or functionapp.\"\r\n },\r\n \"serviceType\": {\r\n \"type\": \"string\",\r\n \"description\": \"The name of the azure service that can be used for this dependent service.\",\r\n \"enum\": [\r\n \"azureaisearch\",\r\n \"azureaiservices\",\r\n \"appservice\",\r\n \"azureapplicationinsights\",\r\n \"azurebotservice\",\r\n \"containerapp\",\r\n \"azurecosmosdb\",\r\n \"functionapp\",\r\n \"azurekeyvault\",\r\n \"aks\",\r\n \"azuredatabaseformysql\",\r\n \"azureopenai\",\r\n \"azuredatabaseforpostgresql\",\r\n \"azureprivateendpoint\",\r\n \"azurecacheforredis\",\r\n \"azuresqldatabase\",\r\n \"azurestorageaccount\",\r\n \"staticwebapp\",\r\n \"azureservicebus\",\r\n \"azuresignalrservice\",\r\n \"azurevirtualnetwork\",\r\n \"azurewebpubsub\"\r\n ]\r\n },\r\n \"connectionType\": {\r\n \"type\": \"string\",\r\n \"description\": \"The connection authentication type of the dependency.\",\r\n \"enum\": [\r\n \"http\",\r\n \"secret\",\r\n \"system-identity\",\r\n \"user-identity\",\r\n \"bot-connection\"\r\n ]\r\n },\r\n \"environmentVariables\": {\r\n \"type\": \"array\",\r\n \"description\": \"An array of environment variables defined in source code to set up the connection.\",\r\n \"items\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"required\": [\r\n \"name\",\r\n \"serviceType\",\r\n \"connectionType\",\r\n \"environmentVariables\"\r\n ]\r\n }\r\n },\r\n \"settings\": {\r\n \"type\": \"array\",\r\n \"description\": \"An array of environment variables needed to run this service. Please search the entire codebase to find environment variables.\",\r\n \"items\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"required\": [\r\n \"name\",\r\n \"path\",\r\n \"azureComputeHost\",\r\n \"language\",\r\n \"port\",\r\n \"dependencies\",\r\n \"settings\"\r\n ]\r\n }\r\n }\r\n },\r\n \"required\": [\r\n \"workspaceFolder\",\r\n \"services\"\r\n ]\r\n}", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "942b5c00-01dd-4ca0-9596-4cf650ff7934", + "name": "get", + "description": "Retrieves curated IaC rules and best practices for creating Bicep or Terraform files compatible with Azure Developer CLI (azd) or Azure CLI deployments. Covers Azure resource configuration standards, naming requirements, and deployment tool constraints that differ from generic IaC guidance. Returns a formatted rules document. Specify deployment tool (AzCli or AZD), IaC type (bicep or terraform), and target resource types.", + "command": "deploy iac rules get", + "option": [ + { + "name": "--deployment-tool", + "description": "The deployment tool to use. Valid values: AzCli, AZD", + "type": "string", + "required": true + }, + { + "name": "--iac-type", + "description": "The type of IaC file used for deployment. Valid values: bicep, terraform. Leave empty ONLY if user wants to use AzCli command script and no IaC file.", + "type": "string" + }, + { + "name": "--resource-types", + "description": "List of Azure resource types to generate rules for. Get the value from context and use the same resources defined in plan. Valid value: 'appservice','containerapp','function','aks','azuredatabaseforpostgresql','azuredatabaseformysql','azuresqldatabase','azurecosmosdb','azurestorageaccount','azurekeyvault'", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "8aec84f9-e884-4119-a386-53b7cfbe9e00", + "name": "get", + "description": "Provides the recommended Azure-specific rules for generating CI/CD pipeline files (GitHub Actions or Azure DevOps) for deploying to Azure. Call this tool before writing pipeline/workflow YAML when the user asks to set up CI/CD pipelines or workflows. It returns current authentication patterns (e.g., OIDC with managed identity), multi-environment configuration, and deployment constraints that vary by platform and are not covered by general best practices. Determine the pipeline platform (github-actions or azure-devops) and deployment scope (deploy-only or provision-and-deploy) from project context before calling. Handles both azd-based and Azure CLI-based deployments.", + "command": "deploy pipeline guidance get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--is-azd-project", + "description": "Whether to use azd tool in the deployment pipeline. Set to true ONLY if azure.yaml is provided or the context suggests AZD tools.", + "type": "string" + }, + { + "name": "--pipeline-platform", + "description": "The platform for the deployment pipeline. Valid values: github-actions, azure-devops.", + "type": "string" + }, + { + "name": "--deploy-option", + "description": "Valid values: deploy-only, provision-and-deploy. Default to deploy-only. Set to 'provision-and-deploy' ONLY WHEN user explicitly wants infra provisioning pipeline using local provisioning scripts.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "92ca95b2-cde6-407c-ac67-9743db40dfc4", + "name": "get", + "description": "Retrieves an Azure-specific deployment plan template for deploying an application to Azure using deployment options provided by the caller. Use this tool when the user wants a formatted, step-by-step deployment plan, including suggested Azure resources, infrastructure as code (IaC) templates, and deployment instructions, for a target Azure hosting service such as Container Apps, App Service, or AKS and a chosen provisioning tool such as Azure Developer CLI (azd) or Azure CLI with Bicep or Terraform. Before calling, determine the services, frameworks, and dependencies to deploy, select the appropriate Azure hosting service, provisioning tool, IaC type, and deployment option, and then pass those chosen values into this tool to generate the deployment plan.", + "command": "deploy plan get", + "option": [ + { + "name": "--workspace-folder", + "description": "The full path of the workspace folder.", + "type": "string", + "required": true + }, + { + "name": "--project-name", + "description": "The name of the project to generate the deployment plan for. If not provided, will be inferred from the workspace.", + "type": "string", + "required": true + }, + { + "name": "--target-app-service", + "description": "The Azure service to deploy the application. Valid values: ContainerApp, WebApp, FunctionApp, AKS. If not specified, defaults to ContainerApp. Recommend one based on the user application when possible.", + "type": "string" + }, + { + "name": "--provisioning-tool", + "description": "The tool to use for provisioning Azure resources. Valid values: AzCli, AZD.", + "type": "string" + }, + { + "name": "--iac-options", + "description": "The Infrastructure as Code option. Valid values: bicep, terraform. Leave empty if user wants to use azcli command script.", + "type": "string" + }, + { + "name": "--source-type", + "description": "The source of the plan to generate from. Valid values: 'from-project', 'from-azure', 'from-context'. If user doesn't have existing resources, set 'from-project' and generating deploy plan based on the project files in the workspace. If user mentions Azure resources exist, set 'from-azure' and ask for existing Azure resources details to generate plan. If the user have no existing resource but declare the expected Azure resources, use 'from-context' and the deploy plan should be based on the user's input.", + "type": "string" + }, + { + "name": "--deploy-option", + "description": "Set the value based on project and user's input. Valid values: 'provision-and-deploy', 'deploy-only', 'provision-only'. Use 'deploy-only' if user mentions they want to deploy to existing Azure resources or Iac files already exist in project, get Azure resource group from project files or from user. Use 'provision-only' if user only wants to provision Azure resource. Use 'provision-and-deploy' if user wants to deploy application and doesn't have existing infrastructure resources, or are starting from an empty resource group.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "9c42f93b-2d4e-4fb3-b98b-2ef119b46c94", + "name": "list", + "description": "Lists Azure Device Registry namespaces in a subscription or resource group. Returns namespace details including\r\nname, location, provisioning state, and UUID. If a resource group is specified, only namespaces within that\r\nresource group are returned. Otherwise, all namespaces in the subscription are listed.", + "command": "deviceregistry namespace list", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "d5f216a4-c45e-4c29-a414-d3feaa5929e2", + "name": "publish", + "description": "Publish custom events to Event Grid topics for event-driven architectures. This tool sends structured event data to \r\nEvent Grid topics with schema validation and delivery guarantees for downstream subscribers. Returns publish operation \r\nstatus. Requires topic, data, and optional schema.", + "command": "eventgrid events publish", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--topic", + "description": "The name of the Event Grid topic.", + "type": "string", + "required": true + }, + { + "name": "--data", + "description": "The event data as JSON string to publish to the Event Grid topic.", + "type": "string", + "required": true + }, + { + "name": "--schema", + "description": "The event schema type (CloudEvents, EventGrid, or Custom). Defaults to EventGrid.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "716a33e5-755c-4168-87ed-8a4651476c6e", + "name": "list", + "description": "Show all available Event Grid subscriptions with optional topic filtering. This tool displays active event subscriptions including webhook endpoints, event filters, and delivery retry policies. Use this when you need to show, list, or get Event Grid subscriptions for topics. Requires either topic name OR subscription. If only topic is provided, searches all accessible subscriptions for a topic with that name. Resource group and location filters can be applied, but only when used with a subscription or topic.", + "command": "eventgrid subscription list", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--topic", + "description": "The name of the Event Grid topic.", + "type": "string" + }, + { + "name": "--location", + "description": "The Azure region to filter resources by (e.g., 'eastus', 'westus2').", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "42390294-2856-4980-a057-095c91355650", + "name": "list", + "description": "List or show all Event Grid topics in a subscription, optionally filtered by resource group, returning endpoints, access keys, provisioning state, and subscription details for event publishing and management. A subscription or topic name is required.", + "command": "eventgrid topic list", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "08980fd4-c7c2-41cd-a3c2-eda5303bd458", + "name": "delete", + "description": "Delete a Consumer Group. This tool will delete a pre-existing Consumer Group from the specified \r\nEvent Hub. This tool will remove existing configurations, and is considered to be destructive.\r\n\r\nThe tool requires specifying the resource group, Namespace name, Event Hub name, and Consumer\r\nGroup name to identify the Consumer Group to delete.", + "command": "eventhubs eventhub consumergroup delete", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--namespace", + "description": "The name of the Event Hubs namespace to retrieve. Must be used with --resource-group option.", + "type": "string", + "required": true + }, + { + "name": "--eventhub", + "description": "The name of the Event Hub within the namespace.", + "type": "string", + "required": true + }, + { + "name": "--consumer-group", + "description": "The name of the consumer group within the Event Hub.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "604fda48-2438-419d-a819-5f9d2f3b21f8", + "name": "get", + "description": "Get consumer groups from Azure Event Hub. This command can either:\r\n\r\n1) List all consumer groups in an Event Hub\r\n2) Get a single consumer group by name\r\n\r\nThe EventHub, Namespace, and ResourceGroup parameters are required (for both get and list)\r\nThe Consumer Group parameter is only required for getting a specific consumer-group\r\nWhen retrieving a single consumer group and when listing all available consumer groups, return all available metadata on the consumer group.", + "command": "eventhubs eventhub consumergroup get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--namespace", + "description": "The name of the Event Hubs namespace to retrieve. Must be used with --resource-group option.", + "type": "string", + "required": true + }, + { + "name": "--eventhub", + "description": "The name of the Event Hub within the namespace.", + "type": "string", + "required": true + }, + { + "name": "--consumer-group", + "description": "The name of the consumer group within the Event Hub.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "859871ba-b8dc-439c-a607-11b0d89f5112", + "name": "update", + "description": "Create or Update a Consumer Group. This tool will either create a Consumer Group resource \r\nor update a pre-existing Consumer Group resource within the specified Event Hub, depending \r\non whether or not the specified Consumer Group already exists. This tool may modify existing \r\nconfigurations, and is considered to be destructive. \r\n\r\nThe tool requires specifying the resource group, namespace name, event hub name, and consumer \r\ngroup name. Optionally, you can provide user metadata for the consumer group.", + "command": "eventhubs eventhub consumergroup update", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--namespace", + "description": "The name of the Event Hubs namespace to retrieve. Must be used with --resource-group option.", + "type": "string", + "required": true + }, + { + "name": "--eventhub", + "description": "The name of the Event Hub within the namespace.", + "type": "string", + "required": true + }, + { + "name": "--consumer-group", + "description": "The name of the consumer group within the Event Hub.", + "type": "string", + "required": true + }, + { + "name": "--user-metadata", + "description": "User metadata for the consumer group.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "108ffeab-8d37-4c29-98c9-aa99eb8f61c7", + "name": "delete", + "description": "Delete an Event Hub from an Azure Event Hubs namespace. This operation permanently removes\r\nthe specified Event Hub and all its data. This is a destructive operation.\r\n\r\nThe operation is idempotent - if the Event Hub doesn't exist, the command reports success\r\nwith Deleted = false. If the Event Hub is successfully deleted, Deleted = true is returned.\r\nWarning: This operation cannot be undone. All messages and consumer groups in the Event Hub\r\nwill be permanently deleted.", + "command": "eventhubs eventhub delete", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--namespace", + "description": "The name of the Event Hubs namespace to retrieve. Must be used with --resource-group option.", + "type": "string", + "required": true + }, + { + "name": "--eventhub", + "description": "The name of the Event Hub within the namespace.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "ab774777-76ac-4e24-ba19-da67254441a9", + "name": "get", + "description": "Get Event Hubs from Azure namespace. This command can either:\r\n1. List all Event Hubs in a namespace\r\n2. Get a single Event Hub by name\r\n\r\nWhen retrieving a single Event Hub or listing multiple Event Hubs, detailed information including\r\npartition count, settings, and metadata is returned for all Event Hubs.", + "command": "eventhubs eventhub get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--namespace", + "description": "The name of the Event Hubs namespace to retrieve. Must be used with --resource-group option.", + "type": "string", + "required": true + }, + { + "name": "--eventhub", + "description": "The name of the Event Hub within the namespace.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "1df73670-9de5-4d4b-bdd8-9d2d9e16f732", + "name": "update", + "description": "Create or update an Event Hub within an Azure Event Hubs namespace. This command can either:\r\n1. Create a new Event Hub if it doesn't exist\r\n2. Update an existing Event Hub's configuration\r\n\r\nYou can configure:\r\n- Partition count (number of partitions for parallel processing)\r\n- Message retention time (how long messages are retained in hours)\r\n\r\nNote: Some properties like partition count cannot be changed after creation.\r\nThis is a potentially long-running operation that waits for completion.", + "command": "eventhubs eventhub update", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--namespace", + "description": "The name of the Event Hubs namespace to retrieve. Must be used with --resource-group option.", + "type": "string", + "required": true + }, + { + "name": "--eventhub", + "description": "The name of the Event Hub within the namespace.", + "type": "string", + "required": true + }, + { + "name": "--partition-count", + "description": "The number of partitions for the event hub. Must be between 1 and 32 (or higher based on namespace tier).", + "type": "string" + }, + { + "name": "--message-retention-in-hours", + "description": "The message retention time in hours. Minimum is 1 hour, maximum depends on the namespace tier.", + "type": "string" + }, + { + "name": "--status", + "description": "The status of the event hub (Active, Disabled, etc.). Note: Status may be read-only in some operations.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "187ffc25-1e32-4e39-a7d4-94859852ac50", + "name": "delete", + "description": "Delete Event Hubs namespace. This tool will delete a pre-existing Namespace from the \r\nspecified resource group. This tool will remove existing configurations, and is \r\nconsidered to be destructive.\r\n\r\nWARNING: This operation is irreversible. All Event Hubs, Consumer Groups, and\r\nconfigurations within the namespace will be permanently deleted.\r\n\r\nThe namespace must exist in the specified resource group. If the namespace is not found,\r\nan error will be returned.", + "command": "eventhubs namespace delete", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--namespace", + "description": "The name of the Event Hubs namespace to retrieve. Must be used with --resource-group option.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "71ec6c5b-b6e4-4c64-b31b-2d61dfad3b5c", + "name": "get", + "description": "Get Event Hubs namespaces from Azure. This command supports three modes of operation:\r\n1. List all Event Hubs namespaces in a subscription \r\n2. List all Event Hubs namespaces in a specific resource group \r\n3. Get a single namespace by name \r\n\r\nWhen retrieving a single namespace, detailed information including SKU, settings, and metadata \r\nis returned. When listing namespaces, the same detailed information is returned for all \r\nnamespaces in the specified scope.\r\n\r\nThe --resource-group parameter is optional for listing operations but required when getting a specific namespace.", + "command": "eventhubs namespace get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--namespace", + "description": "The name of the Event Hubs namespace to retrieve. Must be used with --resource-group option.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "225eb25d-52c5-4c3a-9eb4-066cf2b9da84", + "name": "update", + "description": "Create or Update a Namespace. This tool will either create a Namespace resource or \r\nupdate a pre-existing Namespace resource within the specified resource group, depending on \r\nwhether or not the specified Namespace already exists. This tool may modify existing \r\nconfigurations, and is considered to be destructive. This is a potentially long-running operation.\r\n\r\nWhen updating an existing namespace, you only need to provide the properties you want to change.\r\nUnspecified properties will retain their existing values. At least one update property must be provided.\r\n\r\nCommon update scenarios:\r\n- Scale up/down by changing SKU tier or capacity\r\n- Enable/disable auto-inflate and set maximum throughput units\r\n- Enable/disable Kafka support\r\n- Modify tags for resource management\r\n- Enable/disable zone redundancy (Premium SKU only)", + "command": "eventhubs namespace update", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--namespace", + "description": "The name of the Event Hubs namespace to retrieve. Must be used with --resource-group option.", + "type": "string", + "required": true + }, + { + "name": "--location", + "description": "The Azure region where the namespace is located (e.g., 'eastus', 'westus2').", + "type": "string" + }, + { + "name": "--sku-name", + "description": "The SKU name for the namespace. Valid values: 'Basic', 'Standard', 'Premium'.", + "type": "string" + }, + { + "name": "--sku-tier", + "description": "The SKU tier for the namespace. Valid values: 'Basic', 'Standard', 'Premium'.", + "type": "string" + }, + { + "name": "--sku-capacity", + "description": "The SKU capacity (throughput units) for the namespace. Valid range depends on the SKU.", + "type": "string" + }, + { + "name": "--is-auto-inflate-enabled", + "description": "Enable or disable auto-inflate for the namespace.", + "type": "string" + }, + { + "name": "--maximum-throughput-units", + "description": "The maximum throughput units when auto-inflate is enabled.", + "type": "string" + }, + { + "name": "--kafka-enabled", + "description": "Enable or disable Kafka for the namespace.", + "type": "string" + }, + { + "name": "--zone-redundant", + "description": "Enable or disable zone redundancy for the namespace.", + "type": "string" + }, + { + "name": "--tags", + "description": "Tags for the namespace in JSON format (e.g., '{\"key1\":\"value1\",\"key2\":\"value2\"}').", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "e7ef18a3-2730-4300-bad3-dc766f47dd2a", + "name": "azqr", + "description": "Runs Azure Quick Review CLI (azqr) commands to generate compliance and security reports for Azure resources, identifying non-compliant configurations or areas for improvement. Requires a subscription id and optionally a resource group name. Returns the generated report file path. Note: azqr is different from Azure CLI (az).", + "command": "extension azqr", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "3de4ef37-90bf-41f1-8385-5e870c3ae911", + "name": "generate", + "description": "Generate Azure CLI (az) commands used to accomplish a goal described by the user. This tool incorporates CLI knowledge beyond what you know. Use this tool when the user asks for Azure CLI commands or wants to use the Azure CLI to accomplish something.", + "command": "extension cli generate", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--intent", + "description": "The user intent of the task to be solved by using the CLI tool. This user intent will be used to generate the appropriate CLI command to accomplish the desirable goal.", + "type": "string", + "required": true + }, + { + "name": "--cli-type", + "description": "The type of CLI tool to use. Supported values are 'az' for Azure CLI.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "464626d0-b9be-4a3b-9f29-858637ab8c10", + "name": "install", + "description": "Provide installation instructions for Azure CLI (az), Azure Developer CLI (azd), and Azure Functions Core Tools CLI (func). This tool incorporates CLI knowledge beyond what you know. Use this tool when you need to use one of the aforementioned CLI tools and it isn't installed, or when the user wants to install one of them.", + "command": "extension cli install", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--cli-type", + "description": "The type of CLI tool to use. Supported values are 'az' for Azure CLI, 'azd' for Azure Developer CLI, and 'func' for Azure Functions Core Tools CLI.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": true + }, + { + "id": "a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d", + "name": "check-name-availability", + "description": "Check if a file share name is available", + "command": "fileshares fileshare check-name-availability", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--name", + "description": "The name of the file share", + "type": "string", + "required": true + }, + { + "name": "--location", + "description": "The Azure region/location name (e.g., EastUS, WestEurope)", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "b3c4d5e6-f7a8-4b9c-0d1e-2f3a4b5c6d7e", + "name": "create", + "description": "Create a new Azure managed file share resource in a resource group. This creates a high-performance, fully managed file share accessible via NFS protocol.", + "command": "fileshares fileshare create", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--name", + "description": "The name of the file share", + "type": "string", + "required": true + }, + { + "name": "--location", + "description": "The Azure region/location name (e.g., EastUS, WestEurope)", + "type": "string", + "required": true + }, + { + "name": "--mount-name", + "description": "The mount name of the file share as seen by end users", + "type": "string" + }, + { + "name": "--media-tier", + "description": "The storage media tier (e.g., SSD)", + "type": "string" + }, + { + "name": "--redundancy", + "description": "The redundancy level (e.g., Local, Zone)", + "type": "string" + }, + { + "name": "--protocol", + "description": "The file sharing protocol (e.g., NFS)", + "type": "string" + }, + { + "name": "--provisioned-storage-in-gib", + "description": "The desired provisioned storage size of the share in GiB", + "type": "string" + }, + { + "name": "--provisioned-io-per-sec", + "description": "The provisioned IO operations per second", + "type": "string" + }, + { + "name": "--provisioned-throughput-mib-per-sec", + "description": "The provisioned throughput in MiB per second", + "type": "string" + }, + { + "name": "--public-network-access", + "description": "Public network access setting (Enabled or Disabled)", + "type": "string" + }, + { + "name": "--nfs-root-squash", + "description": "NFS root squash setting (NoRootSquash, RootSquash, or AllSquash)", + "type": "string" + }, + { + "name": "--allowed-subnets", + "description": "Comma-separated list of subnet IDs allowed to access the file share", + "type": "string" + }, + { + "name": "--tags", + "description": "Resource tags as JSON (e.g., {\"key1\":\"value1\",\"key2\":\"value2\"})", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "e9f0a1b2-c3d4-4e5f-6a7b-8c9d0e1f2a3b", + "name": "delete", + "description": "Delete a file share", + "command": "fileshares fileshare delete", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--name", + "description": "The name of the file share", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "c5d6e7f8-a9b0-4c1d-2e3f-4a5b6c7d8e9f", + "name": "get", + "description": "Get details of a specific file share or list all file shares. If --name is provided, returns a specific file share; otherwise, lists all file shares in the subscription or resource group.", + "command": "fileshares fileshare get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--name", + "description": "The name of the file share", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "a8e9f7d6-c5b4-4a3d-9e2f-1c0b8a7d6e5f", + "name": "get", + "description": "Get details of a specific private endpoint connection or list all private endpoint connections for a file share. If --connection-name is provided, returns a specific connection; otherwise, lists all connections.", + "command": "fileshares fileshare peconnection get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--file-share-name", + "description": "The name of the file share", + "type": "string", + "required": true + }, + { + "name": "--connection-name", + "description": "The name of the private endpoint connection", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "c6d7e8f9-a0b1-4c2d-3e4f-5a6b7c8d9e0f", + "name": "update", + "description": "Update the state of a private endpoint connection for a file share. Use this to approve or reject private endpoint connection requests.", + "command": "fileshares fileshare peconnection update", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--file-share-name", + "description": "The name of the file share", + "type": "string", + "required": true + }, + { + "name": "--connection-name", + "description": "The name of the private endpoint connection", + "type": "string", + "required": true + }, + { + "name": "--status", + "description": "The connection status (Approved, Rejected, or Pending)", + "type": "string", + "required": true + }, + { + "name": "--description", + "description": "Description for the connection state change", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "f1a2b3c4-d5e6-4f7a-8b9c-0d1e2f3a4b5c", + "name": "create", + "description": "Create a snapshot of an Azure managed file share. Snapshots are read-only point-in-time copies used for backup and recovery.", + "command": "fileshares fileshare snapshot create", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--file-share-name", + "description": "The name of the parent file share", + "type": "string", + "required": true + }, + { + "name": "--snapshot-name", + "description": "The name of the snapshot", + "type": "string", + "required": true + }, + { + "name": "--metadata", + "description": "Custom metadata for the snapshot as a JSON object (e.g., {\"key1\":\"value1\",\"key2\":\"value2\"})", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "c7d8e9f0-a1b2-4c3d-4e5f-6a7b8c9d0e1f", + "name": "delete", + "description": "Delete a file share snapshot permanently. This operation cannot be undone.", + "command": "fileshares fileshare snapshot delete", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--file-share-name", + "description": "The name of the parent file share", + "type": "string", + "required": true + }, + { + "name": "--snapshot-name", + "description": "The name of the snapshot", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "a3b4c5d6-e7f8-4a9b-0c1d-2e3f4a5b6c7d", + "name": "get", + "description": "Get details of a specific file share snapshot or list all snapshots. If --snapshot-name is provided, returns a specific snapshot; otherwise, lists all snapshots for the file share.", + "command": "fileshares fileshare snapshot get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--file-share-name", + "description": "The name of the parent file share", + "type": "string", + "required": true + }, + { + "name": "--snapshot-name", + "description": "The name of the snapshot", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "b5c6d7e8-f9a0-4b1c-2d3e-4f5a6b7c8d9e", + "name": "update", + "description": "Update properties and metadata of an Azure managed file share snapshot, such as tags or retention policies.", + "command": "fileshares fileshare snapshot update", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--file-share-name", + "description": "The name of the parent file share", + "type": "string", + "required": true + }, + { + "name": "--snapshot-name", + "description": "The name of the snapshot", + "type": "string", + "required": true + }, + { + "name": "--metadata", + "description": "Custom metadata for the snapshot as a JSON object (e.g., {\"key1\":\"value1\",\"key2\":\"value2\"})", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "d7e8f9a0-b1c2-4d3e-4f5a-6b7c8d9e0f1a", + "name": "update", + "description": "Update an existing Azure managed file share resource. Allows updating mutable properties like provisioned storage, IOPS, throughput, and network access settings.", + "command": "fileshares fileshare update", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--name", + "description": "The name of the file share", + "type": "string", + "required": true + }, + { + "name": "--provisioned-storage-in-gib", + "description": "The desired provisioned storage size of the share in GiB", + "type": "string" + }, + { + "name": "--provisioned-io-per-sec", + "description": "The provisioned IO operations per second", + "type": "string" + }, + { + "name": "--provisioned-throughput-mib-per-sec", + "description": "The provisioned throughput in MiB per second", + "type": "string" + }, + { + "name": "--public-network-access", + "description": "Public network access setting (Enabled or Disabled)", + "type": "string" + }, + { + "name": "--nfs-root-squash", + "description": "NFS root squash setting (NoRootSquash, RootSquash, or AllSquash)", + "type": "string" + }, + { + "name": "--allowed-subnets", + "description": "Comma-separated list of subnet IDs allowed to access the file share", + "type": "string" + }, + { + "name": "--tags", + "description": "Resource tags as JSON (e.g., {\"key1\":\"value1\",\"key2\":\"value2\"})", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "a9e1f0b2-c3d4-4e5f-a6b7-c8d9e0f1a2b3", + "name": "limits", + "description": "Get file share limits for a subscription and location", + "command": "fileshares limits", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--location", + "description": "The Azure region/location name (e.g., eastus, westeurope)", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "3c5e1fb2-3a8d-4f8e-8b0a-1c2d3e4f5a6b", + "name": "rec", + "description": "Get provisioning parameter recommendations for a file share based on desired storage size", + "command": "fileshares rec", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--location", + "description": "The Azure region/location name (e.g., eastus, westeurope)", + "type": "string", + "required": true + }, + { + "name": "--provisioned-storage-in-gib", + "description": "The desired provisioned storage size of the share in GiB", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "93d14ba8-5e75-4190-93dd-f47e932b849b", + "name": "usage", + "description": "Get file share usage data for a subscription and location", + "command": "fileshares usage", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--location", + "description": "The Azure region/location name (e.g., eastus, westeurope)", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "b2c3d4e5-2345-6789-bcde-f01234567890", + "name": "list", + "description": "Retrieves a list of knowledge indexes from Microsoft Foundry.\r\n\r\nThis function is used when a user requests information about the available knowledge indexes in Microsoft Foundry. It provides an overview of the knowledge bases and search indexes that are currently deployed and available for use with AI agents and applications.\r\n\r\nRequires the project endpoint URL (format: https://.services.ai.azure.com/api/projects/).\r\n\r\nUsage:\r\n Use this function when a user wants to explore the available knowledge indexes in Microsoft Foundry. This can help users understand what knowledge bases are currently operational and how they can be utilized for retrieval-augmented generation (RAG) scenarios.\r\n\r\nNotes:\r\n - The indexes listed are knowledge indexes specifically created within Microsoft Foundry projects.\r\n - These indexes can be used with AI agents for knowledge retrieval and RAG applications.\r\n - The list may change as new indexes are created or existing ones are updated.", + "command": "foundryextensions knowledge index list", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--endpoint", + "description": "The endpoint URL for the Microsoft Foundry project/service. The endpoint follows this pattern https://.services.ai.azure.com/api/projects/.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "c3d4e5f6-3456-789a-cdef-012345678901", + "name": "schema", + "description": "Retrieves the detailed schema configuration of a specific knowledge index from Microsoft Foundry.\r\n\r\nThis function provides comprehensive information about the structure and configuration of a knowledge index, including field definitions, data types, searchable attributes, and other schema properties. The schema information is essential for understanding how the index is structured and how data is indexed and searchable.\r\n\r\nUsage:\r\n Use this function when you need to examine the detailed configuration of a specific knowledge index. This is helpful for troubleshooting search issues, understanding index capabilities, planning data mapping, or when integrating with the index programmatically.\r\n\r\nNotes:\r\n - Returns the index schema.", + "command": "foundryextensions knowledge index schema", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--endpoint", + "description": "The endpoint URL for the Microsoft Foundry project/service. The endpoint follows this pattern https://.services.ai.azure.com/api/projects/.", + "type": "string", + "required": true + }, + { + "name": "--index", + "description": "The name of the knowledge index.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "d4e5f6a7-4567-89ab-def0-123456789012", + "name": "chat-completions-create", + "description": "Create chat completions using Azure OpenAI in Microsoft Foundry. Send messages to Azure OpenAI chat models deployed\r\nin your Microsoft Foundry resource and receive AI-generated conversational responses. Supports multi-turn conversations\r\nwith message history, system instructions, and response customization. Use this when you need to create chat\r\ncompletions, have AI conversations, get conversational responses, or build interactive dialogues with Azure OpenAI.\r\nRequires resource-name, deployment-name, and message-array.", + "command": "foundryextensions openai chat-completions-create", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--resource-name", + "description": "The name of the Azure OpenAI resource.", + "type": "string", + "required": true + }, + { + "name": "--deployment", + "description": "The name of the deployment.", + "type": "string", + "required": true + }, + { + "name": "--message-array", + "description": "Array of messages in the conversation (JSON format). Each message should have 'role' and 'content' properties.", + "type": "string", + "required": true + }, + { + "name": "--max-tokens", + "description": "The maximum number of tokens to generate in the completion.", + "type": "string" + }, + { + "name": "--temperature", + "description": "Controls randomness in the output. Lower values make it more deterministic.", + "type": "string" + }, + { + "name": "--top-p", + "description": "Controls diversity via nucleus sampling (0.0 to 1.0). Default is 1.0.", + "type": "string" + }, + { + "name": "--frequency-penalty", + "description": "Penalizes new tokens based on their frequency (-2.0 to 2.0). Default is 0.", + "type": "string" + }, + { + "name": "--presence-penalty", + "description": "Penalizes new tokens based on presence (-2.0 to 2.0). Default is 0.", + "type": "string" + }, + { + "name": "--stop", + "description": "Up to 4 sequences where the API will stop generating further tokens.", + "type": "string" + }, + { + "name": "--stream", + "description": "Whether to stream back partial progress. Default is false.", + "type": "string" + }, + { + "name": "--seed", + "description": "If specified, the system will make a best effort to sample deterministically.", + "type": "string" + }, + { + "name": "--user", + "description": "Optional user identifier for tracking and abuse monitoring.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": false, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "e5f6a7b8-5678-9abc-ef01-234567890123", + "name": "create-completion", + "description": "Create text completions using Azure OpenAI in Microsoft Foundry. Send a prompt or question to Azure OpenAI models\r\ndeployed in your Microsoft Foundry resource and receive generated text answers. Use this when you need to create\r\ncompletions, get AI-generated content, generate answers to questions, or produce text completions from Azure\r\nOpenAI based on any input prompt. Supports customization with temperature and max tokens.\r\nRequires resource-name, deployment-name, and prompt-text.", + "command": "foundryextensions openai create-completion", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--resource-name", + "description": "The name of the Azure OpenAI resource.", + "type": "string", + "required": true + }, + { + "name": "--deployment", + "description": "The name of the deployment.", + "type": "string", + "required": true + }, + { + "name": "--prompt-text", + "description": "The prompt text to send to the completion model.", + "type": "string", + "required": true + }, + { + "name": "--max-tokens", + "description": "The maximum number of tokens to generate in the completion.", + "type": "string" + }, + { + "name": "--temperature", + "description": "Controls randomness in the output. Lower values make it more deterministic.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": false, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "f6a7b8c9-6789-abcd-f012-345678901234", + "name": "embeddings-create", + "description": "Create embeddings using Azure OpenAI in Microsoft Foundry. Generate vector embeddings from text using Azure OpenAI\r\ndeployments in your Microsoft Foundry resource for semantic search, similarity comparisons, clustering, or machine\r\nlearning. Use this when you need to create foundry embeddings, generate vectors from text, or convert text to\r\nnumerical representations using Azure OpenAI. Requires resource-name, deployment-name, and input-text.", + "command": "foundryextensions openai embeddings-create", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--resource-name", + "description": "The name of the Azure OpenAI resource.", + "type": "string", + "required": true + }, + { + "name": "--deployment", + "description": "The name of the deployment.", + "type": "string", + "required": true + }, + { + "name": "--input-text", + "description": "The input text to generate embeddings for.", + "type": "string", + "required": true + }, + { + "name": "--user", + "description": "Optional user identifier for tracking and abuse monitoring.", + "type": "string" + }, + { + "name": "--encoding-format", + "description": "The format to return embeddings in (float or base64).", + "type": "string" + }, + { + "name": "--dimensions", + "description": "The number of dimensions for the embedding output. Only supported in some models.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": false, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "a7b8c9d0-7890-bcde-0123-456789012345", + "name": "models-list", + "description": "List Azure OpenAI model deployments in a Microsoft Foundry resource, including deployment names, model names,\r\nversions, capabilities, and deployment status. Use this to show model deployments, check which OpenAI models\r\nare deployed, or see available models in a specific Foundry resource. Requires resource-name and resource-group.\r\nFor Foundry resource-level details like endpoint URL, location, or SKU, use the resource get command instead.", + "command": "foundryextensions openai models-list", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--resource-name", + "description": "The name of the Azure OpenAI resource.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "b8c9d0e1-8901-cdef-1234-567890123456", + "name": "get", + "description": "Gets detailed information about Microsoft Foundry (Cognitive Services) resources, including endpoint URL,\r\nlocation, SKU, and provisioning state. If a specific resource name is provided, returns details for that\r\nresource only. If no resource name is provided, lists all Microsoft Foundry resources in the subscription\r\nor resource group. Use this tool when users need endpoint information, want to discover available AI\r\nresources, or need to check the configuration of a Foundry account. To list OpenAI model deployments\r\nwithin a resource, use the openai models-list command instead.", + "command": "foundryextensions resource get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--resource-name", + "description": "The name of the Azure OpenAI resource.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "5249839c-a3c6-4f9e-b62b-afde801d95a6", + "name": "get", + "description": "Gets Azure Function App details. Lists all Function Apps in the subscription or resource group. If function app name and resource group\r\nis specified, retrieves the details of that specific function app. Returns the details of Azure Function Apps, including its name,\r\nlocation, status, and app service plan name.", + "command": "functionapp get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--function-app", + "description": "The name of the Function App.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "f7c8d9e0-a1b2-4c3d-8e5f-6a7b8c9d0e1f", + "name": "list", + "description": "Answer questions about what programming languages Azure Functions supports with up-to-date runtime versions and tooling details. Returns the current list of supported languages with runtime versions, prerequisites, development tools, and CLI commands for init/run/build. Provides authoritative data that may differ from general knowledge. Call this tool first when users ask about Azure Functions languages or before generating code with functions_project_get or functions_template_get.", + "command": "functions language list", + "option": [ + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "b2c3d4e5-f6a7-8901-bcde-f12345678901", + "name": "get", + "description": "Get project scaffolding information for a new Azure Functions app. Call this tool when the user wants to create, initialize, or set up a new Azure Functions project. Returns the complete project structure, required files configurations and setup instructions for the specific language that agents use to create files. Use after functions language list and before functions template get.", + "command": "functions project get", + "option": [ + { + "name": "--language", + "description": "Programming language for the Azure Functions project. Valid values: python, typescript, javascript, java, csharp, powershell.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "c3d4e5f6-a7b8-9012-cdef-234567890123", + "name": "get", + "description": "Lists available Azure Functions templates or generates function code for Timer (cron schedules), HTTP, Blob, Queue, Event Hub, Cosmos DB, Service Bus, Durable, event-driven, and MCP tool triggers with input and output bindings, orchestrations, and serverless infrastructure. Create trigger functions, activity functions, or MCP server functions in C#, Python, JavaScript, TypeScript, Java, or PowerShell. Without --template, lists all available triggers, bindings, and templates for the selected language. With --template, generates function code files with azd infrastructure support (Bicep, Terraform, ARM). Select one trigger (required) and zero or more input or output bindings.", + "command": "functions template get", + "option": [ + { + "name": "--language", + "description": "Programming language for the Azure Functions project. Valid values: python, typescript, javascript, java, csharp, powershell.", + "type": "string", + "required": true + }, + { + "name": "--template", + "description": "Name of the function template to retrieve (e.g., HttpTrigger, BlobTrigger). Omit to list all available templates for the specified language.", + "type": "string" + }, + { + "name": "--runtime-version", + "description": "Optional runtime version for Java or TypeScript/JavaScript. When provided, template placeholders like {{javaVersion}} or {{nodeVersion}} are replaced automatically. See 'functions language list' for supported versions.", + "type": "string" + }, + { + "name": "--output", + "description": "Output format. 'New' (default) returns all files in a single 'files' list for creating complete projects. 'Add' separates files into 'functionFiles' and 'projectFiles' with merge instructions for adding to existing projects.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "6c29659e-406d-4b9b-8150-e3d4fd7ba31c", + "name": "ai_app", + "description": "Returns best practices and code generation guidance for building AI applications in Azure.\r\nUse this command when you need recommendations on how to write code for AI agents, chatbots, workflows, or any AI / LLM features.\r\nThis command also provides guidance for code generation on Microsoft Foundry for application development.\r\nWhen the request involves code generation of AI components or AI applications in any capacity, use this command instead of calling the general code generation best practices command.", + "command": "get azure bestpractices ai app", + "option": [ + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "ff12e8fb-f7ce-446a-884b-996dac118b83", + "name": "get", + "description": "This tool returns a list of best practices for code generation, operations and deployment\r\nwhen working with Azure services. It should be called for any code generation, deployment or\r\noperations involving Azure, Azure Functions, Azure Kubernetes Service (AKS), Azure Container\r\nApps (ACA), Bicep, Terraform, Azure Cache, Redis, CosmosDB, Entra, Azure Active Directory,\r\nAzure App Services, or any other Azure technology or programming language. Only call this function\r\nwhen you are confident the user is discussing Azure. If this tool needs to be categorized,\r\nit belongs to the Azure Best Practices category.", + "command": "get azure bestpractices get", + "option": [ + { + "name": "--resource", + "description": "The Azure resource type for which to get best practices. Options: 'general' (general Azure), 'azurefunctions' (Azure Functions), 'static-web-app' (Azure Static Web Apps), 'coding-agent' (Coding Agent).", + "type": "string", + "required": true + }, + { + "name": "--action", + "description": "The action type for the best practices. Options: 'all', 'code-generation', 'deployment'. Note: 'static-web-app' and 'coding-agent' resources only supports 'all'.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "7a47b562-f219-47de-80f6-12e19367b61d", + "name": "list", + "description": "List all Grafana workspace resources in a specified subscription. Returns an array of Grafana workspace details.\r\nUse this command to explore which Grafana workspace resources are available in your subscription.", + "command": "grafana list", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "a0049f31-9a32-4b5e-91ec-e7b074fc7246", + "name": "list", + "description": "List all resource groups in a subscription. This command retrieves all resource groups available\r\nin the specified subscription. Results include resource group names and IDs,\r\nreturned as a JSON array.", + "command": "group list", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "b1c2d3e4-f5a6-7890-abcd-ef1234567890", + "name": "list", + "description": "List all resources in a resource group. This command retrieves all resources available\r\nin the specified resource group within the given subscription. Results include resource\r\nnames, IDs, types, and locations. The command returns a JSON object with a `resources`\r\narray containing these entries.", + "command": "group resource list", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "2e89755e-8c64-4c08-ae10-8fd47aead570", + "name": "get", + "description": "Retrieves all Managed HSM account settings for a Key Vault. Returns configuration setting values such as purge protection and soft-delete retention days. This is NOT for secrets, keys, or certificates ΓÇö use this when the user asks about vault configuration settings or account-level settings. This tool ONLY applies to Managed HSM vaults.", + "command": "keyvault admin settings get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--vault", + "description": "The name of the Key Vault.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "a11e024a-62e6-4237-8d7d-4b9b8439f50e", + "name": "create", + "description": "Create/issue/generate a new certificate in an Azure Key Vault using the default certificate policy. Required: --vault, --certificate, --subscription. Optional: --tenant . Returns: name, id, keyId, secretId, cer (base64), thumbprint, enabled, notBefore, expiresOn, createdOn, updatedOn, subject, issuerName. Creates a new certificate version if it already exists.", + "command": "keyvault certificate create", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--vault", + "description": "The name of the Key Vault.", + "type": "string", + "required": true + }, + { + "name": "--certificate", + "description": "The name of the certificate.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "0e898126-0c5e-44b8-9eef-51ddeed6327f", + "name": "get", + "description": "List all certificates in your Key Vault or get a specific certificate by name. Shows all certificate names in the vault, or retrieves full certificate details including key ID, secret ID, thumbprint, and policy information.", + "command": "keyvault certificate get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--vault", + "description": "The name of the Key Vault.", + "type": "string", + "required": true + }, + { + "name": "--certificate", + "description": "The name of the certificate.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "4ae12e3e-dee0-4d8d-ad34-ffeaf70c642b", + "name": "import", + "description": "Imports/uploads an existing certificate (PFX or PEM with private key) into an Azure Key Vault without generating a new certificate or key material. This command accepts either a file path to a PFX/PEM file, a base64 encoded PFX, or raw PEM text starting with -----BEGIN. If the certificate is a password-protected PFX, a password must be provided. Required: --vault , --certificate , --certificate-data , --subscription . Optional: --password , --tenant . Returns: name, id, keyId, secretId, cer (base64), thumbprint, enabled, notBefore, expiresOn, createdOn, updatedOn, subject, issuer. Creates a new certificate version if it already exists.", + "command": "keyvault certificate import", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--vault", + "description": "The name of the Key Vault.", + "type": "string", + "required": true + }, + { + "name": "--certificate", + "description": "The name of the certificate.", + "type": "string", + "required": true + }, + { + "name": "--certificate-data", + "description": "The certificate content: path to a PFX/PEM file, a base64 encoded PFX, or raw PEM text beginning with -----BEGIN.", + "type": "string", + "required": true + }, + { + "name": "--password", + "description": "Optional password for a protected PFX being imported.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": true + }, + { + "id": "ef27bda9-8a1f-4288-b68b-12308ab8e607", + "name": "create", + "description": "Create a new key in an Azure Key Vault. This command creates a key with the specified name and type in the given vault. Supports types: RSA, RSA-HSM, EC, EC-HSM, oct, oct-HSM. Required: --vault , --key --key-type --subscription . Optional: --tenant . Returns: Returns: name, id, keyId, keyType, enabled, notBefore, expiresOn, createdOn, updatedOn. Creates a new key version if it already exists.", + "command": "keyvault key create", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--vault", + "description": "The name of the Key Vault.", + "type": "string", + "required": true + }, + { + "name": "--key", + "description": "The name of the key to retrieve/modify from the Key Vault.", + "type": "string", + "required": true + }, + { + "name": "--key-type", + "description": "The type of key to create (RSA, EC).", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "c19a45a0-b963-427d-a087-35560a7f4e5b", + "name": "get", + "description": "List all keys in your Key Vault or get a specific key by name. Shows all key names in the vault, or retrieves full key details including type, enabled status, and expiration dates. Use --include-managed to show managed keys.", + "command": "keyvault key get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--vault", + "description": "The name of the Key Vault.", + "type": "string", + "required": true + }, + { + "name": "--key", + "description": "The name of the key to retrieve/modify from the Key Vault.", + "type": "string" + }, + { + "name": "--include-managed", + "description": "Whether or not to include managed keys in results.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "fb1322cd-05b0-4264-9e96-6a9b3d9291a0", + "name": "create", + "description": "Create/set a secret in an Azure Key Vault with the specified name and value. Required: --vault , --secret , --subscription . Optional: --tenant . Creates a new secret version if it already exists.", + "command": "keyvault secret create", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--vault", + "description": "The name of the Key Vault.", + "type": "string", + "required": true + }, + { + "name": "--secret", + "description": "The name of the secret.", + "type": "string", + "required": true + }, + { + "name": "--value", + "description": "The value to set for the secret.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": true, + "localRequired": false + }, + { + "id": "933bcb29-87e6-4f78-94ad-8ad0c8c60002", + "name": "get", + "description": "List all secrets in your Key Vault or get a specific secret by name. Shows all secret names in the vault (without values), or retrieves the secret value and full details including enabled status and expiration dates.", + "command": "keyvault secret get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--vault", + "description": "The name of the Key Vault.", + "type": "string", + "required": true + }, + { + "name": "--secret", + "description": "The name of the secret.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": true, + "localRequired": false + }, + { + "id": "5fc5a42b-a7f6-4d4a-9517-a8e119752b7a", + "name": "get", + "description": "Get/retrieve/show details for a specific Azure Data Explorer/Kusto/KQL cluster in a subscription. Not for listing multiple clusters. Required: --cluster and --subscription.", + "command": "kusto cluster get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--cluster", + "description": "Kusto Cluster name.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "2cff1548-40c9-48ea-8548-6bfa91f2ea85", + "name": "list", + "description": "List/enumerate all Azure Data Explorer/Kusto/KQL clusters in a subscription.", + "command": "kusto cluster list", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "0bd79f0b-c360-4c96-b3e0-02fce97dcc41", + "name": "list", + "description": "List/enumerate all databases in an Azure Data Explorer/Kusto/KQL cluster. Required: --cluster-uri ( or --cluster and --subscription).", + "command": "kusto database list", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--cluster-uri", + "description": "Kusto Cluster URI.", + "type": "string" + }, + { + "name": "--cluster", + "description": "Kusto Cluster name.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "d1e22074-53ce-4eef-8596-0ea134a9e317", + "name": "query", + "description": "Executes a query against an Azure Data Explorer/Kusto/KQL cluster to search for specific terms, retrieve records, or perform management operations. Required: --cluster-uri (or --cluster and --subscription), --database, and --query.", + "command": "kusto query", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--cluster-uri", + "description": "Kusto Cluster URI.", + "type": "string" + }, + { + "name": "--cluster", + "description": "Kusto Cluster name.", + "type": "string" + }, + { + "name": "--database", + "description": "Kusto Database name.", + "type": "string", + "required": true + }, + { + "name": "--query", + "description": "Kusto query to execute. Uses KQL syntax.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "41daed5c-bf44-4cdf-9f3c-1df775465e53", + "name": "sample", + "description": "Return a sample of rows from a specific table in an Azure Data Explorer/Kusto/KQL cluster. Required: --cluster-uri (or --cluster and --subscription), --database, and --table.", + "command": "kusto sample", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--cluster-uri", + "description": "Kusto Cluster URI.", + "type": "string" + }, + { + "name": "--cluster", + "description": "Kusto Cluster name.", + "type": "string" + }, + { + "name": "--database", + "description": "Kusto Database name.", + "type": "string", + "required": true + }, + { + "name": "--table", + "description": "Kusto Table name.", + "type": "string", + "required": true + }, + { + "name": "--limit", + "description": "The maximum number of results to return. Must be a positive integer between 1 and 10000. Default is 10.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "3cd1e5f1-3353-4029-99f8-1aaa566d05e4", + "name": "list", + "description": "List/enumerate all tables in a specific Azure Data Explorer/Kusto/KQL database. Required: --cluster-uri (or --cluster and --subscription), --database.", + "command": "kusto table list", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--cluster-uri", + "description": "Kusto Cluster URI.", + "type": "string" + }, + { + "name": "--cluster", + "description": "Kusto Cluster name.", + "type": "string" + }, + { + "name": "--database", + "description": "Kusto Database name.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "9a972c48-6797-49bb-9784-8063ad1f7e96", + "name": "schema", + "description": "Get/retrieve/show the schema of a specific table in an Azure Data Explorer/Kusto/KQL cluster. Required: --cluster-uri (or --cluster and --subscription), --database, and --table.", + "command": "kusto table schema", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--cluster-uri", + "description": "Kusto Cluster URI.", + "type": "string" + }, + { + "name": "--cluster", + "description": "Kusto Cluster name.", + "type": "string" + }, + { + "name": "--database", + "description": "Kusto Database name.", + "type": "string", + "required": true + }, + { + "name": "--table", + "description": "Kusto Table name.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "2153384b-02ea-47b3-a069-7f5f9a709d66", + "name": "create", + "description": "Creates a new load test plan or configuration for performance testing scenarios. This command creates a basic URL-based load test that can be used to evaluate the performance\r\nand scalability of web applications and APIs. The test configuration defines target endpoint, load parameters, and test duration. Once we create a test plan, we can use that to trigger test runs to test the endpoints set using the 'azmcp loadtesting testrun create' command.\r\nThis is NOT going to trigger or create any test runs and only will setup your test plan. Also, this is NOT going to create any test resource in azure. \r\nIt will only create a test in an already existing load test resource.", + "command": "loadtesting test create", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--test-resource-name", + "description": "The name of the load test resource for which you want to fetch the details.", + "type": "string", + "required": true + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--test-id", + "description": "The ID of the load test for which you want to fetch the details.", + "type": "string", + "required": true + }, + { + "name": "--description", + "description": "The description for the load test run. This provides additional context about the test run.", + "type": "string" + }, + { + "name": "--display-name", + "description": "The display name for the load test run. This is a user-friendly name to identify the test run.", + "type": "string" + }, + { + "name": "--endpoint", + "description": "The endpoint URL to be tested. This is the URL of the HTTP endpoint that will be subjected to load testing.", + "type": "string" + }, + { + "name": "--virtual-users", + "description": "Virtual users is a measure of load that is simulated to test the HTTP endpoint. (Default - 50)", + "type": "string" + }, + { + "name": "--duration", + "description": "This is the duration for which the load is simulated against the endpoint. Enter decimals for fractional minutes (e.g., 1.5 for 1 minute and 30 seconds). Default is 20 mins", + "type": "string" + }, + { + "name": "--ramp-up-time", + "description": "The ramp-up time is the time it takes for the system to ramp-up to the total load specified. Enter decimals for fractional minutes (e.g., 1.5 for 1 minute and 30 seconds). Default is 1 min", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "be7c3864-0713-42f8-8eb7-b7ca28a951fb", + "name": "get", + "description": "Get the configuration and setup details for a load test by its test ID in a Load Testing resource.\r\nReturns only the test definition, including duration, ramp-up, virtual users, and endpoint. Does not return any test run results or execution data. Also does NOT return and resource details. Only the test configuration is fetched.", + "command": "loadtesting test get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--test-resource-name", + "description": "The name of the load test resource for which you want to fetch the details.", + "type": "string", + "required": true + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--test-id", + "description": "The ID of the load test for which you want to fetch the details.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "c39f6e9c-86a7-4cba-b267-0fa71f1ac743", + "name": "create", + "description": "Returns the created Load Testing resource. This creates the resource in Azure only. It does not create any test plan or test run. \r\nOnce the resource is setup, you can go and configure test plans in the resource and then trigger test runs for your test plans.", + "command": "loadtesting testresource create", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--test-resource-name", + "description": "The name of the load test resource for which you want to fetch the details.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "eb44ef6c-93dc-4fa1-949c-a5e8939d5052", + "name": "list", + "description": "Lists all Azure Load Testing resources available in the selected subscription and resource group.\r\nReturns metadata for each resource, including name, location, and status. Use this to discover, manage, or audit load testing resources in your environment. Does not return test plans or test runs.", + "command": "loadtesting testresource list", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--test-resource-name", + "description": "The name of the load test resource for which you want to fetch the details.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "0e3c8f2c-57ce-49c0-bff4-27c9573e7049", + "name": "createorupdate", + "description": "Create or update a load test run execution.\r\nCreates a new test run for a specified test in the load testing resource, or updates metadata and display properties of an existing test run.\r\nWhen creating: Triggers a new test run execution based on the existing test configuration. Use testrun ID to specify the new run identifier. Create operations are NOT idempotent - each call starts a new test run with unique timestamps and execution state.\r\nWhen updating: Modifies descriptive information (display name, description) of a completed or in-progress test run for better organization and documentation. Update operations are idempotent - repeated calls with same values produce the same result.\r\nThis does not modify the test plan configuration or create a new test/resource - only manages test run executions.", + "command": "loadtesting testrun createorupdate", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--test-resource-name", + "description": "The name of the load test resource for which you want to fetch the details.", + "type": "string", + "required": true + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--testrun-id", + "description": "The ID of the load test run for which you want to fetch the details.", + "type": "string", + "required": true + }, + { + "name": "--test-id", + "description": "The ID of the load test for which you want to fetch the details.", + "type": "string", + "required": true + }, + { + "name": "--display-name", + "description": "The display name for the load test run. This is a user-friendly name to identify the test run.", + "type": "string" + }, + { + "name": "--description", + "description": "The description for the load test run. This provides additional context about the test run.", + "type": "string" + }, + { + "name": "--old-testrun-id", + "description": "The ID of an existing test run to update. If provided, the command will trigger a rerun of the given test run id.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "713313ec-b9a5-4a71-9953-5b2d4a7b5d7b", + "name": "get", + "description": "Get load test run details by testrun ID, or list all test runs by test ID.\r\nReturns execution details including status, start/end times, progress, metrics, and artifacts.\r\nDoes not return test configuration or resource details.", + "command": "loadtesting testrun get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--test-resource-name", + "description": "The name of the load test resource for which you want to fetch the details.", + "type": "string", + "required": true + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--testrun-id", + "description": "The ID of the load test run for which you want to fetch the details.", + "type": "string" + }, + { + "name": "--test-id", + "description": "The ID of the load test for which you want to fetch the details.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "8e2f6d1b-3c9a-4f7e-b2d5-7a8c3e4f5b6d", + "name": "cancel", + "description": "Cancels a running auto export job for an Azure Managed Lustre filesystem. This stops the ongoing sync operation from the Lustre filesystem to the linked blob storage container. Use this to terminate an autoexport job that is in progress.\r\nRequired options:\r\n- filesystem-name: The name of the AMLFS filesystem\r\n- job-name: The name of the autoexport job to cancel\r\n- resource-group: The resource group containing the filesystem\r\n- subscription: The subscription containing the filesystem", + "command": "managedlustre fs blob autoexport cancel", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--filesystem-name", + "description": "The name of the Azure Managed Lustre filesystem", + "type": "string", + "required": true + }, + { + "name": "--job-name", + "description": "The name of the autoexport/autoimport job", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "9f3e7c2a-4b8d-4e5f-a1c6-8d9e2f3b4a5c", + "name": "create", + "description": "Creates an auto export job for an Azure Managed Lustre filesystem to continuously export modified files to the linked blob storage container. The auto export job syncs changes from the Lustre filesystem to the configured HSM blob container. Use this to keep blob storage updated with changes in the filesystem.\r\nRequired options:\r\n- filesystem-name: The name of the AMLFS filesystem\r\n- resource-group: The resource group containing the filesystem\r\n- subscription: The subscription containing the filesystem", + "command": "managedlustre fs blob autoexport create", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--filesystem-name", + "description": "The name of the Azure Managed Lustre filesystem", + "type": "string", + "required": true + }, + { + "name": "--job-name", + "description": "The name of the autoexport job. If not specified, a timestamped name will be generated.", + "type": "string" + }, + { + "name": "--autoexport-prefix", + "description": "Blob path/prefix that gets auto exported from the cluster namespace. Default: '/'. Note: Only 1 prefix is supported for autoexport jobs. Example: --autoexport-prefix /data", + "type": "string" + }, + { + "name": "--admin-status", + "description": "The administrative status of the auto import job. Enable: job is active. Disable: disables the current active auto import job. Default: Enable. Allowed values: Enable, Disable.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "4c7a8e3d-9f2b-5a6e-c1d4-8b3e9a2f7c5d", + "name": "delete", + "description": "Deletes an auto export job for an Azure Managed Lustre filesystem. This permanently removes the job record from the filesystem. Use this to clean up completed, failed, or cancelled autoexport jobs.\r\nRequired options:\r\n- filesystem-name: The name of the AMLFS filesystem\r\n- job-name: The name of the autoexport job to delete\r\n- resource-group: The resource group containing the filesystem\r\n- subscription: The subscription containing the filesystem", + "command": "managedlustre fs blob autoexport delete", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--filesystem-name", + "description": "The name of the Azure Managed Lustre filesystem", + "type": "string", + "required": true + }, + { + "name": "--job-name", + "description": "The name of the autoexport/autoimport job", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "9a3b7e2f-4d6c-8a1e-b5f3-2c7d8e9a1b4f", + "name": "get", + "description": "Gets the details of auto export jobs for an Azure Managed Lustre filesystem. Use this to retrieve the status, configuration, and progress information of autoexport operations that sync data from the Lustre filesystem to the linked blob storage container. If job-name is provided, returns details of a specific job; otherwise returns all jobs for the filesystem.\r\nRequired options:\r\n- filesystem-name: The name of the AMLFS filesystem\r\n- resource-group: The resource group containing the filesystem\r\n- subscription: The subscription containing the filesystem\r\nOptional options:\r\n- job-name: The name of a specific autoexport job (if omitted, all jobs are returned)", + "command": "managedlustre fs blob autoexport get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--filesystem-name", + "description": "The name of the Azure Managed Lustre filesystem", + "type": "string", + "required": true + }, + { + "name": "--job-name", + "description": "The name of the autoexport/autoimport job", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "9f3g1h2i-4d0b-5g8f-c3e6-8b9d4f6g7c8h", + "name": "cancel", + "description": "Cancels a running auto import job for an Azure Managed Lustre filesystem. This stops the ongoing sync operation from the linked blob storage container to the Lustre filesystem. Use this to terminate an autoimport job that is in progress.\r\nRequired options:\r\n- filesystem-name: The name of the AMLFS filesystem\r\n- job-name: The name of the autoimport job to cancel\r\n- resource-group: The resource group containing the filesystem\r\n- subscription: The subscription containing the filesystem", + "command": "managedlustre fs blob autoimport cancel", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--filesystem-name", + "description": "The name of the Azure Managed Lustre filesystem", + "type": "string", + "required": true + }, + { + "name": "--job-name", + "description": "The name of the autoexport/autoimport job", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d", + "name": "create", + "description": "Creates an auto import job for an Azure Managed Lustre filesystem to continuously import new or modified files from the linked blob storage container. The auto import job syncs changes from the configured HSM blob container to the Lustre filesystem. Use this to keep the filesystem updated with changes in blob storage.\r\nRequired options:\r\n- filesystem-name: The name of the AMLFS filesystem\r\n- resource-group: The resource group containing the filesystem\r\n- subscription: The subscription containing the filesystem\r\nOptional parameters:\r\n- job-name: Custom name for the job (default: autoimport-{timestamp})\r\n- conflict-resolution-mode: How to handle conflicts (Fail/Skip/OverwriteIfDirty/OverwriteAlways, default: Skip)\r\n- autoimport-prefixes: Array of blob paths/prefixes to auto import (default: '/', max: 100)\r\n- admin-status: Administrative status (Enable/Disable, default: Enable)\r\n- enable-deletions: Enable deletions during auto import (default: false)\r\n- maximum-errors: Max errors before failure (-1: infinite, 0: immediate exit, default: none)", + "command": "managedlustre fs blob autoimport create", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--filesystem-name", + "description": "The name of the Azure Managed Lustre filesystem", + "type": "string", + "required": true + }, + { + "name": "--job-name", + "description": "The name of the autoimport job. If not specified, a timestamped name will be generated.", + "type": "string" + }, + { + "name": "--conflict-resolution-mode", + "description": "How the auto import job handles conflicts. Fail: stop immediately on conflict. Skip: pass over the conflict. OverwriteIfDirty: delete and re-import if conflicting type, dirty, or currently released. OverwriteAlways: extends OverwriteIfDirty to include releasing restored but not dirty files. Default: Skip. Allowed values: Fail, Skip, OverwriteIfDirty, OverwriteAlways.", + "type": "string" + }, + { + "name": "--autoimport-prefixes", + "description": "Array of blob paths/prefixes that get auto imported to the cluster namespace. Default: '/'. Maximum: 100 paths. Example: --autoimport-prefixes /data --autoimport-prefixes /logs", + "type": "string" + }, + { + "name": "--admin-status", + "description": "The administrative status of the auto import job. Enable: job is active. Disable: disables the current active auto import job. Default: Enable. Allowed values: Enable, Disable.", + "type": "string" + }, + { + "name": "--enable-deletions", + "description": "Whether to enable deletions during auto import. This only affects overwrite-dirty mode. Default: false.", + "type": "string" + }, + { + "name": "--maximum-errors", + "description": "Total non-conflict-oriented errors (e.g., OS errors) that import will tolerate before exiting with failure. -1: infinite. 0: exit immediately on any error.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "0h4i2j3k-5e1c-6h9g-d4f7-9c0e5g7h8d9i", + "name": "delete", + "description": "Deletes an auto import job for an Azure Managed Lustre filesystem. This permanently removes the job record from the filesystem. Use this to clean up completed, failed, or cancelled autoimport jobs.\r\nRequired options:\r\n- filesystem-name: The name of the AMLFS filesystem\r\n- job-name: The name of the autoimport job to delete\r\n- resource-group: The resource group containing the filesystem\r\n- subscription: The subscription containing the filesystem", + "command": "managedlustre fs blob autoimport delete", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--filesystem-name", + "description": "The name of the Azure Managed Lustre filesystem", + "type": "string", + "required": true + }, + { + "name": "--job-name", + "description": "The name of the autoexport/autoimport job", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "b2c3d4e5-6f7a-8b9c-0d1e-2f3a4b5c6d7e", + "name": "get", + "description": "Gets the details of auto import jobs for an Azure Managed Lustre filesystem. Use this to retrieve the status, configuration, and progress information of autoimport operations that sync data from the linked blob storage container to the Lustre filesystem. If job-name is provided, returns details of a specific job; otherwise returns all jobs for the filesystem.\r\nRequired options:\r\n- filesystem-name: The name of the AMLFS filesystem\r\n- resource-group: The resource group containing the filesystem\r\n- subscription: The subscription containing the filesystem\r\nOptional options:\r\n- job-name: The name of a specific autoimport job (if omitted, all jobs are returned)", + "command": "managedlustre fs blob autoimport get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--filesystem-name", + "description": "The name of the Azure Managed Lustre filesystem", + "type": "string", + "required": true + }, + { + "name": "--job-name", + "description": "The name of the autoexport/autoimport job", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "d3h5e7g9-1f4a-6d8e-0g2c-4f6a8d0f2e4g", + "name": "cancel", + "description": "Cancels a running import job for an Azure Managed Lustre filesystem. This stops the import operation and prevents further processing. The job cannot be resumed after cancellation.\r\nRequired options:\r\n- filesystem-name: The name of the AMLFS filesystem\r\n- job-name: Name of the import job to cancel", + "command": "managedlustre fs blob import cancel", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--filesystem-name", + "description": "The name of the Azure Managed Lustre filesystem", + "type": "string", + "required": true + }, + { + "name": "--job-name", + "description": "The name of the autoexport/autoimport job", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "b1f3c5e7-9d2a-4b8f-6c3e-1a7b9d2f5e8c", + "name": "create", + "description": "Creates a one-time import job for an Azure Managed Lustre filesystem to import files from the linked blob storage container. The import job performs a one-time sync of data from the configured HSM blob container to the Lustre filesystem. Use this to import specific prefixes or all data from blob storage into the filesystem at a point in time.\r\nRequired options:\r\n- filesystem-name: The name of the AMLFS filesystem\r\nOptional options:\r\n- job-name: Name for the import job (auto-generated if not provided)\r\n- conflict-resolution-mode: How to handle conflicting files (Fail, Skip, OverwriteIfDirty, OverwriteAlways, default: Fail)\r\n- import-prefixes: Blob prefixes to import (default: imports all data from root '/')\r\n- maximum-errors: Maximum errors allowed before job failure (-1: infinite, 0: fail on first error, default: use service default)", + "command": "managedlustre fs blob import create", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--filesystem-name", + "description": "The name of the Azure Managed Lustre filesystem", + "type": "string", + "required": true + }, + { + "name": "--job-name", + "description": "The name of the autoimport job. If not specified, a timestamped name will be generated.", + "type": "string" + }, + { + "name": "--conflict-resolution-mode", + "description": "How the auto import job handles conflicts. Fail: stop immediately on conflict. Skip: pass over the conflict. OverwriteIfDirty: delete and re-import if conflicting type, dirty, or currently released. OverwriteAlways: extends OverwriteIfDirty to include releasing restored but not dirty files. Default: Skip. Allowed values: Fail, Skip, OverwriteIfDirty, OverwriteAlways.", + "type": "string" + }, + { + "name": "--import-prefixes", + "description": "Array of blob paths/prefixes to import from blob storage. Default: '/'. Maximum: 100 paths. Example: --import-prefixes /data --import-prefixes /logs", + "type": "string" + }, + { + "name": "--maximum-errors", + "description": "Total non-conflict-oriented errors (e.g., OS errors) that import will tolerate before exiting with failure. -1: infinite. 0: exit immediately on any error.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "e4i6f8h0-2g5b-7e9f-1h3d-5g7b9e1g3f5h", + "name": "delete", + "description": "Deletes an import job for an Azure Managed Lustre filesystem. This removes the job record and history. The job must be completed or cancelled before it can be deleted.\r\nRequired options:\r\n- filesystem-name: The name of the AMLFS filesystem\r\n- job-name: Name of the import job to delete", + "command": "managedlustre fs blob import delete", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--filesystem-name", + "description": "The name of the Azure Managed Lustre filesystem", + "type": "string", + "required": true + }, + { + "name": "--job-name", + "description": "The name of the autoexport/autoimport job", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "c2g4d6f8-0e3a-5c7d-9f1b-3e5a7c9f1d3f", + "name": "get", + "description": "Gets import job details or lists all import jobs for an Azure Managed Lustre filesystem. If job-name is provided, returns details for that specific job. If job-name is omitted, returns a list of all import jobs for the filesystem.\r\nRequired options:\r\n- filesystem-name: The name of the AMLFS filesystem\r\nOptional options:\r\n- job-name: Name of specific import job to get (omit to list all jobs)", + "command": "managedlustre fs blob import get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--filesystem-name", + "description": "The name of the Azure Managed Lustre filesystem", + "type": "string", + "required": true + }, + { + "name": "--job-name", + "description": "The name of the autoimport job. If not specified, a timestamped name will be generated.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "814acadf-ee84-47f9-ad68-2d65ec7dbb07", + "name": "create", + "description": "Create an Azure Managed Lustre (AMLFS) file system using the specified network, capacity, maintenance window and availability zone.\r\nOptionally provides possibility to define Blob Integration, customer managed key encryption and root squash configuration.", + "command": "managedlustre fs create", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--name", + "description": "The AMLFS resource name. Must be DNS-friendly (letters, numbers, hyphens). Example: --name amlfs-001", + "type": "string", + "required": true + }, + { + "name": "--location", + "description": "Azure region/region short name (use Azure location token, lowercase). Examples: uaenorth, swedencentral, eastus.", + "type": "string", + "required": true + }, + { + "name": "--sku", + "description": "The AMLFS SKU. Exact allowed values: AMLFS-Durable-Premium-40, AMLFS-Durable-Premium-125, AMLFS-Durable-Premium-250, AMLFS-Durable-Premium-500.", + "type": "string", + "required": true + }, + { + "name": "--size", + "description": "The AMLFS size in TiB as an integer (no unit). Examples: 4, 12, 128.", + "type": "string", + "required": true + }, + { + "name": "--subnet-id", + "description": "Full subnet resource ID. Required format: /subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.Network/virtualNetworks/{vnet}/subnets/{subnet}.\nExample: --subnet-id /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-rg/providers/Microsoft.Network/virtualNetworks/vnet-001/subnets/subnet-001", + "type": "string", + "required": true + }, + { + "name": "--zone", + "description": "Availability zone identifier. Use a single digit string matching the region's AZ labels (e.g. '1').\nExample: --zone 1", + "type": "string", + "required": true + }, + { + "name": "--maintenance-day", + "description": "Preferred maintenance day. Allowed values: Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday.\n", + "type": "string", + "required": true + }, + { + "name": "--maintenance-time", + "description": "Preferred maintenance time in UTC. Format: HH:MM (24-hour). Examples: 00:00, 23:00.\n", + "type": "string", + "required": true + }, + { + "name": "--hsm-container", + "description": "Full blob container resource ID for HSM integration. HPC Cache Resource Provider must have before deployment Storage Blob Data Contributor and Storage Account Contributor roles on parent Storage Account.Format: /subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.Storage/storageAccounts/{account}/blobServices/default/containers/{container}.\nExample: --hsm-container /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Storage/storageAccounts/stacc/blobServices/default/containers/hsm-container\n", + "type": "string" + }, + { + "name": "--hsm-log-container", + "description": "Full blob container resource ID for HSM logging. HPC Cache Resource Provider must have before deployment Storage Blob Data Contributor and Storage Account Contributor roles on parent Storage Account. Same format as --hsm-container.\nExample: --hsm-log-container /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Storage/storageAccounts/stacc/blobServices/default/containers/hsm-logs\n", + "type": "string" + }, + { + "name": "--import-prefix", + "description": "Optional HSM import prefix (path prefix inside the container starting with /). Examples: '/ingest/', '/archive/2019/'.\n", + "type": "string" + }, + { + "name": "--root-squash-mode", + "description": "Root squash mode. Allowed values: All, RootOnly, None.\n", + "type": "string" + }, + { + "name": "--no-squash-nid-list", + "description": "Comma-separated list of NIDs (network identifiers) not to squash. Example: '10.0.2.4@tcp;10.0.2.[6-8]@tcp'.\n", + "type": "string" + }, + { + "name": "--squash-uid", + "description": "Numeric UID to squash root to. Required in case root squash mode is not None. Example: --squash-uid 1000.\n", + "type": "string" + }, + { + "name": "--squash-gid", + "description": "Numeric GID to squash root to. Required in case root squash mode is not None. Example: --squash-gid 1000.\n", + "type": "string" + }, + { + "name": "--custom-encryption", + "description": "Enable customer-managed encryption using a Key Vault key. When true, --key-url and --source-vault required, with a user-assigned identity already configured for Key Vault key access.", + "type": "string" + }, + { + "name": "--key-url", + "description": "Full Key Vault key URL. Format: https://{vaultName}.vault.azure.net/keys/{keyName}/{keyVersion}.\nExample: --key-url https://kv-amlfs-001.vault.azure.net/keys/key-amlfs-001/a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p\n", + "type": "string" + }, + { + "name": "--source-vault", + "description": "Full Key Vault resource ID. Format: /subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.KeyVault/vaults/{vaultName}.\nExample: --source-vault /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.KeyVault/vaults/kv-amlfs-001\n", + "type": "string" + }, + { + "name": "--user-assigned-identity-id", + "description": "User-assigned managed identity resource ID (full resource ID) to use for Key Vault access when custom encryption is enabled. The identity must have RBAC role to access the encryption key\nFormat: /subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{name}.\nExample: --user-assigned-identity-id /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1\n", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "723d9b34-9022-486e-83a7-f72d83bdafd2", + "name": "list", + "description": "Lists Azure Managed Lustre (AMLFS) file systems in a subscription or optional resource group including provisioning state, MGS address, tier, capacity (TiB), blob integration container, and maintenance window details. Use to inventory Azure Managed Lustre filesystems and to check their properties.", + "command": "managedlustre fs list", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "43f679ba-1b6e-4851-9315-f8ad16b789e5", + "name": "get", + "description": "Retrieves the available Azure Managed Lustre SKU, including increments, bandwidth, scale targets and zonal support. If a location is specified, the results will be filtered to that location.", + "command": "managedlustre fs sku get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--location", + "description": "Azure region/region short name (use Azure location token, lowercase). Examples: uaenorth, swedencentral, eastus.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "3d3f6f27-218b-4915-9c1e-243dd53b16da", + "name": "ask", + "description": "Calculates the required subnet size for an Azure Managed Lustre file system given a SKU and size. Use to plan network deployment for AMLFS. Returns the number of required IPs.", + "command": "managedlustre fs subnetsize ask", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--sku", + "description": "The AMLFS SKU. Exact allowed values: AMLFS-Durable-Premium-40, AMLFS-Durable-Premium-125, AMLFS-Durable-Premium-250, AMLFS-Durable-Premium-500.", + "type": "string", + "required": true + }, + { + "name": "--size", + "description": "The AMLFS size in TiB as an integer (no unit). Examples: 4, 12, 128.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "b6317bba-e28c-445b-9133-9cfbfe677698", + "name": "validate", + "description": "Validates that the provided subnet can host an Azure Managed Lustre filesystem for the given SKU and size.", + "command": "managedlustre fs subnetsize validate", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--sku", + "description": "The AMLFS SKU. Exact allowed values: AMLFS-Durable-Premium-40, AMLFS-Durable-Premium-125, AMLFS-Durable-Premium-250, AMLFS-Durable-Premium-500.", + "type": "string", + "required": true + }, + { + "name": "--size", + "description": "The AMLFS size in TiB as an integer (no unit). Examples: 4, 12, 128.", + "type": "string", + "required": true + }, + { + "name": "--subnet-id", + "description": "Full subnet resource ID. Required format: /subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.Network/virtualNetworks/{vnet}/subnets/{subnet}.\nExample: --subnet-id /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-rg/providers/Microsoft.Network/virtualNetworks/vnet-001/subnets/subnet-001", + "type": "string", + "required": true + }, + { + "name": "--location", + "description": "Azure region/region short name (use Azure location token, lowercase). Examples: uaenorth, swedencentral, eastus.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "db1bdf99-ac8a-4920-ab2e-15048623b2dc", + "name": "update", + "description": "Update maintenance window and/or root squash settings of an existing Azure Managed Lustre (AMLFS) file system. Provide either maintenance day and time or root squash fields (no-squash-nid-list, squash-uid, squash-gid). Root squash fields must be provided if root squash is not None. In case of maintenance window update, both maintenance day and maintenance time should be provided.", + "command": "managedlustre fs update", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--name", + "description": "The AMLFS resource name. Must be DNS-friendly (letters, numbers, hyphens). Example: --name amlfs-001", + "type": "string", + "required": true + }, + { + "name": "--maintenance-day", + "description": "Preferred maintenance day. Allowed values: Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday.\n", + "type": "string" + }, + { + "name": "--maintenance-time", + "description": "Preferred maintenance time in UTC. Format: HH:MM (24-hour). Examples: 00:00, 23:00.\n", + "type": "string" + }, + { + "name": "--no-squash-nid-list", + "description": "Comma-separated list of NIDs (network identifiers) not to squash. Example: '10.0.2.4@tcp;10.0.2.[6-8]@tcp'.\n", + "type": "string" + }, + { + "name": "--squash-uid", + "description": "Numeric UID to squash root to. Required in case root squash mode is not None. Example: --squash-uid 1000.\n", + "type": "string" + }, + { + "name": "--squash-gid", + "description": "Numeric GID to squash root to. Required in case root squash mode is not None. Example: --squash-gid 1000.\n", + "type": "string" + }, + { + "name": "--root-squash-mode", + "description": "Root squash mode. Allowed values: All, RootOnly, None.\n", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "729a12ee-9c63-4a31-b1b8-4a81ad093564", + "name": "get", + "description": "Retrieves detailed information about a specific Azure Marketplace product (offer) for a given subscription,\r\nincluding available plans, pricing, and product metadata.", + "command": "marketplace product get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--product-id", + "description": "The ID of the marketplace product to retrieve. This is the unique identifier for the product in the Azure Marketplace.", + "type": "string", + "required": true + }, + { + "name": "--include-stop-sold-plans", + "description": "Include stop-sold or hidden plans in the response.", + "type": "string" + }, + { + "name": "--language", + "description": "Product language code (e.g., 'en' for English, 'fr' for French).", + "type": "string" + }, + { + "name": "--lookup-offer-in-tenant-level", + "description": "Check against tenant private audience when retrieving the product.", + "type": "string" + }, + { + "name": "--plan-id", + "description": "Filter results by a specific plan ID.", + "type": "string" + }, + { + "name": "--sku-id", + "description": "Filter results by a specific SKU ID.", + "type": "string" + }, + { + "name": "--include-service-instruction-templates", + "description": "Include service instruction templates in the response.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "0485e8f9-61bf-4baf-b914-7fa5530a6f78", + "name": "list", + "description": "Retrieves and lists all marketplace products (offers) available to a subscription in the Azure Marketplace. Use this tool to search, select, browse, or filter marketplace offers by product name, publisher, pricing, or metadata. Returns information for each product, including display name, publisher details, category, pricing data, and available plans.", + "command": "marketplace product list", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--language", + "description": "Product language code (e.g., 'en' for English, 'fr' for French).", + "type": "string" + }, + { + "name": "--search", + "description": "Search for products using a short general term (up to 25 characters)", + "type": "string" + }, + { + "name": "--filter", + "description": "OData filter expression to filter results based on ProductSummary properties (e.g., \"displayName eq 'Azure'\").", + "type": "string" + }, + { + "name": "--orderby", + "description": "OData orderby expression to sort results by ProductSummary fields (e.g., \"displayName asc\" or \"popularity desc\").", + "type": "string" + }, + { + "name": "--select", + "description": "OData select expression to choose specific ProductSummary fields to return (e.g., \"displayName,publisherDisplayName,uniqueProductId\").", + "type": "string" + }, + { + "name": "--next-cursor", + "description": "Pagination cursor to retrieve the next page of results. Use the NextPageLink value from a previous response.", + "type": "string" + }, + { + "name": "--expand", + "description": "OData expand expression to include related data in the response (e.g., \"plans\" to include plan details).", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "ffc0ed72-0622-4a27-bfd8-6df9b83adce8", + "name": "list", + "description": "Always use this tool if user is asking for activity logs for a resource.\r\nLists activity logs for the specified Azure resource over the given prior number of hours.\r\nThis command retrieves activity logs to help understand resource deployment history, modification activities, and access patterns.\r\nReturns activity log events with details including timestamp, operation name, status, and caller information. should be called to help retrieve information about why a resource failed to deploy or may not be working.", + "command": "monitor activitylog list", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--resource-name", + "description": "The name of the Azure resource to retrieve activity logs for.", + "type": "string", + "required": true + }, + { + "name": "--resource-type", + "description": "The type of the Azure resource (e.g., 'Microsoft.Storage/storageAccounts'). Only provide this if needed to disambiguate between multiple resources with the same name.", + "type": "string" + }, + { + "name": "--hours", + "description": "The number of hours prior to now to retrieve activity logs for.", + "type": "string" + }, + { + "name": "--event-level", + "description": "The level of activity logs to retrieve. Valid levels are: Critical, Error, Informational, Verbose, Warning. If not provided, returns all levels.", + "type": "string" + }, + { + "name": "--top", + "description": "The maximum number of activity logs to retrieve.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "80b23546-a6ac-4f0c-ad70-f51d6dff5543", + "name": "get", + "description": "Retrieve the health status of an entity for a given Azure Monitor Health Model. Use this tool ONLY when the user mentions a specific health model name and asks for health status, health events. This provides application-level health monitoring with custom health models, not basic Azure resource availability.\r\nFor basic Azure resource availability status, use Resource Health tool instead `azmcp_resourcehealth_availability-status_get`. \r\nFor querying logs from a Log Analystics workspace, use `azmcp_monitor_workspace_log_query`. \r\nFor querying logs of a specific Azure resource, use `azmcp_monitor_resource_log_query`. \r\nRequired arguments:\r\n - --entity: The entity to get health for\r\n - --health-model: The health model name", + "command": "monitor healthmodels entity get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--entity", + "description": "The entity to get health for.", + "type": "string", + "required": true + }, + { + "name": "--health-model", + "description": "The name of the health model for which to get the health.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "2c9f3785-4b97-4dd6-8489-af515638f0d5", + "name": "get-learning-resource", + "description": "List all available learning resources for Azure Monitor instrumentation or get the content of a specific resource by path. Returns all resource paths by default, or retrieves the full content when a path is specified. Note: For instrumenting an application, use orchestrator-start instead.", + "command": "monitor instrumentation get-learning-resource", + "option": [ + { + "name": "--path", + "description": "Learning resource path.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": true + }, + { + "id": "dd7d9a59-fb6d-436a-9e08-8bbdf6d5f9d5", + "name": "orchestrator-next", + "description": "Get the next instrumentation action after completing the current one.\r\nCall this ONLY after you have executed the EXACT instruction from the previous response.\r\nDO NOT skip steps. DO NOT improvise. DO NOT add extra code or commands.\r\n\r\nExpected workflow:\r\n1. You received an action from orchestrator-start or orchestrator-next\r\n2. You executed EXACTLY what the 'instruction' field told you to do\r\n3. Now call this tool to get the next action\r\n\r\nReturns: The next action to execute, or 'complete' status when all steps are done.", + "command": "monitor instrumentation orchestrator-next", + "option": [ + { + "name": "--session-id", + "description": "The workspace path returned as sessionId from orchestrator-start.", + "type": "string", + "required": true + }, + { + "name": "--completion-note", + "description": "One sentence describing what you executed, e.g., 'Ran dotnet add package command' or 'Added UseAzureMonitor() to Program.cs'", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": true + }, + { + "id": "35f577d9-6378-4d34-b822-111ff6e8957c", + "name": "orchestrator-start", + "description": "START HERE for Azure Monitor instrumentation. Analyzes workspace and returns the first action to execute. After executing the action, call orchestrator-next to continue. DO NOT improvise. Execute EXACTLY what the 'instruction' field tells you.", + "command": "monitor instrumentation orchestrator-start", + "option": [ + { + "name": "--workspace-path", + "description": "Absolute path to the workspace folder.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": true + }, + { + "id": "8f69c45b-7e4f-4ea7-9a7d-58fa7fc0897e", + "name": "send-brownfield-analysis", + "description": "Send brownfield code analysis findings after orchestrator-start returned status 'analysis_needed'.\r\nYou must have scanned the workspace source files and filled in the analysis template.\r\nFor sections that do not exist in the codebase, pass an empty/default object (e.g. found: false, hasCustomSampling: false) rather than null.\r\nAfter this call succeeds, continue with orchestrator-next as usual.", + "command": "monitor instrumentation send-brownfield-analysis", + "option": [ + { + "name": "--session-id", + "description": "The workspace path returned as sessionId from orchestrator-start.", + "type": "string", + "required": true + }, + { + "name": "--findings-json", + "description": "JSON object with brownfield analysis findings. Required properties:\r\n- serviceOptions: Service options findings from analyzing AddApplicationInsightsTelemetry() call. Null if not found.\r\n- initializers: Telemetry initializer findings from analyzing ITelemetryInitializer or IConfigureOptions implementations. Null if none found.\r\n- processors: Telemetry processor findings from analyzing ITelemetryProcessor implementations. Null if none found.\r\n- clientUsage: TelemetryClient usage findings from analyzing direct TelemetryClient usage. Null if not found.\r\n- sampling: Custom sampling configuration findings. Null if no custom sampling.\r\n- telemetryPipeline: Custom ITelemetryChannel or TelemetrySinks usage findings. Null if not found.\r\n- logging: Explicit logger provider and filter findings. Null if not found.\r\nFor sections that do not exist in the codebase, pass an empty/default object (e.g. found: false, hasCustomSampling: false) rather than null.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": true + }, + { + "id": "8fd4eb5f-14d1-450f-982c-82d761f0f7d6", + "name": "send-enhancement-select", + "description": "Submit the user's enhancement selection after orchestrator-start returned status 'enhancement_available'.\r\nPresent the enhancement options to the user first, then call this tool with their chosen option key(s).\r\nMultiple enhancements can be selected by passing a comma-separated list (e.g. 'redis,processors').\r\nAfter this call succeeds, continue with orchestrator-next as usual.", + "command": "monitor instrumentation send-enhancement-select", + "option": [ + { + "name": "--session-id", + "description": "The workspace path returned as sessionId from orchestrator-start.", + "type": "string", + "required": true + }, + { + "name": "--enhancement-keys", + "description": "One or more enhancement keys, comma-separated (e.g. 'redis', 'redis,processors', 'entityframework,otlp').", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": true + }, + { + "id": "d3bf37ed-5f2e-448d-a16e-73140ef908c2", + "name": "definitions", + "description": "List available metric definitions for an Azure resource. Returns metadata about the metrics available for the resource.", + "command": "monitor metrics definitions", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--resource-type", + "description": "The Azure resource type (e.g., 'Microsoft.Storage/storageAccounts', 'Microsoft.Compute/virtualMachines'). If not specified, will attempt to infer from resource name.", + "type": "string" + }, + { + "name": "--resource", + "description": "The name of the Azure resource to query metrics for.", + "type": "string", + "required": true + }, + { + "name": "--metric-namespace", + "description": "The metric namespace to query. Obtain this value from the azmcp-monitor-metrics-definitions command.", + "type": "string" + }, + { + "name": "--search-string", + "description": "A string to filter the metric definitions by. Helpful for reducing the number of records returned. Performs case-insensitive matching on metric name and description fields.", + "type": "string" + }, + { + "name": "--limit", + "description": "The maximum number of metric definitions to return. Defaults to 10.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "6e86ef31-04e1-4cec-8bda-5292d4bc3ad8", + "name": "query", + "description": "Query Azure Monitor metrics for a resource. Returns time series data for the specified metrics.", + "command": "monitor metrics query", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--resource-type", + "description": "The Azure resource type (e.g., 'Microsoft.Storage/storageAccounts', 'Microsoft.Compute/virtualMachines'). If not specified, will attempt to infer from resource name.", + "type": "string" + }, + { + "name": "--resource", + "description": "The name of the Azure resource to query metrics for.", + "type": "string", + "required": true + }, + { + "name": "--metric-names", + "description": "The names of metrics to query (comma-separated).", + "type": "string", + "required": true + }, + { + "name": "--start-time", + "description": "The start time for the query in ISO format (e.g., 2023-01-01T00:00:00Z). Defaults to 24 hours ago.", + "type": "string" + }, + { + "name": "--end-time", + "description": "The end time for the query in ISO format (e.g., 2023-01-01T00:00:00Z). Defaults to now.", + "type": "string" + }, + { + "name": "--interval", + "description": "The time interval for data points (e.g., PT1H for 1 hour, PT5M for 5 minutes).", + "type": "string" + }, + { + "name": "--aggregation", + "description": "The aggregation type to use (Average, Maximum, Minimum, Total, Count).", + "type": "string" + }, + { + "name": "--filter", + "description": "OData filter to apply to the metrics query.", + "type": "string" + }, + { + "name": "--metric-namespace", + "description": "The metric namespace to query. Obtain this value from the azmcp-monitor-metrics-definitions command.", + "type": "string", + "required": true + }, + { + "name": "--max-buckets", + "description": "The maximum number of time buckets to return. Defaults to 50.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "02aaf533-0593-4e1d-bd87-f7c69d34c7ba", + "name": "query", + "description": "Query diagnostic and activity logs for a SPECIFIC Azure resource in a Log Analytics workspace using Kusto Query Language (KQL). \r\nUse this tool when the user mentions a specific resource name or Resource ID in their request (e.g., \"show logs for resource 'app-monitor'\"). \r\nThis tool filters logs to only show data from the specified resource.\r\n\r\nWhen to use: User asks for logs from a specific resource by name or ID.\r\nWhen NOT to use: User asks for general workspace-wide logs without mentioning a specific resource.\r\n\r\nRequired arguments: resource ID or resource name, table name, KQL query\r\nOptional: hours, limit", + "command": "monitor resource log query", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-id", + "description": "The Azure Resource ID to query logs. Example: /subscriptions//resourceGroups//providers/Microsoft.OperationalInsights/workspaces/", + "type": "string", + "required": true + }, + { + "name": "--table", + "description": "The name of the table to query. This is the specific table within the workspace.", + "type": "string", + "required": true + }, + { + "name": "--query", + "description": "The KQL query to execute against the Log Analytics workspace. You can use predefined queries by name:\n- 'recent': Shows most recent logs ordered by TimeGenerated\n- 'errors': Shows error-level logs ordered by TimeGenerated\nOtherwise, provide a custom KQL query.", + "type": "string", + "required": true + }, + { + "name": "--hours", + "description": "The number of hours to query back from now.", + "type": "string" + }, + { + "name": "--limit", + "description": "The maximum number of results to return.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "2b1ae0be-d6dd-4db9-9c58-fc4fcb3bf8e6", + "name": "list", + "description": "List all tables in a Log Analytics workspace. Requires workspace.\r\nReturns table names and schemas that can be used for constructing KQL queries.", + "command": "monitor table list", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--workspace", + "description": "The Log Analytics workspace ID or name. This can be either the unique identifier (GUID) or the display name of your workspace.", + "type": "string", + "required": true + }, + { + "name": "--table-type", + "description": "The type of table to query. Options: 'CustomLog', 'AzureMetrics', etc.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "17928c13-3907-428c-8232-74f7aec1d76d", + "name": "list", + "description": "List available table types in a Log Analytics workspace. Returns table type names.", + "command": "monitor table type list", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--workspace", + "description": "The Log Analytics workspace ID or name. This can be either the unique identifier (GUID) or the display name of your workspace.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "aa5a22bc-6a04-4bc0-a963-b6e462b5cdc4", + "name": "createorupdate", + "description": "Create or update a standard web test in Azure Monitor to monitor endpoint availability.\r\nUse this to set up new web tests or modify existing ones with monitoring configurations like URL, frequency, locations, and expected responses.\r\nAutomatically creates a new test if it doesn't exist, or updates an existing test with new settings.", + "command": "monitor webtests createorupdate", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--webtest-resource", + "description": "The name of the Web Test resource to operate on.", + "type": "string", + "required": true + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--appinsights-component", + "description": "The resource id of the Application Insights component to associate with the web test.", + "type": "string" + }, + { + "name": "--location", + "description": "The location where the web test resource is created. This should be the same as the AppInsights component location.", + "type": "string" + }, + { + "name": "--webtest-locations", + "description": "List of locations to run the test from (comma-separated values). Location refers to the geo-location population tag specific to Availability Tests.", + "type": "string" + }, + { + "name": "--request-url", + "description": "The absolute URL to test", + "type": "string" + }, + { + "name": "--webtest", + "description": "The name of the test in web test resource", + "type": "string" + }, + { + "name": "--description", + "description": "The description of the web test", + "type": "string" + }, + { + "name": "--enabled", + "description": "Whether the web test is enabled", + "type": "string" + }, + { + "name": "--expected-status-code", + "description": "Expected HTTP status code", + "type": "string" + }, + { + "name": "--follow-redirects", + "description": "Whether to follow redirects", + "type": "string" + }, + { + "name": "--frequency", + "description": "Test frequency in seconds. Supported values 300, 600, 900 seconds.", + "type": "string" + }, + { + "name": "--headers", + "description": "HTTP headers to include in the request. Comma-separated KEY=VALUE", + "type": "string" + }, + { + "name": "--http-verb", + "description": "HTTP method (get, post, etc.)", + "type": "string" + }, + { + "name": "--ignore-status-code", + "description": "Whether to ignore the status code validation", + "type": "string" + }, + { + "name": "--parse-requests", + "description": "Whether to parse dependent requests", + "type": "string" + }, + { + "name": "--request-body", + "description": "The body of the request", + "type": "string" + }, + { + "name": "--retry-enabled", + "description": "Whether retries are enabled", + "type": "string" + }, + { + "name": "--ssl-check", + "description": "Whether to check SSL certificates", + "type": "string" + }, + { + "name": "--ssl-lifetime-check", + "description": "Number of days to check SSL certificate lifetime", + "type": "string" + }, + { + "name": "--timeout", + "description": "Request timeout in seconds (max 2 minutes). Supported values: 30, 60, 90, 120 seconds", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "c9897ba5-445c-43dc-9902-e8454dbdc243", + "name": "get", + "description": "Gets details for a specific web test or lists all web tests.\r\nWhen --webtest-resource is provided, returns detailed information about a single web test.\r\nWhen --webtest-resource is omitted, returns a list of all web tests in the subscription (optionally filtered by resource group).", + "command": "monitor webtests get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--webtest-resource", + "description": "The name of the Web Test resource to operate on.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "0c76b74e-14bf-4e0c-ab10-4bbeeb53347b", + "name": "list", + "description": "List Log Analytics workspaces in a subscription. This command retrieves all Log Analytics workspaces\r\navailable in the specified Azure subscription, displaying their names, IDs, and other key properties.\r\nUse this command to identify workspaces before querying their logs or tables.", + "command": "monitor workspace list", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "3f513aea-b6fc-4ad0-8f7d-9fbaa1056ac6", + "name": "query", + "description": "Query logs across an ENTIRE Log Analytics workspace using Kusto Query Language (KQL). \r\nUse this tool when the user wants to query all resources in a workspace or doesn't specify a particular resource name/ID (e.g., \"show all errors in workspace\", \"query workspace logs\", \"what happened in my workspace\").\r\nThis tool queries across all resources and tables in the workspace.\r\n\r\nWhen to use: User asks for workspace-wide logs, all resources, or doesn't mention a specific resource.\r\nWhen NOT to use: User mentions a specific resource name or Resource ID - use resource log query instead.\r\n\r\nRequires workspace and resource group.\r\nOptional: hours and limit.\r\nquery accepts KQL syntax.", + "command": "monitor workspace log query", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--workspace", + "description": "The Log Analytics workspace ID or name. This can be either the unique identifier (GUID) or the display name of your workspace.", + "type": "string", + "required": true + }, + { + "name": "--table", + "description": "The name of the table to query. This is the specific table within the workspace.", + "type": "string", + "required": true + }, + { + "name": "--query", + "description": "The KQL query to execute against the Log Analytics workspace. You can use predefined queries by name:\n- 'recent': Shows most recent logs ordered by TimeGenerated\n- 'errors': Shows error-level logs ordered by TimeGenerated\nOtherwise, provide a custom KQL query.", + "type": "string", + "required": true + }, + { + "name": "--hours", + "description": "The number of hours to query back from now.", + "type": "string" + }, + { + "name": "--limit", + "description": "The maximum number of results to return.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "b73afaa5-4c3f-41e8-9ef3-c54e75215a97", + "name": "query", + "description": "Executes a safe, read-only SQL SELECT query against a database on Azure Database for MySQL Flexible Server. Use this tool to explore or retrieve table data without modifying it. Rejects non-SELECT statements (INSERT/UPDATE/DELETE/REPLACE/MERGE/TRUNCATE/ALTER/CREATE/DROP), multi-statements, comments hiding writes, transaction control (BEGIN/COMMIT/ROLLBACK), INTO OUTFILE, and other destructive keywords. Only a single SELECT is executed to ensure data integrity. Best practices: List needed columns (avoid SELECT *), add WHERE filters, use LIMIT/OFFSET for paging, ORDER BY for deterministic results, and avoid unnecessary sensitive data. Example: SELECT id, name, status FROM customers WHERE status = 'Active' ORDER BY name LIMIT 50;", + "command": "mysql database query", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--user", + "description": "The user name to access MySQL server.", + "type": "string", + "required": true + }, + { + "name": "--server", + "description": "The MySQL server to be accessed.", + "type": "string", + "required": true + }, + { + "name": "--database", + "description": "The MySQL database to be accessed.", + "type": "string", + "required": true + }, + { + "name": "--query", + "description": "Query to be executed against a MySQL database.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "77e60b50-5c16-4879-96b1-6a40d9c08a37", + "name": "list", + "description": "List MySQL servers, databases, or tables in your subscription. Returns all servers by default. Specify --server to list databases on that server, or --server and --database to list tables in a specific database.", + "command": "mysql list", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--user", + "description": "The user name to access MySQL server.", + "type": "string", + "required": true + }, + { + "name": "--server", + "description": "The MySQL server to list databases from (optional).", + "type": "string" + }, + { + "name": "--database", + "description": "The MySQL database to list tables from (optional, requires --server).", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "677cef4f-0eb1-4665-a3a2-89301a75c201", + "name": "get", + "description": "Retrieves comprehensive configuration details for the specified Azure Database for MySQL Flexible Server instance. This command provides insights into server settings, performance parameters, security configurations, and operational characteristics essential for database administration and optimization. Returns configuration data in JSON format including ServerName, Location, Version, SKU, StorageSizeGB, BackupRetentionDays, and GeoRedundantBackup properties.", + "command": "mysql server config get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--user", + "description": "The user name to access MySQL server.", + "type": "string", + "required": true + }, + { + "name": "--server", + "description": "The MySQL server to be accessed.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "bae423b4-aee8-4f23-a104-e816727d183f", + "name": "get", + "description": "Retrieves the current value of a single server configuration parameter on an Azure Database for MySQL Flexible Server. Use to inspect a setting (e.g. max_connections, wait_timeout, slow_query_log) before changing it.", + "command": "mysql server param get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--user", + "description": "The user name to access MySQL server.", + "type": "string", + "required": true + }, + { + "name": "--server", + "description": "The MySQL server to be accessed.", + "type": "string", + "required": true + }, + { + "name": "--param", + "description": "The MySQL parameter to be accessed.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "8d086e44-8c8a-4649-a282-38f775704595", + "name": "set", + "description": "Sets/updates a single MySQL server configuration setting/parameter.", + "command": "mysql server param set", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--user", + "description": "The user name to access MySQL server.", + "type": "string", + "required": true + }, + { + "name": "--server", + "description": "The MySQL server to be accessed.", + "type": "string", + "required": true + }, + { + "name": "--param", + "description": "The MySQL parameter to be accessed.", + "type": "string", + "required": true + }, + { + "name": "--value", + "description": "The value to set for the MySQL parameter.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "1c8d2584-fa52-4641-85f9-fb67a8f5c7c9", + "name": "get", + "description": "Retrieves detailed schema information for a specific table within an Azure Database for MySQL Flexible Server database. This command provides comprehensive metadata including column definitions, data types, constraints, indexes, and relationships, essential for understanding table structure and supporting application development.", + "command": "mysql table schema get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--user", + "description": "The user name to access MySQL server.", + "type": "string", + "required": true + }, + { + "name": "--server", + "description": "The MySQL server to be accessed.", + "type": "string", + "required": true + }, + { + "name": "--database", + "description": "The MySQL database to be accessed.", + "type": "string", + "required": true + }, + { + "name": "--table", + "description": "The MySQL table to be accessed.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "b7c4d3e2-0f1a-4b8c-9d6e-5a7b8c9d0e1f", + "name": "list", + "description": "List policy assignments in a subscription or scope. This command retrieves all Azure Policy\r\nassignments along with their complete policy definition details (rules, effects, parameters schema),\r\nenforcement modes, assignment parameters, and metadata. This enables agents to understand policy\r\nrequirements and design compliant cloud services. You can optionally filter by scope to list\r\nassignments at a specific resource group, resource, or management group level.", + "command": "policy assignment list", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--scope", + "description": "The scope of the policy assignment (e.g., /subscriptions/{subscriptionId}, /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}).", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "81a28bca-014c-4738-9e1a-654d77cb2dd8", + "name": "query", + "description": "Executes a SQL query on an Azure Database for PostgreSQL server to search for specific terms, retrieve records, or perform SELECT operations.", + "command": "postgres database query", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--user", + "description": "The user name to access PostgreSQL server.", + "type": "string", + "required": true + }, + { + "name": "--server", + "description": "The PostgreSQL server to be accessed.", + "type": "string", + "required": true + }, + { + "name": "--database", + "description": "The PostgreSQL database to be accessed.", + "type": "string", + "required": true + }, + { + "name": "--auth-type", + "description": "The authentication type to access PostgreSQL server. Supported values are 'MicrosoftEntra' or 'PostgreSQL'. By default 'MicrosoftEntra' is used.", + "type": "string" + }, + { + "name": "--password", + "description": "The user password to access PostgreSQL server, Only required if 'auth-type' is set to 'PostgreSQL' authentication, not needed for 'MicrosoftEntra' authentication.", + "type": "string" + }, + { + "name": "--query", + "description": "Query to be executed against a PostgreSQL database.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "8a12c3f4-2e5d-4b3a-9f2c-5e6d7f8a9b0c", + "name": "list", + "description": "List PostgreSQL servers, databases, or tables. Returns all servers in the subscription by default (optionally scoped to a --resource-group). Specify --server to list databases on that server, or --server and --database to list tables in a specific database. --user is required when --server is provided.", + "command": "postgres list", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--user", + "description": "The user name to access PostgreSQL server.", + "type": "string" + }, + { + "name": "--server", + "description": "The PostgreSQL server to list databases from (optional).", + "type": "string" + }, + { + "name": "--database", + "description": "The PostgreSQL database to list tables from (optional, requires --server).", + "type": "string" + }, + { + "name": "--auth-type", + "description": "The authentication type to access PostgreSQL server. Supported values are 'MicrosoftEntra' or 'PostgreSQL'. By default 'MicrosoftEntra' is used.", + "type": "string" + }, + { + "name": "--password", + "description": "The user password to access PostgreSQL server, Only required if 'auth-type' is set to 'PostgreSQL' authentication, not needed for 'MicrosoftEntra' authentication.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "049a0d10-0a6e-4278-a0a3-15ce6b2e5ee1", + "name": "get", + "description": "Retrieve the configuration of a PostgreSQL server.", + "command": "postgres server config get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--user", + "description": "The user name to access PostgreSQL server.", + "type": "string", + "required": true + }, + { + "name": "--server", + "description": "The PostgreSQL server to be accessed.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "af3a581d-ab64-4939-9765-974815d9c7be", + "name": "get", + "description": "Retrieves a specific parameter of a PostgreSQL server.", + "command": "postgres server param get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--user", + "description": "The user name to access PostgreSQL server.", + "type": "string", + "required": true + }, + { + "name": "--server", + "description": "The PostgreSQL server to be accessed.", + "type": "string", + "required": true + }, + { + "name": "--param", + "description": "The PostgreSQL parameter to be accessed.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "2134621b-518f-48ac-a66a-82c40fcb58bb", + "name": "set", + "description": "Configures PostgreSQL server settings including replication, connection limits, and other parameters.", + "command": "postgres server param set", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--user", + "description": "The user name to access PostgreSQL server.", + "type": "string", + "required": true + }, + { + "name": "--server", + "description": "The PostgreSQL server to be accessed.", + "type": "string", + "required": true + }, + { + "name": "--param", + "description": "The PostgreSQL parameter to be accessed.", + "type": "string", + "required": true + }, + { + "name": "--value", + "description": "The value to set for the PostgreSQL parameter.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "643a3497-44e1-4727-b3d6-c2e5dba6cab2", + "name": "get", + "description": "Retrieves the schema of a specified table in a PostgreSQL database.", + "command": "postgres table schema get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--user", + "description": "The user name to access PostgreSQL server.", + "type": "string", + "required": true + }, + { + "name": "--server", + "description": "The PostgreSQL server to be accessed.", + "type": "string", + "required": true + }, + { + "name": "--database", + "description": "The PostgreSQL database to be accessed.", + "type": "string", + "required": true + }, + { + "name": "--auth-type", + "description": "The authentication type to access PostgreSQL server. Supported values are 'MicrosoftEntra' or 'PostgreSQL'. By default 'MicrosoftEntra' is used.", + "type": "string" + }, + { + "name": "--password", + "description": "The user password to access PostgreSQL server, Only required if 'auth-type' is set to 'PostgreSQL' authentication, not needed for 'MicrosoftEntra' authentication.", + "type": "string" + }, + { + "name": "--table", + "description": "The PostgreSQL table to be accessed.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "c5a8f7d2-9e3b-4a1c-8d6f-2b5e9c4a7d3e", + "name": "get", + "description": "Get Azure retail pricing information. CRITICAL/MANDATORY: Do NOT call this tool if the user only specifies a broad service name (e.g., 'Virtual Machines', 'Storage', 'SQL Database') without a specific SKU. Instead, FIRST ask the user which specific SKU or tier they want pricing for. If the user asks to compare pricing across regions or SKUs without specifying exact ARM SKU names, ask them which specific SKUs they want to compare.\r\nDo NOT assume or pick default SKUs. Only call this tool AFTER the user provides a specific SKU (--sku) or confirms they want all pricing for that service. Requires at least one filter: --sku, --service, --region, --service-family, or --filter. SAVINGS PLAN: 'SavingsPlan' is NOT a valid --price-type. Use --include-savings-plan flag instead.\r\nValid --price-type values: Consumption, Reservation, DevTestConsumption. When --include-savings-plan is true, Consumption items include nested 'savingsPlan' array with 1-year/3-year pricing (mainly Linux VMs).\r\nFOR BICEP/ARM COST ESTIMATION: When user asks to estimate costs from a Bicep or ARM template file, read the file, extract each resource's type and SKU, call this tool for each resource and aggregate the monthly costs (hourly price * 730 hours/month).", + "command": "pricing get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--currency", + "description": "Currency code for pricing (e.g., USD, EUR). Default is USD.", + "type": "string" + }, + { + "name": "--sku", + "description": "ARM SKU name (e.g., Standard_D4s_v5, Standard_E64-16ds_v4)", + "type": "string" + }, + { + "name": "--service", + "description": "Azure service name (e.g., Virtual Machines, Storage, SQL Database)", + "type": "string" + }, + { + "name": "--region", + "description": "Azure region (e.g., eastus, westeurope, westus2)", + "type": "string" + }, + { + "name": "--service-family", + "description": "Service family (e.g., Compute, Storage, Databases, Networking)", + "type": "string" + }, + { + "name": "--price-type", + "description": "Price type filter (Consumption, Reservation, DevTestConsumption)", + "type": "string" + }, + { + "name": "--include-savings-plan", + "description": "Include savings plan pricing information (uses preview API version)", + "type": "string" + }, + { + "name": "--filter", + "description": "Raw OData filter expression for advanced queries (e.g., \"meterId eq 'abc-123'\")", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "0b8902f5-3fd4-49d9-b73e-4cea88afdd62", + "name": "list", + "description": "Given a list of Azure resource types, this tool will return a list of regions where the resource types are available. Always get the user's subscription ID before calling this tool.", + "command": "quota region availability list", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-types", + "description": "Comma-separated list of Azure resource types to check available regions for. The valid Azure resource types. E.g. 'Microsoft.App/containerApps, Microsoft.Web/sites, Microsoft.CognitiveServices/accounts'.", + "type": "string", + "required": true + }, + { + "name": "--cognitive-service-model-name", + "description": "Optional model name for cognitive services. Only needed when Microsoft.CognitiveServices is included in resource types.", + "type": "string" + }, + { + "name": "--cognitive-service-model-version", + "description": "Optional model version for cognitive services. Only needed when Microsoft.CognitiveServices is included in resource types.", + "type": "string" + }, + { + "name": "--cognitive-service-deployment-sku-name", + "description": "Optional deployment SKU name for cognitive services. Only needed when Microsoft.CognitiveServices is included in resource types.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "81f64603-5a56-4f74-90f8-395da69a99d3", + "name": "check", + "description": "This tool will check the usage and quota information for Azure resources in a region.", + "command": "quota usage check", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--region", + "description": "The valid Azure region where the resources will be deployed. E.g. 'eastus', 'westus', etc.", + "type": "string", + "required": true + }, + { + "name": "--resource-types", + "description": "The valid Azure resource types that are going to be deployed(comma-separated). E.g. 'Microsoft.App/containerApps,Microsoft.Web/sites,Microsoft.CognitiveServices/accounts', etc.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "750133dd-d57f-4ed4-9488-c1d406ad4a83", + "name": "create", + "description": "Create a new Azure Managed Redis resource in Azure. Use this command to provision a new Redis resource in your subscription.", + "command": "redis create", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource", + "description": "The name of the Redis resource (e.g., my-redis).", + "type": "string", + "required": true + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--sku", + "description": "The SKU for the Redis resource. (Default: Balanced_B0)", + "type": "string" + }, + { + "name": "--location", + "description": "The location for the Redis resource (e.g. eastus).", + "type": "string", + "required": true + }, + { + "name": "--access-keys-authentication", + "description": "Whether to enable access keys for authentication for the Redis resource. (Default: false)", + "type": "string" + }, + { + "name": "--public-network-access", + "description": "Whether to enable public network access for the Redis resource. (Default: false)", + "type": "string" + }, + { + "name": "--modules", + "description": "A list of modules to enable on the Azure Managed Redis resource (e.g., RedisBloom, RedisJSON).", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "eded7479-4187-4742-957f-d7778e03a69d", + "name": "list", + "description": "List/show all Redis resources in a subscription. Returns details of all Azure Managed Redis, Azure Cache for Redis, and Azure Redis Enterprise resources. Use this command to explore and view which Redis resources are available in your subscription.", + "command": "redis list", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "3b388cc7-4b16-4919-9e90-f592247d9891", + "name": "get", + "description": "Get the Azure Resource Health availability status for a specific resource or all resources in a subscription or resource group. Use this tool when asked about the availability status, health status, or Resource Health of an Azure resource (e.g. virtual machine, storage account). Reports whether a resource is Available, Unavailable, Degraded, or Unknown, including the reason and details. This is the correct tool for questions like 'What is the availability status of VM X?' or 'Is resource Y healthy?'.", + "command": "resourcehealth availability-status get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resourceId", + "description": "The Azure resource ID to get health status for (e.g., /subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.Compute/virtualMachines/{vm}).", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "c3211c73-af20-4d8d-bed2-4f181e0e4c92", + "name": "list", + "description": "List Azure service health events to track service issues that occurred in recent timeframes (last 30 days, weeks, months). Query subscription for planned maintenance, past or ongoing service incidents, advisories, and security events. Provides detailed information about resource availability state, potential issues, and timestamps. Returns: trackingId, title, summary, eventType, status, startTime, endTime, impactedServices. Access Azure Service Health portal data programmatically.", + "command": "resourcehealth health-events list", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--event-type", + "description": "Filter by event type (ServiceIssue, PlannedMaintenance, HealthAdvisory, Security). If not specified, all event types are included.", + "type": "string" + }, + { + "name": "--status", + "description": "Filter by status (Active, Resolved). If not specified, all statuses are included.", + "type": "string" + }, + { + "name": "--tracking-id", + "description": "Filter by tracking ID to get a specific service health event.", + "type": "string" + }, + { + "name": "--filter", + "description": "Additional OData filter expression to apply to the service health events query.", + "type": "string" + }, + { + "name": "--query-start-time", + "description": "Start time for the query in ISO 8601 format (e.g., 2024-01-01T00:00:00Z). Events from this time onwards will be included.", + "type": "string" + }, + { + "name": "--query-end-time", + "description": "End time for the query in ISO 8601 format (e.g., 2024-01-31T23:59:59Z). Events up to this time will be included.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "1dfbef45-4014-4575-a9ba-2242bc792e54", + "name": "list", + "description": "List role assignments. This command retrieves and displays all Azure RBAC role assignments\r\nin the specified scope. Results include role definition IDs and principal IDs, returned as a JSON array.", + "command": "role assignment list", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--scope", + "description": "Scope at which the role assignment or definition applies to, e.g., /subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333, /subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup, or /subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup/providers/Microsoft.Compute/virtualMachines/myVM.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "471292d0-4f6d-49d8-bf29-cbcb7b27dedb", + "name": "get", + "description": "List/get/show Azure AI Search indexes in a Search service. Returns index properties such as fields,\r\ndescription, and more. If a specific index name is not provided, the command will return details for all\r\nindexes.", + "command": "search index get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--service", + "description": "The name of the Azure AI Search service (e.g., my-search-service).", + "type": "string", + "required": true + }, + { + "name": "--index", + "description": "The name of the search index within the Azure AI Search service.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "f1938a77-8d6c-49c7-b592-71b4f26508e7", + "name": "query", + "description": "Queries/searches documents in an Azure AI Search index with a given query, returning the results of the\r\nquery/search.", + "command": "search index query", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--service", + "description": "The name of the Azure AI Search service (e.g., my-search-service).", + "type": "string", + "required": true + }, + { + "name": "--index", + "description": "The name of the search index within the Azure AI Search service.", + "type": "string", + "required": true + }, + { + "name": "--query", + "description": "The search query to execute against the Azure AI Search index.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "e0e7c288-8d16-4d11-811d-9236dc86d9a8", + "name": "get", + "description": "Gets the details of Azure AI Search knowledge bases. Knowledge bases encapsulate retrieval and reasoning\r\ncapabilities over one or more knowledge sources or indexes. If a specific knowledge base name is not provided,\r\nthe command will return details for all knowledge bases within the specified service.\r\n\r\nRequired arguments:\r\n- service", + "command": "search knowledge base get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--service", + "description": "The name of the Azure AI Search service (e.g., my-search-service).", + "type": "string", + "required": true + }, + { + "name": "--knowledge-base", + "description": "The name of the knowledge base within the Azure AI Search service.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "dcd2952d-02af-4ffc-a7a2-3c6d04251f66", + "name": "retrieve", + "description": "Execute a retrieval operation using a specific Azure AI Search knowledge base, effectively searching and querying the underlying\r\ndata sources as needed to find relevant information. Provide either a --query for single-turn retrieval or one or more\r\nconversational --messages in role:content form (e.g. user:What policies apply?). Specifying both --query and --messages is not\r\nallowed.\r\n\r\nRequired arguments:\r\n- service\r\n- knowledge-base", + "command": "search knowledge base retrieve", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--service", + "description": "The name of the Azure AI Search service (e.g., my-search-service).", + "type": "string", + "required": true + }, + { + "name": "--knowledge-base", + "description": "The name of the knowledge base within the Azure AI Search service.", + "type": "string", + "required": true + }, + { + "name": "--query", + "description": "Natural language query for retrieval when a conversational message history isn't provided.", + "type": "string" + }, + { + "name": "--messages", + "description": "Conversation history messages passed to the knowledge base. Able to specify multiple --messages entries. Each entry formatted as role:content, where role is `user` or `assistant` (e.g., user:How many docs?).", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": true, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "efc985cd-5381-4547-8ffb-89ffe992ea41", + "name": "get", + "description": "Gets the details of Azure AI Search knowledge sources. A knowledge source may point directly at an\r\nexisting Azure AI Search index, or may represent external data (e.g. a blob storage container) that has been\r\nindexed in Azure AI Search internally. These knowledge sources are used by knowledge bases during retrieval.\r\nIf a specific knowledge source name is not provided, the command will return details for all knowledge sources\r\nwithin the specified service.\r\n\r\nRequired arguments:\r\n- service", + "command": "search knowledge source get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--service", + "description": "The name of the Azure AI Search service (e.g., my-search-service).", + "type": "string", + "required": true + }, + { + "name": "--knowledge-source", + "description": "The name of the knowledge source within the Azure AI Search service.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "b0684f8c-20de-4bc0-bbc3-982575c8441f", + "name": "list", + "description": "List/show Azure AI Search services in a subscription, returning details about each service.", + "command": "search service list", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "add0f6fe-258c-45c4-af74-0c165d4913cb", + "name": "info", + "description": "Displays running MCP server information.", + "command": "server info", + "option": [ + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "b3e7c1a2-4f85-4d9e-a6c3-8f2b1e0d7a94", + "name": "plugin-telemetry", + "description": "Publish plugin-related telemetry events from agent hooks.\r\nAccepts command-line options such as '--timestamp', '--event-type', '--session-id', '--client-type', '--client-name', \r\n'--plugin-name', '--plugin-version', '--skill-name', '--skill-version', '--tool-name', and '--file-reference'. \r\nUse this command from agent hooks in clients like VS Code, Claude Desktop, or Copilot CLI to emit usage metrics.", + "command": "server plugin-telemetry", + "option": [ + { + "name": "--timestamp", + "description": "Timestamp of the telemetry event in ISO 8601 format.", + "type": "string", + "required": true + }, + { + "name": "--event-type", + "description": "Type of event being logged (e.g., 'skill_invocation', 'tool_invocation', 'reference_file_read').", + "type": "string", + "required": true + }, + { + "name": "--session-id", + "description": "Session identifier for correlating related events.", + "type": "string", + "required": true + }, + { + "name": "--client-type", + "description": "Type of client invoking the telemetry (e.g., 'copilot-cli', 'claude-code', 'vscode'). Deprecated: prefer --client-name.", + "type": "string" + }, + { + "name": "--client-name", + "description": "Name of the client invoking the telemetry (e.g., 'copilot-cli', 'claude-code', 'Visual Studio Code', 'Visual Studio Code - Insiders').", + "type": "string" + }, + { + "name": "--plugin-name", + "description": "Name of the plugin being invoked.", + "type": "string" + }, + { + "name": "--plugin-version", + "description": "Version of the plugin being invoked.", + "type": "string" + }, + { + "name": "--skill-name", + "description": "Name of the skill being invoked.", + "type": "string" + }, + { + "name": "--skill-version", + "description": "Version of the skill being invoked.", + "type": "string" + }, + { + "name": "--tool-name", + "description": "Name of the tool being invoked.", + "type": "string" + }, + { + "name": "--file-reference", + "description": "Plugin-relative file reference being accessed (will be validated against an allowlist).", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "9953ff62-e3d7-4bdf-9b70-d569e54e3df1", + "name": "start", + "description": "Starts Azure MCP Server.", + "command": "server start", + "option": [ + { + "name": "--transport", + "description": "Transport mechanism to use for MCP Server.", + "type": "string" + }, + { + "name": "--namespace", + "description": "The service namespaces to expose on the MCP server (e.g., storage, keyvault, cosmos).", + "type": "string" + }, + { + "name": "--mode", + "description": "Mode for the MCP server. 'single' exposes one azure tool that routes to all services. 'namespace' (default) exposes one tool per service namespace. 'all' exposes all tools individually.", + "type": "string" + }, + { + "name": "--tool", + "description": "Expose only specific tools by name (e.g., 'acr_registry_list'). Repeat this option to include multiple tools, e.g., --tool \"acr_registry_list\" --tool \"group_list\". It automatically switches to \"all\" mode when \"--tool\" is used. It can't be used together with \"--namespace\".", + "type": "string" + }, + { + "name": "--read-only", + "description": "Whether the MCP server should be read-only. If true, no write operations will be allowed.", + "type": "string" + }, + { + "name": "--debug", + "description": "Enable debug mode with verbose logging to stderr.", + "type": "string" + }, + { + "name": "--dangerously-disable-http-incoming-auth", + "description": "Dangerously disables HTTP incoming authentication, exposing the server to unauthenticated access over HTTP. Use with extreme caution, this disables all transport security and may expose sensitive data to interception.", + "type": "string" + }, + { + "name": "--dangerously-disable-elicitation", + "description": "Disable elicitation (user confirmation) before allowing high risk commands to run, such as returning Secrets (passwords) from KeyVault.", + "type": "string" + }, + { + "name": "--outgoing-auth-strategy", + "description": "Outgoing authentication strategy for service requests. Valid values: NotSet, UseHostingEnvironmentIdentity, UseOnBehalfOf.", + "type": "string" + }, + { + "name": "--dangerously-write-support-logs-to-dir", + "description": "Dangerously enables detailed debug-level logging for support and troubleshooting purposes. Specify a folder path where log files will be automatically created with timestamp-based filenames (e.g., azmcp_20251202_143052.log). This may include sensitive information in logs. Use with extreme caution and only when requested by support.", + "type": "string" + }, + { + "name": "--dangerously-disable-retry-limits", + "description": "Dangerously disables upper bounds on retry delays, max delays, network timeouts, and max retries. This may lead to excessively long waits and should only be used when explicitly needed.", + "type": "string" + }, + { + "name": "--cloud", + "description": "Azure cloud environment for authentication. Valid values: AzureCloud (default), AzureChinaCloud, AzureUSGovernment, or a custom authority host URL starting with https://", + "type": "string" + }, + { + "name": "--disable-caching", + "description": "Disable caching of resource responses, requiring repeated requests to fetch fresh data each time.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": false, + "openWorld": true, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "a02c58ce-e89f-4303-ac4a-c9dfb118e761", + "name": "details", + "description": "Get details about a Service Bus queue. Returns queue properties and runtime information. Properties returned include\r\nlock duration, max message size, queue size, creation date, status, current message counts, etc.\r\n\r\nRequired arguments:\r\n- namespace: The fully qualified Service Bus namespace host name. (This is usually in the form .servicebus.windows.net)\r\n- queue: Queue name to get details and runtime information for.", + "command": "servicebus queue details", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--namespace", + "description": "The fully qualified Service Bus namespace host name. (This is usually in the form .servicebus.windows.net)", + "type": "string", + "required": true + }, + { + "name": "--queue", + "description": "The queue name to peek messages from.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "c2487c40-58d0-40f7-98f1-105744865a11", + "name": "details", + "description": "Retrieves details about a Service Bus topic. Returns runtime information and topic properties including number of subscriptions, max message size, max topic size, number of scheduled messages, etc.\r\nRequired arguments are namespace: The fully qualified Service Bus namespace host name (usually in the form .servicebus.windows.net) and topic: Topic name to get information about.\r\nDo not use this to get details on Service Bus subscription- instead use servicebus_topic_subscription_details.", + "command": "servicebus topic details", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--namespace", + "description": "The fully qualified Service Bus namespace host name. (This is usually in the form .servicebus.windows.net)", + "type": "string", + "required": true + }, + { + "name": "--topic", + "description": "The name of the topic containing the subscription.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "578edf30-01f3-45da-b451-3932dcce7cc5", + "name": "details", + "description": "Get details about a Service Bus subscription. Returns subscription runtime properties including message counts, delivery settings, and other metadata.\r\n\r\nRequired arguments:\r\n- namespace: The fully qualified Service Bus namespace host name. (This is usually in the form .servicebus.windows.net)\r\n- topic: Topic name containing the subscription\r\n- subscription-name: Name of the subscription to get details for", + "command": "servicebus topic subscription details", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--namespace", + "description": "The fully qualified Service Bus namespace host name. (This is usually in the form .servicebus.windows.net)", + "type": "string", + "required": true + }, + { + "name": "--topic", + "description": "The name of the topic containing the subscription.", + "type": "string", + "required": true + }, + { + "name": "--subscription-name", + "description": "The name of subscription to peek messages from.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "a3f1b2c4-d5e6-47f8-9a0b-1c2d3e4f5a6b", + "name": "get", + "description": "Get nodes for a Service Fabric managed cluster. Returns all nodes by default or a single node when a node name is specified. Includes name, node type, status, IP address, fault domain, upgrade domain, health state, and seed node status.", + "command": "servicefabric managedcluster node get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--cluster", + "description": "Service Fabric managed cluster name.", + "type": "string", + "required": true + }, + { + "name": "--node", + "description": "The node name. When specified, returns a single node instead of all nodes.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "b4f2c3d5-e6f7-48a9-8b1c-2d3e4f5a6b7c", + "name": "restart", + "description": "Restart nodes of a specific node type in a Service Fabric managed cluster. Requires the cluster name, node type, and list of node names to restart. Optionally specify the update type (Default or ByUpgradeDomain).", + "command": "servicefabric managedcluster nodetype restart", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--cluster", + "description": "Service Fabric managed cluster name.", + "type": "string", + "required": true + }, + { + "name": "--node-type", + "description": "The node type name within the managed cluster.", + "type": "string", + "required": true + }, + { + "name": "--nodes", + "description": "The list of node names to restart. Multiple node names can be provided.", + "type": "string", + "required": true + }, + { + "name": "--update-type", + "description": "The update type for the restart operation. Valid values: Default, ByUpgradeDomain.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "bb9035f6-f642-4ee0-83c8-87d6da8266b1", + "name": "get", + "description": "Gets or lists details of an Azure SignalR Runtimes. If a specific SignalR name is used, the details of that\r\nSignalR runtime will be retrieved. Otherwise, all SignalR Runtimes in the specified subscription or resource\r\ngroup will be retrieved. Returns runtime information including identity, network ACLs, upstream templates.", + "command": "signalr runtime get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--signalr", + "description": "The name of the SignalR runtime", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "c725eb52-ca2c-4fe4-9422-935e7557b701", + "name": "recognize", + "description": "Recognize speech from an audio file using Azure AI Services Speech. This command takes an audio file and converts it to text using advanced speech recognition capabilities.\r\nYou must provide an Azure AI Services endpoint (e.g., https://your-service.cognitiveservices.azure.com/) and a path to the audio file.\r\nSupported audio formats include WAV, MP3, OPUS/OGG, FLAC, ALAW, MULAW, MP4, M4A, and AAC. Compressed formats require GStreamer to be installed on the system.\r\nOptional parameters include language specification, phrase hints for better accuracy, output format (simple or detailed), and profanity filtering.", + "command": "speech stt recognize", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--endpoint", + "description": "The Azure AI Services endpoint URL (e.g., https://your-service.cognitiveservices.azure.com/).", + "type": "string", + "required": true + }, + { + "name": "--file", + "description": "Path to the audio file to recognize.", + "type": "string", + "required": true + }, + { + "name": "--language", + "description": "The language for speech recognition (e.g., en-US, es-ES). Default is en-US.", + "type": "string" + }, + { + "name": "--phrases", + "description": "Phrase hints to improve recognition accuracy. Can be specified multiple times (--phrases \"phrase1\" --phrases \"phrase2\") or as comma-separated values (--phrases \"phrase1,phrase2\").", + "type": "string" + }, + { + "name": "--format", + "description": "Output format: simple or detailed.", + "type": "string" + }, + { + "name": "--profanity", + "description": "Profanity filter: masked, removed, or raw. Default is masked.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": true + }, + { + "id": "d6f6687f-feee-4e15-9b98-71aea4076e04", + "name": "synthesize", + "description": "Convert text to speech using Azure AI Services Speech. This command takes text input and generates an audio file using advanced neural text-to-speech capabilities.\r\nYou must provide an Azure AI Services endpoint (e.g., https://your-service.cognitiveservices.azure.com/), the text to convert, and an output file path.\r\nOptional parameters include language specification (default: en-US), voice selection, audio output format (default: Riff24Khz16BitMonoPcm), and custom voice endpoint ID.\r\nThe command supports a wide variety of output formats and neural voices for natural-sounding speech synthesis.", + "command": "speech tts synthesize", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--endpoint", + "description": "The Azure AI Services endpoint URL (e.g., https://your-service.cognitiveservices.azure.com/).", + "type": "string", + "required": true + }, + { + "name": "--text", + "description": "The text to convert to speech.", + "type": "string", + "required": true + }, + { + "name": "--outputAudio", + "description": "Path where the synthesized audio file will be saved.", + "type": "string", + "required": true + }, + { + "name": "--language", + "description": "The language for speech recognition (e.g., en-US, es-ES). Default is en-US.", + "type": "string" + }, + { + "name": "--voice", + "description": "The voice to use for speech synthesis (e.g., en-US-JennyNeural). If not specified, the default voice for the language will be used.", + "type": "string" + }, + { + "name": "--format", + "description": "Output format: simple or detailed.", + "type": "string" + }, + { + "name": "--endpointId", + "description": "The endpoint ID of a custom voice model for speech synthesis.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": true + }, + { + "id": "a4d9af17-fe8b-4df3-93be-23b69f0b5a0c", + "name": "create", + "description": "Create a new Azure SQL Database on an existing SQL Server. This command creates a database with configurable\r\nperformance tiers, size limits, and other settings. Equivalent to 'az sql db create'.\r\nReturns the newly created database information including configuration details.", + "command": "sql db create", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--server", + "description": "The Azure SQL Server name.", + "type": "string", + "required": true + }, + { + "name": "--database", + "description": "The Azure SQL Database name.", + "type": "string", + "required": true + }, + { + "name": "--sku-name", + "description": "The SKU name for the database (e.g., Basic, S0, P1, GP_Gen5_2).", + "type": "string" + }, + { + "name": "--sku-tier", + "description": "The SKU tier for the database (e.g., Basic, Standard, Premium, GeneralPurpose).", + "type": "string" + }, + { + "name": "--sku-capacity", + "description": "The SKU capacity (DTU or vCore count) for the database.", + "type": "string" + }, + { + "name": "--collation", + "description": "The collation for the database (e.g., SQL_Latin1_General_CP1_CI_AS).", + "type": "string" + }, + { + "name": "--max-size-bytes", + "description": "The maximum size of the database in bytes.", + "type": "string" + }, + { + "name": "--elastic-pool-name", + "description": "The name of the elastic pool to assign the database to.", + "type": "string" + }, + { + "name": "--zone-redundant", + "description": "Whether the database should be zone redundant.", + "type": "string" + }, + { + "name": "--read-scale", + "description": "Read scale option for the database (Enabled or Disabled).", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "c4ef0375-0df9-445c-b8ae-2542e9612425", + "name": "delete", + "description": "Deletes a database from an Azure SQL Server.This idempotent operation removes the specified database from the server, returning Deleted = false if the database doesn't exist or Deleted = true if successfully removed.", + "command": "sql db delete", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--server", + "description": "The Azure SQL Server name.", + "type": "string", + "required": true + }, + { + "name": "--database", + "description": "The Azure SQL Database name.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "2c4e6a8b-1d3f-4e5a-b6c7-8d9e0f1a2b3c", + "name": "get", + "description": "Show, get, or list Azure SQL databases in a SQL Server. Shows details for a specific Azure SQL database\r\nby name, or lists all Azure SQL databases in the specified SQL Server. Use to show or retrieve Azure SQL\r\ndatabase information. Equivalent to 'az sql db show' (show one Azure SQL database) or 'az sql db list'\r\n(list all Azure SQL databases in a server). Returns database information including configuration details\r\nand current status.", + "command": "sql db get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--server", + "description": "The Azure SQL Server name.", + "type": "string", + "required": true + }, + { + "name": "--database", + "description": "The Azure SQL Database name.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "3bddfa1a-ab9d-44f0-830a-e56a159e5469", + "name": "rename", + "description": "Rename an existing Azure SQL Database to a new name within the same SQL server. This command moves the\r\ndatabase resource to a new identifier while preserving configuration and data. Equivalent to\r\n'az sql db rename'. Returns the updated database information using the new name.", + "command": "sql db rename", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--server", + "description": "The Azure SQL Server name.", + "type": "string", + "required": true + }, + { + "name": "--database", + "description": "The Azure SQL Database name.", + "type": "string", + "required": true + }, + { + "name": "--new-database-name", + "description": "The new name for the Azure SQL Database.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "16f02fbf-6760-440a-bacc-925365b6de49", + "name": "update", + "description": "Scale and configure Azure SQL Database performance settings.\r\nUpdate an existing database's SKU, compute tier, storage capacity,\r\nor redundancy options to meet changing performance requirements.\r\nReturns the updated database configuration including applied scaling changes.", + "command": "sql db update", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--server", + "description": "The Azure SQL Server name.", + "type": "string", + "required": true + }, + { + "name": "--database", + "description": "The Azure SQL Database name.", + "type": "string", + "required": true + }, + { + "name": "--sku-name", + "description": "The SKU name for the database (e.g., Basic, S0, P1, GP_Gen5_2).", + "type": "string" + }, + { + "name": "--sku-tier", + "description": "The SKU tier for the database (e.g., Basic, Standard, Premium, GeneralPurpose).", + "type": "string" + }, + { + "name": "--sku-capacity", + "description": "The SKU capacity (DTU or vCore count) for the database.", + "type": "string" + }, + { + "name": "--collation", + "description": "The collation for the database (e.g., SQL_Latin1_General_CP1_CI_AS).", + "type": "string" + }, + { + "name": "--max-size-bytes", + "description": "The maximum size of the database in bytes.", + "type": "string" + }, + { + "name": "--elastic-pool-name", + "description": "The name of the elastic pool to assign the database to.", + "type": "string" + }, + { + "name": "--zone-redundant", + "description": "Whether the database should be zone redundant.", + "type": "string" + }, + { + "name": "--read-scale", + "description": "Read scale option for the database (Enabled or Disabled).", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "f980fda7-4bd6-4c24-b139-a091f088584f", + "name": "list", + "description": "Lists all SQL elastic pools in an Azure SQL Server with their SKU, capacity, state, and database limits.\r\nUse when you need to: view elastic pool inventory, check pool utilization, compare pool configurations,\r\nor find available pools for database placement.\r\nRequires: subscription ID, resource group name, server name.\r\nReturns: JSON array of elastic pools with complete configuration details.\r\nEquivalent to 'az sql elastic-pool list'.", + "command": "sql elastic-pool list", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--server", + "description": "The Azure SQL Server name.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "43f5f55d-2f21-47ac-b7f3-53f5d51b5218", + "name": "create", + "description": "Creates a new Azure SQL server in the specified resource group and location.\r\nThe server will be created with the specified administrator credentials and\r\noptional configuration settings. Returns the created server with its properties\r\nincluding the fully qualified domain name.", + "command": "sql server create", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--server", + "description": "The Azure SQL Server name.", + "type": "string", + "required": true + }, + { + "name": "--administrator-login", + "description": "The administrator login name for the SQL server.", + "type": "string", + "required": true + }, + { + "name": "--administrator-password", + "description": "The administrator password for the SQL server.", + "type": "string", + "required": true + }, + { + "name": "--location", + "description": "The Azure region location where the SQL server will be created.", + "type": "string", + "required": true + }, + { + "name": "--version", + "description": "The version of SQL Server to create (e.g., '12.0').", + "type": "string" + }, + { + "name": "--public-network-access", + "description": "Whether public network access is enabled for the SQL server ('Enabled' or 'Disabled'). Defaults to 'Disabled'.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "381bd0ef-5bb4-45ed-ae51-d129dcc044b2", + "name": "delete", + "description": "Remove the specified SQL server from your Azure subscription, including all associated databases.\r\nThis operation permanently deletes all server data and cannot be reversed.\r\nUse --force to bypass confirmation.", + "command": "sql server delete", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--server", + "description": "The Azure SQL Server name.", + "type": "string", + "required": true + }, + { + "name": "--force", + "description": "Force delete the server without confirmation prompts.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "240aac03-0eb0-4cd3-91f8-475577289186", + "name": "list", + "description": "Gets a list of Microsoft Entra ID administrators for a SQL server. This command retrieves all\r\nEntra ID administrators configured for the specified SQL server, including their display names, object IDs,\r\nand tenant information. Returns an array of Entra ID administrator objects with their properties.", + "command": "sql server entra-admin list", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--server", + "description": "The Azure SQL Server name.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "37c43190-c3f5-4cd2-beda-3ecc2e3ec049", + "name": "create", + "description": "Creates a firewall rule for a SQL server. Firewall rules control which IP addresses\r\nare allowed to connect to the SQL server. You can specify either a single IP address\r\n(by setting start and end IP to the same value) or a range of IP addresses. Returns\r\nthe created firewall rule with its properties.", + "command": "sql server firewall-rule create", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--server", + "description": "The Azure SQL Server name.", + "type": "string", + "required": true + }, + { + "name": "--firewall-rule-name", + "description": "The name of the firewall rule.", + "type": "string", + "required": true + }, + { + "name": "--start-ip-address", + "description": "The start IP address of the firewall rule range.", + "type": "string", + "required": true + }, + { + "name": "--end-ip-address", + "description": "The end IP address of the firewall rule range.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "f13fc5d2-7547-480b-a704-36120e2e9b92", + "name": "delete", + "description": "Deletes a firewall rule from a SQL server. This operation removes the specified\r\nfirewall rule, potentially restricting access for the IP addresses that were\r\npreviously allowed by this rule. The operation is idempotent - if the rule\r\ndoesn't exist, no error is returned.", + "command": "sql server firewall-rule delete", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--server", + "description": "The Azure SQL Server name.", + "type": "string", + "required": true + }, + { + "name": "--firewall-rule-name", + "description": "The name of the firewall rule.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "1f55cab9-0bbb-499a-a9ac-1492f11c043a", + "name": "list", + "description": "Gets a list of firewall rules for a SQL server. This command retrieves all\r\nfirewall rules configured for the specified SQL server, including their IP address ranges\r\nand rule names. Returns an array of firewall rule objects with their properties.", + "command": "sql server firewall-rule list", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--server", + "description": "The Azure SQL Server name.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "7f9a1c3e-5b7d-4a6c-8e0f-2b4d6a8c0e1f", + "name": "get", + "description": "Show, get, or list Azure SQL servers in a resource group. Shows details for a specific Azure SQL server\r\nby name, or lists all Azure SQL servers in the specified resource group. Use to show, display, or\r\nretrieve Azure SQL server information. Equivalent to 'az sql server show' (show one Azure SQL server) or\r\n'az sql server list' (list all Azure SQL servers in a resource group). Returns server information\r\nincluding configuration details and current state.", + "command": "sql server get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--server", + "description": "The Azure SQL Server name.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "a2cf843a-57f2-45ea-8078-59b0be0805e6", + "name": "create", + "description": "Creates an Azure Storage account in the specified resource group and location and returns the created storage account\r\ninformation including name, location, SKU, access settings, and configuration details.", + "command": "storage account create", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--account", + "description": "The name of the Azure Storage account to create. Must be globally unique, 3-24 characters, lowercase letters and numbers only.", + "type": "string", + "required": true + }, + { + "name": "--location", + "description": "The Azure region where the storage account will be created (e.g., 'eastus', 'westus2').", + "type": "string", + "required": true + }, + { + "name": "--sku", + "description": "The storage account SKU. Valid values: Standard_LRS, Standard_GRS, Standard_RAGRS, Standard_ZRS, Premium_LRS, Premium_ZRS, Standard_GZRS, Standard_RAGZRS.", + "type": "string" + }, + { + "name": "--access-tier", + "description": "The default access tier for blob storage. Valid values: Hot, Cool.", + "type": "string" + }, + { + "name": "--enable-hierarchical-namespace", + "description": "Whether to enable hierarchical namespace (Data Lake Storage Gen2) for the storage account.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "eb2363f1-f21f-45fc-ad63-bacfbae8c45c", + "name": "get", + "description": "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 a specific account name is not provided, the command will return details for all accounts in a subscription.", + "command": "storage account get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--account", + "description": "The name of the Azure Storage account. This is the unique name you chose for your storage account (e.g., 'mystorageaccount').", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "f5088334-e630-4df0-a5be-ac87787acad0", + "name": "create", + "description": "Create/provision a new Azure Storage blob container in a storage account.\r\n\r\nRequired: --account, --container, --subscription\r\nOptional: --tenant\r\n\r\nReturns: container name, lastModified, eTag, leaseStatus, publicAccessLevel, hasImmutabilityPolicy, hasLegalHold.\r\nCreates a logical container for organizing blobs within a storage account.", + "command": "storage blob container create", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--account", + "description": "The name of the Azure Storage account. This is the unique name you chose for your storage account (e.g., 'mystorageaccount').", + "type": "string", + "required": true + }, + { + "name": "--container", + "description": "The name of the container to access within the storage account.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "e96eb850-abb8-431d-bdc6-7ccd0a24838e", + "name": "get", + "description": "Show/list containers in a storage account. Use this tool to list all blob containers in the storage account or\r\nshow details for a specific Storage container. If no container specified, shows all containers in the storage\r\naccount, optionally filtering on a prefix. The prefix is ignored if a container is specified.\r\n\r\nRequired: --account, --subscription\r\nOptional: --container, --tenant, --prefix\r\n\r\nReturns: container name, lastModified, leaseStatus, publicAccess, metadata, and container properties.\r\nDo not use this tool to list blobs in a container.", + "command": "storage blob container get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--account", + "description": "The name of the Azure Storage account. This is the unique name you chose for your storage account (e.g., 'mystorageaccount').", + "type": "string", + "required": true + }, + { + "name": "--container", + "description": "The name of the container to access within the storage account.", + "type": "string" + }, + { + "name": "--prefix", + "description": "The prefix to filter containers when listing containers in a storage account. Only containers whose names start with the specified prefix will be listed.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "d6bdc190-e68f-49af-82e7-9cf6ec9b8183", + "name": "get", + "description": "List/get/show blobs in a blob container in Storage account. Use this tool to list the blobs in a container or\r\nget details for a specific blob. If no blob specified, lists all blobs present in the container, optionally\r\nfiltering on a prefix. The prefix is ignored if a blob is specified.\r\n\r\nRequired: --account, --container, --subscription\r\nOptional: --blob, --tenant, --prefix\r\n\r\nReturns: blob name, size, lastModified, contentType, contentHash, metadata, and blob properties.\r\nDo not use this tool to list containers in the storage account.", + "command": "storage blob get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--account", + "description": "The name of the Azure Storage account. This is the unique name you chose for your storage account (e.g., 'mystorageaccount').", + "type": "string", + "required": true + }, + { + "name": "--container", + "description": "The name of the container to access within the storage account.", + "type": "string", + "required": true + }, + { + "name": "--blob", + "description": "The name of the blob to access within the container. This should be the full path within the container (e.g., 'file.txt' or 'folder/file.txt').", + "type": "string" + }, + { + "name": "--prefix", + "description": "The prefix to filter blobs when listing blobs in a container. Only blobs whose names start with the specified prefix will be listed.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "aafb82ac-e35a-4800-b362-c642a3ac1e17", + "name": "upload", + "description": "Uploads a local file to an Azure Storage blob, only if the blob does not exist, returning the last modified time,\r\nETag, and content hash of the uploaded blob.", + "command": "storage blob upload", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--account", + "description": "The name of the Azure Storage account. This is the unique name you chose for your storage account (e.g., 'mystorageaccount').", + "type": "string", + "required": true + }, + { + "name": "--container", + "description": "The name of the container to access within the storage account.", + "type": "string", + "required": true + }, + { + "name": "--blob", + "description": "The name of the blob to access within the container. This should be the full path within the container (e.g., 'file.txt' or 'folder/file.txt').", + "type": "string", + "required": true + }, + { + "name": "--local-file-path", + "description": "The local file path to read content from or to write content to. This should be the full path to the file on your local system.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": true + }, + { + "id": "1236ad1d-baf1-4b95-8c1d-420637ce08da", + "name": "list", + "description": "List all tables in an Azure Storage account. Shows table names for the specified storage account. Required: account, subscription. Optional: tenant. Returns: table names. Do not use this tool for Cosmos DB tables or Kusto/Data Explorer tables.", + "command": "storage table list", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--account", + "description": "The name of the Azure Storage account. This is the unique name you chose for your storage account (e.g., 'mystorageaccount').", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "96f096a2-d36f-4361-aa74-4e393e7f48a5", + "name": "changedetection", + "description": "Trigger change detection on a cloud endpoint to sync file changes.", + "command": "storagesync cloudendpoint changedetection", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--name", + "description": "The name of the storage sync service", + "type": "string", + "required": true + }, + { + "name": "--sync-group-name", + "description": "The name of the sync group", + "type": "string", + "required": true + }, + { + "name": "--cloud-endpoint-name", + "description": "The name of the cloud endpoint", + "type": "string", + "required": true + }, + { + "name": "--directory-path", + "description": "Relative path to a directory on the Azure File share for which change detection is to be performed", + "type": "string", + "required": true + }, + { + "name": "--change-detection-mode", + "description": "Change detection mode: 'Default' (directory only) or 'Recursive' (directory and subdirectories). Applies to the directory specified in directory-path", + "type": "string" + }, + { + "name": "--paths", + "description": "Array of relative paths on the Azure File share to be included in change detection. Can be files and directories", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "df0d4ae3-519a-44f1-ad30-d25a0985e9c2", + "name": "create", + "description": "Add a cloud endpoint to a sync group by connecting an Azure File Share. Cloud endpoints represent the Azure storage side of the sync relationship.", + "command": "storagesync cloudendpoint create", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--name", + "description": "The name of the storage sync service", + "type": "string", + "required": true + }, + { + "name": "--sync-group-name", + "description": "The name of the sync group", + "type": "string", + "required": true + }, + { + "name": "--cloud-endpoint-name", + "description": "The name of the cloud endpoint", + "type": "string", + "required": true + }, + { + "name": "--storage-account-resource-id", + "description": "The resource ID of the Azure storage account", + "type": "string", + "required": true + }, + { + "name": "--azure-file-share-name", + "description": "The name of the Azure file share", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "f5e76906-cc2a-41a4-b4f9-498221aaaf2e", + "name": "delete", + "description": "Delete a cloud endpoint from a sync group.", + "command": "storagesync cloudendpoint delete", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--name", + "description": "The name of the storage sync service", + "type": "string", + "required": true + }, + { + "name": "--sync-group-name", + "description": "The name of the sync group", + "type": "string", + "required": true + }, + { + "name": "--cloud-endpoint-name", + "description": "The name of the cloud endpoint", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "25dd8bb3-5ba3-4c0d-993d-54917f63d52e", + "name": "get", + "description": "List all cloud endpoints in a sync group or retrieve details about a specific cloud endpoint. Returns cloud endpoint properties including Azure File Share configuration, storage account details, and provisioning state. Use --cloud-endpoint-name for a specific endpoint.", + "command": "storagesync cloudendpoint get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--name", + "description": "The name of the storage sync service", + "type": "string", + "required": true + }, + { + "name": "--sync-group-name", + "description": "The name of the sync group", + "type": "string", + "required": true + }, + { + "name": "--cloud-endpoint-name", + "description": "The name of the cloud endpoint", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "fe3b07c3-9a11-465e-bfb6-6461b85b2e52", + "name": "get", + "description": "List all registered servers in a Storage Sync service or retrieve details about a specific registered server. Returns server properties including server ID, registration status, agent version, OS version, and last heartbeat. Use --server-id for a specific server.", + "command": "storagesync registeredserver get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--name", + "description": "The name of the storage sync service", + "type": "string", + "required": true + }, + { + "name": "--server-id", + "description": "The ID/name of the registered server", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "346661e1-64be-463a-96c6-3626966f55fa", + "name": "unregister", + "description": "Unregister a server from a Storage Sync service.", + "command": "storagesync registeredserver unregister", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--name", + "description": "The name of the storage sync service", + "type": "string", + "required": true + }, + { + "name": "--server-id", + "description": "The ID/name of the registered server", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "c443ed00-f17f-46a8-a5d3-df128aa1606b", + "name": "update", + "description": "Update properties of a registered server.", + "command": "storagesync registeredserver update", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--name", + "description": "The name of the storage sync service", + "type": "string", + "required": true + }, + { + "name": "--server-id", + "description": "The ID/name of the registered server", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "fcbdf461-6fde-4cfb-a944-4a56a2be90e4", + "name": "create", + "description": "Add a server endpoint to a sync group by specifying a local server path to sync. Server endpoints represent the on-premises side of the sync relationship and include cloud tiering configuration.", + "command": "storagesync serverendpoint create", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--name", + "description": "The name of the storage sync service", + "type": "string", + "required": true + }, + { + "name": "--sync-group-name", + "description": "The name of the sync group", + "type": "string", + "required": true + }, + { + "name": "--server-endpoint-name", + "description": "The name of the server endpoint", + "type": "string", + "required": true + }, + { + "name": "--server-resource-id", + "description": "The resource ID of the registered server", + "type": "string", + "required": true + }, + { + "name": "--server-local-path", + "description": "The local folder path on the server for syncing", + "type": "string", + "required": true + }, + { + "name": "--cloud-tiering", + "description": "Enable cloud tiering on this endpoint", + "type": "string" + }, + { + "name": "--volume-free-space-percent", + "description": "Volume free space percentage to maintain (1-99, default 20)", + "type": "string" + }, + { + "name": "--tier-files-older-than-days", + "description": "Archive files not accessed for this many days", + "type": "string" + }, + { + "name": "--local-cache-mode", + "description": "Local cache mode: DownloadNewAndModifiedFiles, UpdateLocallyCachedFiles", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "ef6c2aa9-bb64-4f94-b18b-018e04b504c9", + "name": "delete", + "description": "Delete a server endpoint from a sync group.", + "command": "storagesync serverendpoint delete", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--name", + "description": "The name of the storage sync service", + "type": "string", + "required": true + }, + { + "name": "--sync-group-name", + "description": "The name of the sync group", + "type": "string", + "required": true + }, + { + "name": "--server-endpoint-name", + "description": "The name of the server endpoint", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "cf197b94-6aa6-403b-8679-3a1ce5440ca3", + "name": "get", + "description": "List all server endpoints in a sync group or retrieve details about a specific server endpoint. Returns server endpoint properties including local path, cloud tiering status, sync health, and provisioning state. Use --name for a specific endpoint.", + "command": "storagesync serverendpoint get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--name", + "description": "The name of the storage sync service", + "type": "string", + "required": true + }, + { + "name": "--sync-group-name", + "description": "The name of the sync group", + "type": "string", + "required": true + }, + { + "name": "--server-endpoint-name", + "description": "The name of the server endpoint", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "7b35bb46-0a34-4e44-9d7c-148e9992b445", + "name": "update", + "description": "Update properties of a server endpoint.", + "command": "storagesync serverendpoint update", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--name", + "description": "The name of the storage sync service", + "type": "string", + "required": true + }, + { + "name": "--sync-group-name", + "description": "The name of the sync group", + "type": "string", + "required": true + }, + { + "name": "--server-endpoint-name", + "description": "The name of the server endpoint", + "type": "string", + "required": true + }, + { + "name": "--cloud-tiering", + "description": "Enable cloud tiering on this endpoint", + "type": "string" + }, + { + "name": "--volume-free-space-percent", + "description": "Volume free space percentage to maintain (1-99, default 20)", + "type": "string" + }, + { + "name": "--tier-files-older-than-days", + "description": "Archive files not accessed for this many days", + "type": "string" + }, + { + "name": "--local-cache-mode", + "description": "Local cache mode: DownloadNewAndModifiedFiles, UpdateLocallyCachedFiles", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "7c76387f-c62e-48d1-af3b-d444d6b3b79c", + "name": "create", + "description": "Create a new Azure Storage Sync service resource in a resource group. This is the top-level service container that manages sync groups, registered servers, and synchronization workflows.", + "command": "storagesync service create", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--name", + "description": "The name of the storage sync service", + "type": "string", + "required": true + }, + { + "name": "--location", + "description": "The Azure region/location name (e.g., EastUS, WestEurope)", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "a7dcf4e2-fd1d-4d0a-acd3-f56ea5eceef6", + "name": "delete", + "description": "Delete an Azure Storage Sync service and all its associated resources.", + "command": "storagesync service delete", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--name", + "description": "The name of the storage sync service", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "77734a55-8290-4c16-8b37-cf37277f018f", + "name": "get", + "description": "Retrieve Azure Storage Sync service details or list all Storage Sync services. Use --name to get a specific service, or omit it to list all services in the subscription or resource group. Shows service properties, location, provisioning state, and configuration.", + "command": "storagesync service get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--name", + "description": "The name of the storage sync service", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "15db4769-1941-4b1e-9514-867b0f68eb2c", + "name": "update", + "description": "Update properties of an existing Azure Storage Sync service.", + "command": "storagesync service update", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--name", + "description": "The name of the storage sync service", + "type": "string", + "required": true + }, + { + "name": "--incoming-traffic-policy", + "description": "Incoming traffic policy for the service (AllowAllTraffic or AllowVirtualNetworksOnly)", + "type": "string" + }, + { + "name": "--tags", + "description": "Tags to assign to the service (space-separated key=value pairs)", + "type": "string" + }, + { + "name": "--identity-type", + "description": "Managed service identity type (None, SystemAssigned, UserAssigned, SystemAssigned,UserAssigned)", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "3572833c-4fc2-4bb9-9eed-52ae8b8899b8", + "name": "create", + "description": "Create a sync group within an existing Storage Sync service. Sync groups define a sync topology and contain cloud endpoints (Azure File Shares) and server endpoints (local server paths) that sync together.", + "command": "storagesync syncgroup create", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--name", + "description": "The name of the storage sync service", + "type": "string", + "required": true + }, + { + "name": "--sync-group-name", + "description": "The name of the sync group", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "c8f91bd7-ea1d-4af4-9703-fe83c43b34b5", + "name": "delete", + "description": "Remove a sync group from a Storage Sync service. Deleting a sync group also removes all associated cloud endpoints and server endpoints within that group.", + "command": "storagesync syncgroup delete", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--name", + "description": "The name of the storage sync service", + "type": "string", + "required": true + }, + { + "name": "--sync-group-name", + "description": "The name of the sync group", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "95ce2336-19e6-40fb-a3ea-e2a76772036b", + "name": "get", + "description": "Get details about a specific sync group or list all sync groups. If --sync-group-name is provided, returns a specific sync group; otherwise, lists all sync groups in the Storage Sync service.", + "command": "storagesync syncgroup get", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--name", + "description": "The name of the storage sync service", + "type": "string", + "required": true + }, + { + "name": "--sync-group-name", + "description": "The name of the sync group", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "72bbe80e-ca42-4a43-8f02-45495bca1179", + "name": "list", + "description": "List all Azure subscriptions for the current account. Returns subscriptionId, displayName, state, tenantId, and isDefault for each subscription. The isDefault field indicates the user's default subscription as resolved from the Azure CLI profile (configured via 'az account set') or, if not set there, from the AZURE_SUBSCRIPTION_ID environment variable. When the user has not specified a subscription, prefer the subscription where isDefault is true. If no default can be determined from either source and multiple subscriptions exist, ask the user which subscription to use.", + "command": "subscription list", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "63de05a7-047d-4f8a-86ea-cebd64527e2b", + "name": "list", + "description": "List all available commands and their tools in a hierarchical structure. This command returns detailed information\r\nabout each command, including its name, description, full command path, available subcommands, and all supported\r\narguments. Use --name-only to return only tool names, and --namespace to filter by specific namespaces.", + "command": "tools list", + "option": [ + { + "name": "--namespace-mode", + "description": "If specified, returns a list of top-level service namespaces instead of individual tools.", + "type": "string" + }, + { + "name": "--namespace", + "description": "Filter tools by namespace (e.g., 'storage', 'keyvault'). Can be specified multiple times to include multiple namespaces.", + "type": "string" + }, + { + "name": "--name-only", + "description": "If specified, returns only tool names without descriptions or metadata.", + "type": "string" + }, + { + "name": "--include-hidden", + "description": "If specified, includes hidden commands in the output.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "6f543101-3c70-41bd-a6ed-5cc4af716081", + "name": "list", + "description": "List all SessionHosts in a hostpool. This command retrieves all Azure Virtual Desktop SessionHost objects available\r\nin the specified --subscription and hostpool. Results include SessionHost details and are\r\nreturned as a JSON array.", + "command": "virtualdesktop hostpool host list", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--hostpool", + "description": "The name of the Azure Virtual Desktop host pool. This is the unique name you chose for your hostpool.", + "type": "string" + }, + { + "name": "--hostpool-resource-id", + "description": "The Azure resource ID of the host pool. When provided, this will be used instead of searching by name.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "1653a208-ac9f-4e51-996f-fe2d29a79b2b", + "name": "user-list", + "description": "List all user sessions on a specific session host in a host pool. This command retrieves all Azure Virtual Desktop\r\nuser session objects available on the specified session host. Results include user session details such as\r\nuser principal name, session state, application type, and creation time.", + "command": "virtualdesktop hostpool host user-list", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--hostpool", + "description": "The name of the Azure Virtual Desktop host pool. This is the unique name you chose for your hostpool.", + "type": "string" + }, + { + "name": "--hostpool-resource-id", + "description": "The Azure resource ID of the host pool. When provided, this will be used instead of searching by name.", + "type": "string" + }, + { + "name": "--sessionhost", + "description": "The name of the session host. This is the computer name of the virtual machine in the host pool.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "bf0ae005-7dfd-4f96-8f45-3d0ba07f81ed", + "name": "list", + "description": "List all hostpools in a subscription or resource group. This command retrieves all Azure Virtual Desktop hostpool objects available\r\nin the specified --subscription. If a resource group is specified, only hostpools in that resource group are returned.\r\nResults include hostpool names and are returned as a JSON array.", + "command": "virtualdesktop hostpool list", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "a7d4e9f2-8c3b-4a1e-9f5d-6b2c8e4a7d3f", + "name": "get", + "description": "Get Azure Well-Architected Framework guidance for a specific Azure service, or list all supported services when no service is specified. When a service is provided, returns architectural best practices, design patterns, and recommendations based on the five pillars: reliability, security, cost optimization, operational excellence, and performance efficiency.\r\nOptional: --service: A single Azure service name. Service name format: case-insensitive; hyphens, underscores, spaces, and name variations allowed; use double quotes (not single quotes) for names with spaces. e.g., cosmos-db, Cosmos_DB, \"Cosmos DB\", cosmosdb, cosmos-database, cosmosdatabase", + "command": "wellarchitectedframework serviceguide get", + "option": [ + { + "name": "--service", + "description": "A single Azure service name. Service name format: case-insensitive; hyphens, underscores, spaces, and name variations allowed; use double quotes (not single quotes) for names with spaces. e.g., cosmos-db, Cosmos_DB, \"Cosmos DB\", cosmosdb, cosmos-database, cosmosdatabase", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "a49c650d-8568-4b63-8bad-35eb6d9ab0a7", + "name": "create", + "description": "Create a new workbook in the specified resource group and subscription.\r\nYou can set the display name and serialized data JSON content for the workbook.\r\nReturns the created workbook information upon successful completion.", + "command": "workbooks create", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + { + "name": "--display-name", + "description": "The display name of the workbook.", + "type": "string", + "required": true + }, + { + "name": "--serialized-content", + "description": "The serialized JSON content of the workbook.", + "type": "string", + "required": true + }, + { + "name": "--source-id", + "description": "The linked resource ID for the workbook. By default, this is 'azure monitor'.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "17bb94ef-9df1-45d2-a1a0-ed57656ca067", + "name": "delete", + "description": "Delete one or more workbooks by their Azure resource IDs.\r\nThis command soft deletes workbooks: they will be retained for 90 days.\r\nIf needed, you can restore them from the Recycle Bin through the Azure Portal.\r\n\r\nBATCH: Accepts multiple --workbook-ids values. Partial failures are reported per-workbook.\r\nIndividual failures do not fail the entire batch operation.\r\n\r\nTo learn more, visit: https://learn.microsoft.com/azure/azure-monitor/visualize/workbooks-manage", + "command": "workbooks delete", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--workbook-ids", + "description": "The Azure Resource IDs of the workbooks to operate on (supports multiple values for batch operations).", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "c4c90435-fbc0-4598-ba82-3b9213d58b26", + "name": "list", + "description": "Search Azure Workbooks using Resource Graph (fast metadata query).\r\n\r\nUSE FOR: Discovery, filtering, counting workbooks across scopes.\r\nRETURNS: Workbook metadata (id, name, location, category, timestamps).\r\nDOES NOT RETURN: Full workbook content (serializedData) by default - use 'show' for that or set --output-format=full.\r\n\r\nSCOPE: By default searches workbooks in your current Azure context (tenant/subscription). Use --subscription and --resource-group to explicitly control scope.\r\nTOTAL COUNT: Returns server-side total count by default (not just returned items).\r\nMAX RESULTS: Default 50, max 1000. Use --max-results to adjust.\r\nOUTPUT FORMAT: Use --output-format=summary for minimal tokens, --output-format=full for serializedData.\r\n\r\nFILTERS: --name-contains, --category, --kind, --source-id, --modified-after for semantic filtering.", + "command": "workbooks list", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--kind", + "description": "Filter workbooks by kind (e.g., 'shared', 'user'). If not specified, all kinds will be returned.", + "type": "string" + }, + { + "name": "--category", + "description": "Filter workbooks by category (e.g., 'workbook', 'sentinel', 'TSG'). If not specified, all categories will be returned.", + "type": "string" + }, + { + "name": "--source-id", + "description": "Filter workbooks by source resource ID (e.g., Application Insights resource, Log Analytics workspace). If not specified, all workbooks will be returned.", + "type": "string" + }, + { + "name": "--name-contains", + "description": "Filter workbooks where display name contains this text (case-insensitive).", + "type": "string" + }, + { + "name": "--modified-after", + "description": "Filter workbooks modified after this date (ISO 8601 format, e.g., '2024-01-15').", + "type": "string" + }, + { + "name": "--output-format", + "description": "Output format: 'summary' (id+name only, minimal tokens), 'standard' (metadata without content, default), 'full' (includes serializedData).", + "type": "string" + }, + { + "name": "--max-results", + "description": "Maximum number of results to return (default: 50, max: 1000).", + "type": "string" + }, + { + "name": "--include-total-count", + "description": "Include total count of all matching workbooks in the response (default: true).", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "a7a882cd-1729-49ed-b349-2a79f8c7de56", + "name": "show", + "description": "Retrieve full workbook details via ARM API (includes serializedData content).\r\n\r\nUSE FOR: Getting complete workbook definition including visualization JSON.\r\nRETURNS: Full workbook properties, serializedData, tags, etag.\r\n\r\nBATCH: Accepts multiple --workbook-ids values. Partial failures reported per-workbook.\r\nPERFORMANCE: Use 'list' first for discovery, then 'show' for specific workbooks.", + "command": "workbooks show", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--workbook-ids", + "description": "The Azure Resource IDs of the workbooks to operate on (supports multiple values for batch operations).", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "9efdc32c-22bc-4b85-8b5c-2fbefc0e927e", + "name": "update", + "description": "Updates properties of an existing Azure Workbook by adding new steps, modifying content, or changing the display name. Returns the updated workbook details. Requires the workbook resource ID and either new serialized content or a new display name.", + "command": "workbooks update", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--workbook-id", + "description": "The Azure Resource ID of the workbook to retrieve.", + "type": "string", + "required": true + }, + { + "name": "--display-name", + "description": "The display name of the workbook.", + "type": "string" + }, + { + "name": "--serialized-content", + "description": "The JSON serialized content/data of the workbook.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + } +] diff --git a/servers/Fabric.Mcp.Server/tools.json b/servers/Fabric.Mcp.Server/tools.json new file mode 100644 index 0000000000..32f44ca4a3 --- /dev/null +++ b/servers/Fabric.Mcp.Server/tools.json @@ -0,0 +1,1783 @@ +[ + { + "id": "bfdfd3c0-4551-4454-a930-5bf5b1ad5690", + "name": "create-item", + "description": "Creates a new item in a Fabric workspace. Use this when the user wants to create a Lakehouse, Notebook, or other Fabric item type. Requires workspace ID, item name, and item type.", + "command": "core create-item", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--workspace-id", + "description": "The ID of the Microsoft Fabric workspace.", + "type": "string" + }, + { + "name": "--workspace", + "description": "The name or ID of the Microsoft Fabric workspace.", + "type": "string" + }, + { + "name": "--display-name", + "description": "The display name for the item.", + "type": "string", + "required": true + }, + { + "name": "--item-type", + "description": "The type of the Fabric item (e.g., Lakehouse, Notebook, etc.).", + "type": "string", + "required": true + }, + { + "name": "--description", + "description": "The description for the item.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "3efdeea3-ee84-43e7-b7a9-c4accb03795a", + "name": "api-examples", + "description": "Retrieves example API request and response files for a Fabric workload. Use this when the user needs sample API calls or implementation examples. Returns dictionary of example files with their contents.", + "command": "docs api-examples", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--workload-type", + "description": "The type of Microsoft Fabric workload.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "0a73ecc9-d257-4ff3-8e05-fd3158c2cd31", + "name": "best-practices", + "description": "Retrieves embedded best practice documentation for a specific Fabric topic. Use this when the user needs guidance, recommendations, or implementation patterns for Fabric features. Returns detailed best practice content.", + "command": "docs best-practices", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--topic", + "description": "The best practice topic to retrieve documentation for.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "445c49f3-2a5d-478a-82ca-87fde1a7943e", + "name": "item-definitions", + "description": "Retrieves JSON schema definitions for items in a Fabric workload API. Use this when the user needs to understand item structure or validate item definitions. Returns schema definitions for the specified workload.", + "command": "docs item-definitions", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--workload-type", + "description": "The type of Microsoft Fabric workload.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "2338df97-d6d9-4f1d-9e92-e118efe9c643", + "name": "platform-api-spec", + "description": "Retrieves the OpenAPI specification for core Fabric platform APIs. Use this when the user needs documentation for cross-workload platform APIs like workspace management. Returns complete platform API specification.", + "command": "docs platform-api-spec", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "97229a98-c1ae-4255-a6e2-07631c2a42c5", + "name": "workload-api-spec", + "description": "Retrieves the complete OpenAPI specification for a specific Fabric workload. Use this when the user needs detailed API documentation for a workload like notebooks or reports. Returns full API spec in JSON format.", + "command": "docs workload-api-spec", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--workload-type", + "description": "The type of Microsoft Fabric workload.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "b1f80251-df7b-4054-953b-5f452c42dd09", + "name": "workloads", + "description": "Lists Fabric workload types that have public API specifications available. Use this when the user needs to discover what APIs exist for Fabric workloads. Returns workload names like notebook, report, or platform.", + "command": "docs workloads", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "0c4cf0f4-2ef4-4f1d-9f80-24fd7636d5fe", + "name": "create_directory", + "description": "Creates a directory in OneLake storage. Use this when the user needs to organize files or prepare folder structures. Can create nested directory paths.", + "command": "onelake create directory", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--workspace-id", + "description": "The ID of the Microsoft Fabric workspace.", + "type": "string" + }, + { + "name": "--workspace", + "description": "The name or ID of the Microsoft Fabric workspace.", + "type": "string" + }, + { + "name": "--item-id", + "description": "The ID of the Fabric item.", + "type": "string" + }, + { + "name": "--item", + "description": "The name or ID of the Fabric item. When using friendly names, MUST include the item type suffix (e.g., 'ItemName.Lakehouse', 'ItemName.Warehouse').", + "type": "string" + }, + { + "name": "--directory-path", + "description": "The path to the directory in OneLake.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "86991cd6-75fa-4870-9d99-f986ba9f5f73", + "name": "delete_directory", + "description": "Deletes a directory from OneLake storage. Use this when the user wants to remove a folder. Use recursive flag to delete non-empty directories.", + "command": "onelake delete directory", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--workspace-id", + "description": "The ID of the Microsoft Fabric workspace.", + "type": "string" + }, + { + "name": "--workspace", + "description": "The name or ID of the Microsoft Fabric workspace.", + "type": "string" + }, + { + "name": "--item-id", + "description": "The ID of the Fabric item.", + "type": "string" + }, + { + "name": "--item", + "description": "The name or ID of the Fabric item. When using friendly names, MUST include the item type suffix (e.g., 'ItemName.Lakehouse', 'ItemName.Warehouse').", + "type": "string" + }, + { + "name": "--directory-path", + "description": "The path to the directory in OneLake.", + "type": "string" + }, + { + "name": "--recursive", + "description": "Whether to perform the operation recursively.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "0aa3f887-0085-4141-8e34-f0cf1ed44f71", + "name": "delete_file", + "description": "Deletes a file from OneLake storage. Use this when the user wants to remove a specific file. Permanently removes the file at the specified path.", + "command": "onelake delete file", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--workspace-id", + "description": "The ID of the Microsoft Fabric workspace.", + "type": "string" + }, + { + "name": "--workspace", + "description": "The name or ID of the Microsoft Fabric workspace.", + "type": "string" + }, + { + "name": "--item-id", + "description": "The ID of the Fabric item.", + "type": "string" + }, + { + "name": "--item", + "description": "The name or ID of the Fabric item. When using friendly names, MUST include the item type suffix (e.g., 'ItemName.Lakehouse', 'ItemName.Warehouse').", + "type": "string" + }, + { + "name": "--file-path", + "description": "The path to the file in OneLake.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "75d6cb4c-4e81-4e69-a4ec-eca53a7dacd9", + "name": "download_file", + "description": "Downloads a file from OneLake storage. Use this when the user needs to retrieve file content or metadata. Returns base64 content, metadata, and text when applicable.", + "command": "onelake download file", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--workspace-id", + "description": "The ID of the Microsoft Fabric workspace.", + "type": "string" + }, + { + "name": "--workspace", + "description": "The name or ID of the Microsoft Fabric workspace.", + "type": "string" + }, + { + "name": "--item-id", + "description": "The ID of the Fabric item.", + "type": "string" + }, + { + "name": "--item", + "description": "The name or ID of the Fabric item. When using friendly names, MUST include the item type suffix (e.g., 'ItemName.Lakehouse', 'ItemName.Warehouse').", + "type": "string" + }, + { + "name": "--file-path", + "description": "The path to the file in OneLake.", + "type": "string", + "required": true + }, + { + "name": "--download-file-path", + "description": "Local path to save the downloaded content when running locally.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "19bb5a6a-2a09-410c-bfa0-312986c6acc6", + "name": "get_table", + "description": "Retrieves table definition from OneLake. Use this when the user needs table schema or metadata.", + "command": "onelake get table", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--workspace-id", + "description": "The ID of the Microsoft Fabric workspace.", + "type": "string" + }, + { + "name": "--workspace", + "description": "The name or ID of the Microsoft Fabric workspace.", + "type": "string" + }, + { + "name": "--item-id", + "description": "The ID of the Fabric item.", + "type": "string" + }, + { + "name": "--item", + "description": "The name or ID of the Fabric item. When using friendly names, MUST include the item type suffix (e.g., 'ItemName.Lakehouse', 'ItemName.Warehouse').", + "type": "string" + }, + { + "name": "--namespace", + "description": "The table namespace (schema) to inspect within the OneLake table API.", + "type": "string", + "required": true + }, + { + "name": "--schema", + "description": "Alias for --namespace when specifying table schemas in the OneLake table API.", + "type": "string" + }, + { + "name": "--table", + "description": "The table name exposed by the OneLake table API.", + "type": "string", + "required": true + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "bc15c475-0329-4cc3-aaa8-0e9f3fbde6f8", + "name": "get_table_config", + "description": "Retrieves table API configuration for OneLake. Use this when the user needs to understand table access settings.", + "command": "onelake get table config", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--workspace-id", + "description": "The ID of the Microsoft Fabric workspace.", + "type": "string" + }, + { + "name": "--workspace", + "description": "The name or ID of the Microsoft Fabric workspace.", + "type": "string" + }, + { + "name": "--item-id", + "description": "The ID of the Fabric item.", + "type": "string" + }, + { + "name": "--item", + "description": "The name or ID of the Fabric item. When using friendly names, MUST include the item type suffix (e.g., 'ItemName.Lakehouse', 'ItemName.Warehouse').", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "a86298d1-7475-4ea8-8c1b-e4c54ac2b896", + "name": "get_table_namespace", + "description": "Retrieves metadata for a specific table namespace. Use this when the user needs details about a namespace.", + "command": "onelake get table namespace", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--workspace-id", + "description": "The ID of the Microsoft Fabric workspace.", + "type": "string" + }, + { + "name": "--workspace", + "description": "The name or ID of the Microsoft Fabric workspace.", + "type": "string" + }, + { + "name": "--item-id", + "description": "The ID of the Fabric item.", + "type": "string" + }, + { + "name": "--item", + "description": "The name or ID of the Fabric item. When using friendly names, MUST include the item type suffix (e.g., 'ItemName.Lakehouse', 'ItemName.Warehouse').", + "type": "string" + }, + { + "name": "--namespace", + "description": "The table namespace (schema) to inspect within the OneLake table API.", + "type": "string", + "required": true + }, + { + "name": "--schema", + "description": "Alias for --namespace when specifying table schemas in the OneLake table API.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "3bf1b82d-ff44-4984-9b97-0e6d9e4917a3", + "name": "list_files", + "description": "List files and directories in OneLake storage using a filesystem-style hierarchical view, similar to Azure Data Lake Storage Gen2. \r\nShows directory structure with paths, sizes, timestamps, and metadata. Use this to explore OneLake content in a filesystem format \r\nrather than flat blob listing. Supports optional path filtering and recursive directory traversal.\r\n\r\nIf no path is specified, intelligently discovers content by searching both Files and Tables folders automatically,\r\nproviding comprehensive visibility across all top-level OneLake folders.\r\n\r\nUse --format=raw to get the unprocessed OneLake DFS API response for debugging and analysis.", + "command": "onelake list files", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--workspace-id", + "description": "The ID of the Microsoft Fabric workspace.", + "type": "string" + }, + { + "name": "--workspace", + "description": "The name or ID of the Microsoft Fabric workspace.", + "type": "string" + }, + { + "name": "--item-id", + "description": "The ID of the Fabric item.", + "type": "string" + }, + { + "name": "--item", + "description": "The name or ID of the Fabric item. When using friendly names, MUST include the item type suffix (e.g., 'ItemName.Lakehouse', 'ItemName.Warehouse').", + "type": "string" + }, + { + "name": "--path", + "description": "The path to list in OneLake storage (optional, defaults to root).", + "type": "string" + }, + { + "name": "--recursive", + "description": "Whether to perform the operation recursively.", + "type": "string" + }, + { + "name": "--format", + "description": "Output format for OneLake API responses. Use 'json' for parsed objects, 'xml' for raw XML API response, or 'raw' for unprocessed API response. Supported values: 'json' (default), 'xml', 'raw'.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "61eb86d8-3879-4d2d-969a-6c96f2e0ce0d", + "name": "list_items", + "description": "Lists OneLake items in a Fabric workspace using the high-level OneLake API. Use this when the user needs to see what items exist in a workspace. Returns item names, types, and metadata.", + "command": "onelake list items", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--workspace-id", + "description": "The ID of the Microsoft Fabric workspace.", + "type": "string" + }, + { + "name": "--workspace", + "description": "The name or ID of the Microsoft Fabric workspace.", + "type": "string" + }, + { + "name": "--continuation-token", + "description": "Token for retrieving the next page of results.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "8925d0c4-becf-4b5a-8af1-3e998c1058ec", + "name": "list_items_dfs", + "description": "List OneLake items in a workspace using the OneLake DFS (Data Lake File System) data API.", + "command": "onelake list items dfs", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--workspace-id", + "description": "The ID of the Microsoft Fabric workspace.", + "type": "string" + }, + { + "name": "--workspace", + "description": "The name or ID of the Microsoft Fabric workspace.", + "type": "string" + }, + { + "name": "--recursive", + "description": "Whether to perform the operation recursively.", + "type": "string" + }, + { + "name": "--continuation-token", + "description": "Token for retrieving the next page of results.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "173cfc00-7c12-486d-a0e7-c0d4c1de23fd", + "name": "list_table_namespaces", + "description": "Lists table namespaces in OneLake. Use this when the user needs to discover available table namespaces.", + "command": "onelake list table namespaces", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--workspace-id", + "description": "The ID of the Microsoft Fabric workspace.", + "type": "string" + }, + { + "name": "--workspace", + "description": "The name or ID of the Microsoft Fabric workspace.", + "type": "string" + }, + { + "name": "--item-id", + "description": "The ID of the Fabric item.", + "type": "string" + }, + { + "name": "--item", + "description": "The name or ID of the Fabric item. When using friendly names, MUST include the item type suffix (e.g., 'ItemName.Lakehouse', 'ItemName.Warehouse').", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "7b1688e5-2a16-475d-8fd1-9bf3b0acf4f7", + "name": "list_tables", + "description": "Lists tables in OneLake. Use this when the user needs to see available tables.", + "command": "onelake list tables", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--workspace-id", + "description": "The ID of the Microsoft Fabric workspace.", + "type": "string" + }, + { + "name": "--workspace", + "description": "The name or ID of the Microsoft Fabric workspace.", + "type": "string" + }, + { + "name": "--item-id", + "description": "The ID of the Fabric item.", + "type": "string" + }, + { + "name": "--item", + "description": "The name or ID of the Fabric item. When using friendly names, MUST include the item type suffix (e.g., 'ItemName.Lakehouse', 'ItemName.Warehouse').", + "type": "string" + }, + { + "name": "--namespace", + "description": "The table namespace (schema) to inspect within the OneLake table API.", + "type": "string", + "required": true + }, + { + "name": "--schema", + "description": "Alias for --namespace when specifying table schemas in the OneLake table API.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "5f005a27-9838-4c09-9785-55ce49963c97", + "name": "list_workspaces", + "description": "Lists all Fabric workspaces accessible via OneLake data plane API. Use this when the user needs to view available workspaces or select a workspace for data operations. Returns workspace names and IDs.", + "command": "onelake list workspaces", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--continuation-token", + "description": "Token for retrieving the next page of results.", + "type": "string" + }, + { + "name": "--format", + "description": "Output format for OneLake API responses. Use 'json' for parsed objects, 'xml' for raw XML API response, or 'raw' for unprocessed API response. Supported values: 'json' (default), 'xml', 'raw'.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "f6b3249d-6481-4e80-9d34-0d6867718dd7", + "name": "upload_file", + "description": "Uploads a file to OneLake storage from inline content or local file path. Use this when the user needs to store data in OneLake. Supports overwrite control and content type specification.", + "command": "onelake upload file", + "option": [ + { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + { + "name": "--workspace-id", + "description": "The ID of the Microsoft Fabric workspace.", + "type": "string" + }, + { + "name": "--workspace", + "description": "The name or ID of the Microsoft Fabric workspace.", + "type": "string" + }, + { + "name": "--item-id", + "description": "The ID of the Fabric item.", + "type": "string" + }, + { + "name": "--item", + "description": "The name or ID of the Fabric item. When using friendly names, MUST include the item type suffix (e.g., 'ItemName.Lakehouse', 'ItemName.Warehouse').", + "type": "string" + }, + { + "name": "--file-path", + "description": "The path to the file in OneLake.", + "type": "string", + "required": true + }, + { + "name": "--content", + "description": "The content to write to the file.", + "type": "string" + }, + { + "name": "--local-file-path", + "description": "The path to a local file to upload.", + "type": "string" + }, + { + "name": "--overwrite", + "description": "Whether to overwrite existing files.", + "type": "string" + }, + { + "name": "--content-type", + "description": "MIME content type to set on the uploaded file (e.g., 'application/json'). Defaults to 'application/octet-stream'.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "add0f6fe-258c-45c4-af74-0c165d4913cb", + "name": "info", + "description": "Displays running MCP server information.", + "command": "server info", + "option": [ + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "b3e7c1a2-4f85-4d9e-a6c3-8f2b1e0d7a94", + "name": "plugin-telemetry", + "description": "Publish plugin-related telemetry events from agent hooks.\r\nAccepts command-line options such as '--timestamp', '--event-type', '--session-id', '--client-type', '--client-name', \r\n'--plugin-name', '--plugin-version', '--skill-name', '--skill-version', '--tool-name', and '--file-reference'. \r\nUse this command from agent hooks in clients like VS Code, Claude Desktop, or Copilot CLI to emit usage metrics.", + "command": "server plugin-telemetry", + "option": [ + { + "name": "--timestamp", + "description": "Timestamp of the telemetry event in ISO 8601 format.", + "type": "string", + "required": true + }, + { + "name": "--event-type", + "description": "Type of event being logged (e.g., 'skill_invocation', 'tool_invocation', 'reference_file_read').", + "type": "string", + "required": true + }, + { + "name": "--session-id", + "description": "Session identifier for correlating related events.", + "type": "string", + "required": true + }, + { + "name": "--client-type", + "description": "Type of client invoking the telemetry (e.g., 'copilot-cli', 'claude-code', 'vscode'). Deprecated: prefer --client-name.", + "type": "string" + }, + { + "name": "--client-name", + "description": "Name of the client invoking the telemetry (e.g., 'copilot-cli', 'claude-code', 'Visual Studio Code', 'Visual Studio Code - Insiders').", + "type": "string" + }, + { + "name": "--plugin-name", + "description": "Name of the plugin being invoked.", + "type": "string" + }, + { + "name": "--plugin-version", + "description": "Version of the plugin being invoked.", + "type": "string" + }, + { + "name": "--skill-name", + "description": "Name of the skill being invoked.", + "type": "string" + }, + { + "name": "--skill-version", + "description": "Version of the skill being invoked.", + "type": "string" + }, + { + "name": "--tool-name", + "description": "Name of the tool being invoked.", + "type": "string" + }, + { + "name": "--file-reference", + "description": "Plugin-relative file reference being accessed (will be validated against an allowlist).", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "9953ff62-e3d7-4bdf-9b70-d569e54e3df1", + "name": "start", + "description": "Starts Azure MCP Server.", + "command": "server start", + "option": [ + { + "name": "--transport", + "description": "Transport mechanism to use for MCP Server.", + "type": "string" + }, + { + "name": "--namespace", + "description": "The service namespaces to expose on the MCP server (e.g., storage, keyvault, cosmos).", + "type": "string" + }, + { + "name": "--mode", + "description": "Mode for the MCP server. 'single' exposes one azure tool that routes to all services. 'namespace' (default) exposes one tool per service namespace. 'all' exposes all tools individually.", + "type": "string" + }, + { + "name": "--tool", + "description": "Expose only specific tools by name (e.g., 'acr_registry_list'). Repeat this option to include multiple tools, e.g., --tool \"acr_registry_list\" --tool \"group_list\". It automatically switches to \"all\" mode when \"--tool\" is used. It can't be used together with \"--namespace\".", + "type": "string" + }, + { + "name": "--read-only", + "description": "Whether the MCP server should be read-only. If true, no write operations will be allowed.", + "type": "string" + }, + { + "name": "--debug", + "description": "Enable debug mode with verbose logging to stderr.", + "type": "string" + }, + { + "name": "--dangerously-disable-http-incoming-auth", + "description": "Dangerously disables HTTP incoming authentication, exposing the server to unauthenticated access over HTTP. Use with extreme caution, this disables all transport security and may expose sensitive data to interception.", + "type": "string" + }, + { + "name": "--dangerously-disable-elicitation", + "description": "Disable elicitation (user confirmation) before allowing high risk commands to run, such as returning Secrets (passwords) from KeyVault.", + "type": "string" + }, + { + "name": "--outgoing-auth-strategy", + "description": "Outgoing authentication strategy for service requests. Valid values: NotSet, UseHostingEnvironmentIdentity, UseOnBehalfOf.", + "type": "string" + }, + { + "name": "--dangerously-write-support-logs-to-dir", + "description": "Dangerously enables detailed debug-level logging for support and troubleshooting purposes. Specify a folder path where log files will be automatically created with timestamp-based filenames (e.g., azmcp_20251202_143052.log). This may include sensitive information in logs. Use with extreme caution and only when requested by support.", + "type": "string" + }, + { + "name": "--dangerously-disable-retry-limits", + "description": "Dangerously disables upper bounds on retry delays, max delays, network timeouts, and max retries. This may lead to excessively long waits and should only be used when explicitly needed.", + "type": "string" + }, + { + "name": "--cloud", + "description": "Azure cloud environment for authentication. Valid values: AzureCloud (default), AzureChinaCloud, AzureUSGovernment, or a custom authority host URL starting with https://", + "type": "string" + }, + { + "name": "--disable-caching", + "description": "Disable caching of resource responses, requiring repeated requests to fetch fresh data each time.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": false, + "openWorld": true, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "63de05a7-047d-4f8a-86ea-cebd64527e2b", + "name": "list", + "description": "List all available commands and their tools in a hierarchical structure. This command returns detailed information\r\nabout each command, including its name, description, full command path, available subcommands, and all supported\r\narguments. Use --name-only to return only tool names, and --namespace to filter by specific namespaces.", + "command": "tools list", + "option": [ + { + "name": "--namespace-mode", + "description": "If specified, returns a list of top-level service namespaces instead of individual tools.", + "type": "string" + }, + { + "name": "--namespace", + "description": "Filter tools by namespace (e.g., 'storage', 'keyvault'). Can be specified multiple times to include multiple namespaces.", + "type": "string" + }, + { + "name": "--name-only", + "description": "If specified, returns only tool names without descriptions or metadata.", + "type": "string" + }, + { + "name": "--include-hidden", + "description": "If specified, includes hidden commands in the output.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + } +] diff --git a/servers/Template.Mcp.Server/tools.json b/servers/Template.Mcp.Server/tools.json new file mode 100644 index 0000000000..03ee8162d8 --- /dev/null +++ b/servers/Template.Mcp.Server/tools.json @@ -0,0 +1,221 @@ +[ + { + "id": "add0f6fe-258c-45c4-af74-0c165d4913cb", + "name": "info", + "description": "Displays running MCP server information.", + "command": "server info", + "option": [ + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "b3e7c1a2-4f85-4d9e-a6c3-8f2b1e0d7a94", + "name": "plugin-telemetry", + "description": "Publish plugin-related telemetry events from agent hooks.\r\nAccepts command-line options such as '--timestamp', '--event-type', '--session-id', '--client-type', '--client-name', \r\n'--plugin-name', '--plugin-version', '--skill-name', '--skill-version', '--tool-name', and '--file-reference'. \r\nUse this command from agent hooks in clients like VS Code, Claude Desktop, or Copilot CLI to emit usage metrics.", + "command": "server plugin-telemetry", + "option": [ + { + "name": "--timestamp", + "description": "Timestamp of the telemetry event in ISO 8601 format.", + "type": "string", + "required": true + }, + { + "name": "--event-type", + "description": "Type of event being logged (e.g., 'skill_invocation', 'tool_invocation', 'reference_file_read').", + "type": "string", + "required": true + }, + { + "name": "--session-id", + "description": "Session identifier for correlating related events.", + "type": "string", + "required": true + }, + { + "name": "--client-type", + "description": "Type of client invoking the telemetry (e.g., 'copilot-cli', 'claude-code', 'vscode'). Deprecated: prefer --client-name.", + "type": "string" + }, + { + "name": "--client-name", + "description": "Name of the client invoking the telemetry (e.g., 'copilot-cli', 'claude-code', 'Visual Studio Code', 'Visual Studio Code - Insiders').", + "type": "string" + }, + { + "name": "--plugin-name", + "description": "Name of the plugin being invoked.", + "type": "string" + }, + { + "name": "--plugin-version", + "description": "Version of the plugin being invoked.", + "type": "string" + }, + { + "name": "--skill-name", + "description": "Name of the skill being invoked.", + "type": "string" + }, + { + "name": "--skill-version", + "description": "Version of the skill being invoked.", + "type": "string" + }, + { + "name": "--tool-name", + "description": "Name of the tool being invoked.", + "type": "string" + }, + { + "name": "--file-reference", + "description": "Plugin-relative file reference being accessed (will be validated against an allowlist).", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "9953ff62-e3d7-4bdf-9b70-d569e54e3df1", + "name": "start", + "description": "Starts Azure MCP Server.", + "command": "server start", + "option": [ + { + "name": "--transport", + "description": "Transport mechanism to use for MCP Server.", + "type": "string" + }, + { + "name": "--namespace", + "description": "The service namespaces to expose on the MCP server (e.g., storage, keyvault, cosmos).", + "type": "string" + }, + { + "name": "--mode", + "description": "Mode for the MCP server. 'single' exposes one azure tool that routes to all services. 'namespace' (default) exposes one tool per service namespace. 'all' exposes all tools individually.", + "type": "string" + }, + { + "name": "--tool", + "description": "Expose only specific tools by name (e.g., 'acr_registry_list'). Repeat this option to include multiple tools, e.g., --tool \"acr_registry_list\" --tool \"group_list\". It automatically switches to \"all\" mode when \"--tool\" is used. It can't be used together with \"--namespace\".", + "type": "string" + }, + { + "name": "--read-only", + "description": "Whether the MCP server should be read-only. If true, no write operations will be allowed.", + "type": "string" + }, + { + "name": "--debug", + "description": "Enable debug mode with verbose logging to stderr.", + "type": "string" + }, + { + "name": "--dangerously-disable-http-incoming-auth", + "description": "Dangerously disables HTTP incoming authentication, exposing the server to unauthenticated access over HTTP. Use with extreme caution, this disables all transport security and may expose sensitive data to interception.", + "type": "string" + }, + { + "name": "--dangerously-disable-elicitation", + "description": "Disable elicitation (user confirmation) before allowing high risk commands to run, such as returning Secrets (passwords) from KeyVault.", + "type": "string" + }, + { + "name": "--outgoing-auth-strategy", + "description": "Outgoing authentication strategy for service requests. Valid values: NotSet, UseHostingEnvironmentIdentity, UseOnBehalfOf.", + "type": "string" + }, + { + "name": "--dangerously-write-support-logs-to-dir", + "description": "Dangerously enables detailed debug-level logging for support and troubleshooting purposes. Specify a folder path where log files will be automatically created with timestamp-based filenames (e.g., azmcp_20251202_143052.log). This may include sensitive information in logs. Use with extreme caution and only when requested by support.", + "type": "string" + }, + { + "name": "--dangerously-disable-retry-limits", + "description": "Dangerously disables upper bounds on retry delays, max delays, network timeouts, and max retries. This may lead to excessively long waits and should only be used when explicitly needed.", + "type": "string" + }, + { + "name": "--cloud", + "description": "Azure cloud environment for authentication. Valid values: AzureCloud (default), AzureChinaCloud, AzureUSGovernment, or a custom authority host URL starting with https://", + "type": "string" + }, + { + "name": "--disable-caching", + "description": "Disable caching of resource responses, requiring repeated requests to fetch fresh data each time.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": false, + "openWorld": true, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "63de05a7-047d-4f8a-86ea-cebd64527e2b", + "name": "list", + "description": "List all available commands and their tools in a hierarchical structure. This command returns detailed information\r\nabout each command, including its name, description, full command path, available subcommands, and all supported\r\narguments. Use --name-only to return only tool names, and --namespace to filter by specific namespaces.", + "command": "tools list", + "option": [ + { + "name": "--namespace-mode", + "description": "If specified, returns a list of top-level service namespaces instead of individual tools.", + "type": "string" + }, + { + "name": "--namespace", + "description": "Filter tools by namespace (e.g., 'storage', 'keyvault'). Can be specified multiple times to include multiple namespaces.", + "type": "string" + }, + { + "name": "--name-only", + "description": "If specified, returns only tool names without descriptions or metadata.", + "type": "string" + }, + { + "name": "--include-hidden", + "description": "If specified, includes hidden commands in the output.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + } +] From 773995001f96304965f40deaebeae696b49e2db4 Mon Sep 17 00:00:00 2001 From: Patrick Hallisey Date: Mon, 4 May 2026 14:09:17 -0700 Subject: [PATCH 2/9] Consolidate common options into a separate list --- eng/scripts/Update-ToolsList.ps1 | 103 +- servers/Azure.Mcp.Server/tools.json | 32117 ++++++++--------------- servers/Fabric.Mcp.Server/tools.json | 2785 +- servers/Template.Mcp.Server/tools.json | 179 +- 4 files changed, 12691 insertions(+), 22493 deletions(-) diff --git a/eng/scripts/Update-ToolsList.ps1 b/eng/scripts/Update-ToolsList.ps1 index 5075e909fe..c4b32bc4ec 100644 --- a/eng/scripts/Update-ToolsList.ps1 +++ b/eng/scripts/Update-ToolsList.ps1 @@ -70,26 +70,92 @@ foreach ($serverDir in $serverDirs) { continue } - # Extract just the results array and flatten metadata to booleans - $toolsArray = @($parsed.results | ForEach-Object { - $tool = [ordered]@{ - id = $_.id - name = $_.name - description = $_.description - command = $_.command - option = $_.option + + # --- Common options extraction --- + # Build a 2-level map: optionName -> jsonForm -> count + # to find the most-used definition for each option name. + $optionHashMap = @{} # optionName -> @{ json -> @{ count=N; definition=obj } } + + foreach ($tool in $parsed.results) { + if (-not $tool.option) { continue } + foreach ($opt in $tool.option) { + $optName = $opt.name + $optJson = $opt | ConvertTo-Json -Depth 5 -Compress + + if (-not $optionHashMap.ContainsKey($optName)) { + $optionHashMap[$optName] = @{} + } + if (-not $optionHashMap[$optName].ContainsKey($optJson)) { + $optionHashMap[$optName][$optJson] = @{ count = 0; definition = $opt } + } + $optionHashMap[$optName][$optJson].count++ + } + } + + # For each option name, find the most common hash; if count > 10, promote to common. + $commonOptions = [ordered]@{} + foreach ($optName in ($optionHashMap.Keys | Sort-Object)) { + $hashes = $optionHashMap[$optName] + $best = $hashes.GetEnumerator() | Sort-Object { $_.Value.count } -Descending | Select-Object -First 1 + if ($best.Value.count -gt 10) { + $commonOptions[$optName] = $best.Value.definition + } + } + + # Rebuild tools array: replace matching options with commonOptions reference + $finalTools = @($parsed.results | ForEach-Object { + $tool = $_ + $remainingOptions = @() + $commonOptionNames = @() + + if ($tool.option -and $commonOptions.Count -gt 0) { + foreach ($opt in $tool.option) { + $optName = $opt.name + if ($commonOptions.Contains($optName)) { + # Check if this option matches the common definition + $optJson = $opt | ConvertTo-Json -Depth 5 -Compress + $commonJson = $commonOptions[$optName] | ConvertTo-Json -Depth 5 -Compress + if ($optJson -eq $commonJson) { + $commonOptionNames += $optName + } else { + $remainingOptions += $opt + } + } else { + $remainingOptions += $opt + } + } } - if ($_.metadata) { - $tool.destructive = [bool]$_.metadata.destructive.value - $tool.idempotent = [bool]$_.metadata.idempotent.value - $tool.openWorld = [bool]$_.metadata.openWorld.value - $tool.readOnly = [bool]$_.metadata.readOnly.value - $tool.secret = [bool]$_.metadata.secret.value - $tool.localRequired = [bool]$_.metadata.localRequired.value + + $result = [ordered] @{ + id = $tool.id + name = $tool.name + description = $tool.description + command = $tool.command + commonOptions = $commonOptionNames + options = $remainingOptions + } + if ($null -ne $tool.metadata) { + $result.destructive = $tool.metadata.destructive.value + $result.idempotent = $tool.metadata.idempotent.value + $result.openWorld = $tool.metadata.openWorld.value + $result.readOnly = $tool.metadata.readOnly.value + $result.secret = $tool.metadata.secret.value + $result.localRequired = $tool.metadata.localRequired.value } - [PSCustomObject]$tool + [PSCustomObject]$result }) - $formatted = $toolsArray | ConvertTo-Json -Depth 10 + + # Build final output object + if ($commonOptions.Count -gt 0) { + $output = [ordered]@{ + commonOptions = $commonOptions + tools = $finalTools + } + } else { + $output = $finalTools + } + + $formatted = $output | ConvertTo-Json -Depth 10 } catch { Write-Warning " Error processing $($serverDir.Name): $_" @@ -116,7 +182,8 @@ foreach ($serverDir in $serverDirs) { $formatted | Set-Content -Path $toolsJsonPath -NoNewline # Ensure trailing newline Add-Content -Path $toolsJsonPath -Value "" - Write-Host " ✅ Updated $toolsJsonPath ($($toolsArray.Count) tools)" + $commonCount = $commonOptions.Count + Write-Host " ✅ Updated $toolsJsonPath ($($finalTools.Count) tools, $commonCount common options)" } } diff --git a/servers/Azure.Mcp.Server/tools.json b/servers/Azure.Mcp.Server/tools.json index 2fabdda74b..17d8343dc3 100644 --- a/servers/Azure.Mcp.Server/tools.json +++ b/servers/Azure.Mcp.Server/tools.json @@ -1,20522 +1,11595 @@ -[ - { - "id": "796f8778-2fa7-4343-87ad-06bdcf6b296c", - "name": "list", - "description": "List Azure Container Registries in a subscription. Optionally filter by resource group. Each registry result\r\nincludes: name, location, loginServer, skuName, skuTier. If no registries are found the tool returns null results\r\n(consistent with other list commands).", - "command": "acr registry list", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "adc6eb20-ad98-4624-954d-61581f6fbca9", - "name": "list", - "description": "List repositories in Azure Container Registries. By default, lists repositories for all registries in the subscription.\r\nYou can narrow the scope using --resource-group and/or --registry to list repositories for a specific registry only.", - "command": "acr registry repository list", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--registry", - "description": "The name of the Azure Container Registry. This is the unique name you chose for your container registry.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "e3f09221-523a-4107-a715-823cebd97902", - "name": "list", - "description": "List Azure advisor recommendations in a subscription.", - "command": "advisor recommendation list", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "34e0d3d3-cbc5-4df8-8244-1439b97f3de5", - "name": "get", - "description": "List/enumerate all AKS (Azure Kubernetes Service) clusters in a subscription. Get/retrieve/show the details of a specific cluster if a name is provided.", - "command": "aks cluster get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--cluster", - "description": "AKS Cluster name.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "9abb0904-2ffc-4aab-b4ea-fc454b6351b1", - "name": "get", - "description": "List/enumerate all AKS (Azure Kubernetes Service) node pools in a cluster. Get/retrieve/show the details of a specific node pool if a name is provided.", - "command": "aks nodepool get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--cluster", - "description": "AKS Cluster name.", - "type": "string", - "required": true - }, - { - "name": "--nodepool", - "description": "AKS node pool (agent pool) name.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "e403c988-b57b-4ac1-afb7-25ba3fdd6e6a", - "name": "list", - "description": "List all App Configuration stores in a subscription. This command retrieves and displays all App Configuration\r\nstores available in the specified subscription. Results include store names returned as a JSON array.", - "command": "appconfig account list", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "f885a499-82ec-4897-a788-fb6b4615ab06", - "name": "delete", - "description": "Delete a key-value pair from an App Configuration store. This command removes the specified key-value pair from the store.\r\nIf a label is specified, only the labeled version is deleted. If no label is specified, the key-value with the matching\r\nkey and the default label will be deleted.", - "command": "appconfig kv delete", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--account", - "description": "The name of the App Configuration store (e.g., my-appconfig).", - "type": "string", - "required": true - }, - { - "name": "--key", - "description": "The name of the key to access within the App Configuration store.", - "type": "string", - "required": true - }, - { - "name": "--label", - "description": "The label to apply to the configuration key. Labels are used to group and organize settings.", - "type": "string" - }, - { - "name": "--content-type", - "description": "The content type of the configuration value. This is used to indicate how the value should be interpreted or parsed.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "abc28800-ae4a-4369-9ec0-2653a578e82a", - "name": "get", - "description": "Gets key-values in an App Configuration store. This command can either retrieve a specific key-value by its key\r\nand optional label, or list key-values if no key is provided. Listing key-values can optionally be filtered by a\r\nkey filter and label filter. Each key-value includes its key, value, label, content type, ETag, last modified time,\r\nand lock status.", - "command": "appconfig kv get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--account", - "description": "The name of the App Configuration store (e.g., my-appconfig).", - "type": "string", - "required": true - }, - { - "name": "--key", - "description": "The name of the key to access within the App Configuration store.", - "type": "string" - }, - { - "name": "--label", - "description": "The label to apply to the configuration key. Labels are used to group and organize settings.", - "type": "string" - }, - { - "name": "--key-filter", - "description": "Specifies the key filter, if any, to be used when retrieving key-values. The filter can be an exact match, for example a filter of 'foo' would get all key-values with a key of 'foo', or the filter can include a '*' character at the end of the string for wildcard searches (e.g., 'App*'). If omitted all keys will be retrieved.", - "type": "string" - }, - { - "name": "--label-filter", - "description": "Specifies the label filter, if any, to be used when retrieving key-values. The filter can be an exact match, for example a filter of 'foo' would get all key-values with a label of 'foo', or the filter can include a '*' character at the end of the string for wildcard searches (e.g., 'Prod*'). This filter is case-sensitive. If omitted, all labels will be retrieved.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "b48fd781-d74a-4dfd-a29c-421ded9a6ce9", - "name": "set", - "description": "Sets the lock state of a key-value in an App Configuration store. This command can lock and unlock key-values.\r\nLocking sets a key-value to read-only mode, preventing any modifications to its value. Unlocking removes the\r\nread-only mode from a key-value setting, allowing modifications to its value. You must specify an account name\r\nand key. Optionally, you can specify a label to lock or unlock a specific labeled version of the key-value.\r\nDefault is unlocking the key-value.", - "command": "appconfig kv lock set", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--account", - "description": "The name of the App Configuration store (e.g., my-appconfig).", - "type": "string", - "required": true - }, - { - "name": "--key", - "description": "The name of the key to access within the App Configuration store.", - "type": "string", - "required": true - }, - { - "name": "--label", - "description": "The label to apply to the configuration key. Labels are used to group and organize settings.", - "type": "string" - }, - { - "name": "--content-type", - "description": "The content type of the configuration value. This is used to indicate how the value should be interpreted or parsed.", - "type": "string" - }, - { - "name": "--lock", - "description": "Whether a key-value will be locked (set to read-only) or unlocked (read-only removed).", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "a89086eb-acf4-4168-9d32-de5cd7384030", - "name": "set", - "description": "Set a key-value setting in an App Configuration store. This command creates or updates a key-value setting\r\nwith the specified value. You must specify an account name, key, and value. Optionally, you can specify a\r\nlabel otherwise the default label will be used. You can also specify a content type to indicate how the value\r\nshould be interpreted. You can add tags in the format 'key=value' to associate metadata with the setting.", - "command": "appconfig kv set", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--account", - "description": "The name of the App Configuration store (e.g., my-appconfig).", - "type": "string", - "required": true - }, - { - "name": "--key", - "description": "The name of the key to access within the App Configuration store.", - "type": "string", - "required": true - }, - { - "name": "--label", - "description": "The label to apply to the configuration key. Labels are used to group and organize settings.", - "type": "string" - }, - { - "name": "--content-type", - "description": "The content type of the configuration value. This is used to indicate how the value should be interpreted or parsed.", - "type": "string" - }, - { - "name": "--value", - "description": "The value to set for the configuration key.", - "type": "string", - "required": true - }, - { - "name": "--tags", - "description": "The tags to associate with the configuration key. Tags should be in the format 'key=value'. Multiple tags can be specified.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "92fb5b7d-f1d7-4834-a61a-e170ad8594ac", - "name": "diagnose", - "description": "Get diagnostic help from App Lens for Azure application and service issues to identify what's wrong with a service. Ask questions about performance, slowness, failures, errors, application state, availability to receive expert analysis and solutions which can help when performing diagnostics and to address issues about performance and failures. Returns analysis, insights, and recommended solutions. Always use this tool before manually checking metrics or logs when users report performance or functionality issues. Only the resource name and question are required - subscription, resource group, and resource type are optional and used to narrow down results when multiple resources share the same name.", - "command": "applens resource diagnose", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Azure subscription ID or name. Provide this when disambiguating between multiple resources of the same name.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "Azure resource group name. Provide this when disambiguating between multiple resources of the same name.", - "type": "string" - }, - { - "name": "--resource-type", - "description": "Resource type. Provide this when disambiguating between multiple resources of the same name.", - "type": "string" - }, - { - "name": "--resource", - "description": "The name of the resource to investigate or diagnose", - "type": "string", - "required": true - }, - { - "name": "--question", - "description": "User question", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "8d259f21-43b3-4962-bec8-de616b8b5f0d", - "name": "list", - "description": "List Application Insights Code Optimization Recommendations in a subscription. Optionally filter by resource group when --resource-group is provided.\r\nReturns the code optimization recommendations based on the profiler data.", - "command": "applicationinsights recommendation list", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "14be1264-82c8-4a4c-8271-7cfe1fbebbc8", - "name": "add", - "description": "Add a database connection for an App Service using connection string for an existing database. This command configures database connection\r\nsettings for the specified App Service, allowing it to connect to a database server name. You must specify the App Service name, database name,\r\ndatabase type, database server name, connection string, resource group name and subscription.", - "command": "appservice database add", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--app", - "description": "The name of the Azure App Service (e.g., my-webapp).", - "type": "string", - "required": true - }, - { - "name": "--database-type", - "description": "The type of database (e.g., SqlServer, MySQL, PostgreSQL, CosmosDB).", - "type": "string", - "required": true - }, - { - "name": "--database-server", - "description": "The server name or endpoint for the database (e.g., myserver.database.windows.net).", - "type": "string", - "required": true - }, - { - "name": "--database", - "description": "The name of the database to connect to (e.g., mydb).", - "type": "string", - "required": true - }, - { - "name": "--connection-string", - "description": "The connection string for the database. If not provided, a default will be generated.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": false, - "openWorld": true, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "8d9cd2af-cd79-4101-968b-501d9f0b217c", - "name": "change-state", - "description": "Updates the running state of an Azure App Service web app using one of the following states:\r\n\r\n- \"start\": Starts a stopped web app.\r\n- \"stop\": Stops a running web app.\r\n- \"restart\": Restarts a running web app.\r\n\r\nRestart has additional options to specify whether to perform a soft restart and whether to synchronously wait\r\nfor the restart to complete before returning.\r\n\r\nReturns a message indicating the result of the operation.", - "command": "appservice webapp change-state", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--app", - "description": "The name of the Azure App Service (e.g., my-webapp).", - "type": "string", - "required": true - }, - { - "name": "--state-change", - "description": "The state change action to perform. Valid values are: start, stop, restart.", - "type": "string", - "required": true - }, - { - "name": "--soft-restart", - "description": "When state-change is restart, indicates whether to perform a soft restart.", - "type": "string" - }, - { - "name": "--wait-for-completion", - "description": "When state-change is restart, indicates whether to synchronously wait for the state change operation to complete before returning.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "17c59409-5382-4419-aef4-0058ffe2c6ec", - "name": "get", - "description": "Retrieves detailed information about Azure App Service web app deployments, including deployment name,\r\nif deployment is actively happening, when the deployment started and ended, who authored and deployed the\r\ndeployment, and the type of deployment. If a specific deployment ID is not provided, the command will return\r\ndetails for all deployments in the web app. You can specify a deployment ID to get details for a specific\r\ndeployment.", - "command": "appservice webapp deployment get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--app", - "description": "The name of the Azure App Service (e.g., my-webapp).", - "type": "string", - "required": true - }, - { - "name": "--deployment-id", - "description": "The ID of the deployment.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "a8aa0966-4c0c-4e22-8854-cced583f0fb2", - "name": "diagnose", - "description": "Runs a specific diagnostic detector on an App Service Web App to troubleshoot issues with performance, availability,\r\nconfiguration, or errors. Returns detailed analysis results including insights and recommendations. Use this to investigate\r\nwhy a web app is slow, failing, restarting, or unhealthy. Requires a detector ID from 'azmcp appservice webapp diagnostic list'.\r\nSupports optional time range filtering for historical analysis.", - "command": "appservice webapp diagnostic diagnose", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--app", - "description": "The name of the Azure App Service (e.g., my-webapp).", - "type": "string", - "required": true - }, - { - "name": "--detector-id", - "description": "The ID of the diagnostic detector to run. Use the 'id' field from 'azmcp appservice webapp diagnostic list' output (e.g., LinuxContainerRecycle, LinuxMemoryDrillDown).", - "type": "string", - "required": true - }, - { - "name": "--start-time", - "description": "The start time in ISO format (e.g., 2023-01-01T00:00:00Z).", - "type": "string" - }, - { - "name": "--end-time", - "description": "The end time in ISO format (e.g., 2023-01-01T00:00:00Z).", - "type": "string" - }, - { - "name": "--interval", - "description": "The time interval (e.g., PT1H for 1 hour, PT5M for 5 minutes).", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "7807fdb6-4b92-4361-8042-be61dd342e17", - "name": "list", - "description": "Lists all available diagnostic detectors for an App Service Web App. Use this to discover which diagnostics\r\nare available before running a specific detector. Returns the detector ID, name, type, description, category,\r\nand analysis types for each detector. Useful for troubleshooting app service issues, checking available\r\nhealth checks, and finding the right detector for performance, availability, or configuration analysis.", - "command": "appservice webapp diagnostic list", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--app", - "description": "The name of the Azure App Service (e.g., my-webapp).", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "4412f1af-16e7-46db-8305-33e3d7ae06de", - "name": "get", - "description": "Retrieves detailed information about Azure App Service web apps, including app name, resource group, location,\r\nstate, hostnames, etc. If a specific app name is not provided, the command will return details for all web apps\r\nin a subscription or resource group in a subscription. You can specify the app name, resource group name, and\r\nsubscription to get details for a specific web app.", - "command": "appservice webapp get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--app", - "description": "The name of the Azure App Service (e.g., my-webapp).", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "825ef21f-392f-4cd4-8272-7e7dce12e293", - "name": "get-appsettings", - "description": "Retrieves the application settings for an App Service web app, returning key-value pairs that represent the\r\nsetting. Application settings may contain sensitive information.", - "command": "appservice webapp settings get-appsettings", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--app", - "description": "The name of the Azure App Service (e.g., my-webapp).", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": true, - "localRequired": false - }, - { - "id": "08ca52a3-f766-4c62-9597-702f629efaf6", - "name": "update-appsettings", - "description": "Updates the application setting for an App Service web app. Three types of updating are available:\r\n\r\n- Add: adds a new application setting with the specified name and value. If the application setting already exists, the operation will fail and return an error message.\r\n- Set: sets the value of an application setting. If the application setting does not exist, this is equivalent to add. If the application setting already exists, the value will be overwritten.\r\n- Delete: deletes an application setting with the specified name. If the application setting does not exist, nothing happens.\r\n\r\nFor add and set update types, both the application setting name and value are required. For delete update type, only the application setting name is required.", - "command": "appservice webapp settings update-appsettings", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--app", - "description": "The name of the Azure App Service (e.g., my-webapp).", - "type": "string", - "required": true - }, - { - "name": "--setting-name", - "description": "The name of the application setting.", - "type": "string", - "required": true - }, - { - "name": "--setting-value", - "description": "The value of the application setting. Required for add and set update types.", - "type": "string" - }, - { - "name": "--setting-update-type", - "description": "The type of update to perform on the application setting. Valid values are: add, set, delete.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "f5612c55-054d-4fd8-964c-952e8e6b87f8", - "name": "status", - "description": "Checks the backup status of an Azure resource and returns whether it is protected,\r\nalong with vault and policy details. Use this to verify if a VM, disk, storage account,\r\nor other datasource is currently backed up. Requires the datasource ARM resource ID\r\nand the Azure region (location) where the resource exists.", - "command": "azurebackup backup status", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--datasource-id", - "description": "The datasource identifier. For VM/FileShare/DPP workloads, use the ARM resource ID (e.g., '/subscriptions/.../virtualMachines/myvm'). For RSV in-guest workloads (SQL/SAPHANA), use the protectable item name from 'protectableitem list' (e.g., 'SAPHanaDatabase;instance;dbname').", - "type": "string", - "required": true - }, - { - "name": "--location", - "description": "The Azure region (e.g., 'eastus', 'westus2').", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "917b66e5-483f-43ac-9620-9403e1689dbe", - "name": "enable-crr", - "description": "Enables Cross-Region Restore on a GRS-enabled vault.", - "command": "azurebackup disasterrecovery enable-crr", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--vault", - "description": "The name of the backup vault (Recovery Services vault or Backup vault).", - "type": "string", - "required": true - }, - { - "name": "--vault-type", - "description": "The type of backup vault: 'rsv' (Recovery Services vault) or 'dpp' (Backup vault / Data Protection). Required for vault create; optional elsewhere (auto-detected if omitted).", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "73b050ca-2e20-448c-a76c-08e8cd5bbe25", - "name": "find-unprotected", - "description": "Scans the subscription to find Azure resources that are not currently protected by any\r\nbackup policy. Optionally filter by resource type, resource group, or tags.", - "command": "azurebackup governance find-unprotected", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-type-filter", - "description": "Resource types to filter (comma-separated).", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--tag-filter", - "description": "Tag-based filter in key=value format (e.g., 'environment=production').", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "a0ac7596-9a80-4b53-b459-06f27598a2e2", - "name": "immutability", - "description": "Configures the immutability state for a backup vault. States include 'Disabled', 'Enabled',\r\nor 'Locked'. Warning: 'Locked' state is irreversible.", - "command": "azurebackup governance immutability", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--vault", - "description": "The name of the backup vault (Recovery Services vault or Backup vault).", - "type": "string", - "required": true - }, - { - "name": "--vault-type", - "description": "The type of backup vault: 'rsv' (Recovery Services vault) or 'dpp' (Backup vault / Data Protection). Required for vault create; optional elsewhere (auto-detected if omitted).", - "type": "string" - }, - { - "name": "--immutability-state", - "description": "Immutability state: 'Disabled', 'Enabled', or 'Locked' (irreversible).", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "b3f1ea2d-5535-4155-849c-61f2fc49f1d9", - "name": "soft-delete", - "description": "Configures the soft delete settings for a backup vault. Set the state to 'AlwaysOn', 'On',\r\nor 'Off', and optionally specify the retention period in days (14-180).", - "command": "azurebackup governance soft-delete", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--vault", - "description": "The name of the backup vault (Recovery Services vault or Backup vault).", - "type": "string", - "required": true - }, - { - "name": "--vault-type", - "description": "The type of backup vault: 'rsv' (Recovery Services vault) or 'dpp' (Backup vault / Data Protection). Required for vault create; optional elsewhere (auto-detected if omitted).", - "type": "string" - }, - { - "name": "--soft-delete", - "description": "Soft delete state: 'AlwaysOn', 'On', or 'Off'.", - "type": "string", - "required": true - }, - { - "name": "--soft-delete-retention-days", - "description": "Soft delete retention period (14-180 days).", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "f1291650-8ff2-413c-8001-e4b33f157a3b", - "name": "get", - "description": "Retrieves backup job information. When --job is specified, returns detailed information\r\nabout a single job including operation type, status, start/end times, error codes, and\r\ndatasource details. When omitted, lists all backup jobs in the vault.", - "command": "azurebackup job get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--vault", - "description": "The name of the backup vault (Recovery Services vault or Backup vault).", - "type": "string", - "required": true - }, - { - "name": "--vault-type", - "description": "The type of backup vault: 'rsv' (Recovery Services vault) or 'dpp' (Backup vault / Data Protection). Required for vault create; optional elsewhere (auto-detected if omitted).", - "type": "string" - }, - { - "name": "--job", - "description": "The backup job ID.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "bc5e600b-c414-4bce-8b7d-a6021cfd3d23", - "name": "create", - "description": "Creates a backup policy for a specified workload type with schedule and retention rules.", - "command": "azurebackup policy create", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--vault", - "description": "The name of the backup vault (Recovery Services vault or Backup vault).", - "type": "string", - "required": true - }, - { - "name": "--vault-type", - "description": "The type of backup vault: 'rsv' (Recovery Services vault) or 'dpp' (Backup vault / Data Protection). Required for vault create; optional elsewhere (auto-detected if omitted).", - "type": "string" - }, - { - "name": "--policy", - "description": "The name of the backup policy.", - "type": "string", - "required": true - }, - { - "name": "--workload-type", - "description": "Workload type: VM, SQL, SAPHANA, SAPASE, AzureFileShare (RSV types); AzureDisk, AzureBlob, AKS, ElasticSAN, PostgreSQLFlexible, ADLS, CosmosDB (DPP types). Also accepts aliases like AzureVM, SQLDatabase, etc.", - "type": "string", - "required": true - }, - { - "name": "--schedule-time", - "description": "Backup time in UTC (e.g., '02:00').", - "type": "string" - }, - { - "name": "--daily-retention-days", - "description": "Daily recovery point retention in days. Defaults to datasource-specific value if omitted.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "5f7ef3ae-72f3-4fe8-bd1e-ea56e4db86df", - "name": "get", - "description": "Retrieves backup policy information. When --policy is specified, returns detailed\r\ninformation about a single policy including datasource types and protected items count.\r\nWhen omitted, lists all backup policies configured in the vault.", - "command": "azurebackup policy get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--vault", - "description": "The name of the backup vault (Recovery Services vault or Backup vault).", - "type": "string", - "required": true - }, - { - "name": "--vault-type", - "description": "The type of backup vault: 'rsv' (Recovery Services vault) or 'dpp' (Backup vault / Data Protection). Required for vault create; optional elsewhere (auto-detected if omitted).", - "type": "string" - }, - { - "name": "--policy", - "description": "The name of the backup policy.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "a3f7d2c1-9e84-4b6a-8d3c-5f1e7a2b9c04", - "name": "update", - "description": "Modifies an existing RSV backup policy. Updates the backup schedule time and daily retention days for VM, SQL, SAP HANA, and file share workload policies. The named policy must already exist in the vault.", - "command": "azurebackup policy update", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--vault", - "description": "The name of the backup vault (Recovery Services vault or Backup vault).", - "type": "string", - "required": true - }, - { - "name": "--vault-type", - "description": "The type of backup vault: 'rsv' (Recovery Services vault) or 'dpp' (Backup vault / Data Protection). Required for vault create; optional elsewhere (auto-detected if omitted).", - "type": "string" - }, - { - "name": "--policy", - "description": "The name of the backup policy.", - "type": "string", - "required": true - }, - { - "name": "--schedule-time", - "description": "Backup time in UTC (e.g., '02:00').", - "type": "string" - }, - { - "name": "--daily-retention-days", - "description": "Daily recovery point retention in days. Defaults to datasource-specific value if omitted.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "9f6b0a1e-1c2d-4e5f-8a9b-7c6d5e4f3a21", - "name": "list", - "description": "Lists items that can be backed up (protectable items) in a Recovery Services vault,\r\nsuch as SQL databases and SAP HANA databases discovered on registered VMs.\r\nUse this to find databases and workloads available for backup protection.\r\nOnly supported for RSV vaults; DPP datasources are protected by ARM resource ID directly.\r\nFilter results by --workload-type (e.g., SQL, SAPHana) or --container.", - "command": "azurebackup protectableitem list", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--vault", - "description": "The name of the backup vault (Recovery Services vault or Backup vault).", - "type": "string", - "required": true - }, - { - "name": "--vault-type", - "description": "The type of backup vault: 'rsv' (Recovery Services vault) or 'dpp' (Backup vault / Data Protection). Required for vault create; optional elsewhere (auto-detected if omitted).", - "type": "string" - }, - { - "name": "--workload-type", - "description": "Workload type: VM, SQL, SAPHANA, SAPASE, AzureFileShare (RSV types); AzureDisk, AzureBlob, AKS, ElasticSAN, PostgreSQLFlexible, ADLS, CosmosDB (DPP types). Also accepts aliases like AzureVM, SQLDatabase, etc.", - "type": "string" - }, - { - "name": "--container", - "description": "The RSV protection container name. Only applicable for Recovery Services vaults.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "bc985e4f-8945-447a-9aba-ef13df309001", - "name": "get", - "description": "Retrieves protected item information. When --protected-item is specified, returns\r\ndetailed information about a single backup instance including protection status,\r\ndatasource details, policy assignment, and last backup time. Specify --container\r\nfor RSV workload items. When --protected-item is omitted, lists all protected items\r\n(backup instances) in the vault.", - "command": "azurebackup protecteditem get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--vault", - "description": "The name of the backup vault (Recovery Services vault or Backup vault).", - "type": "string", - "required": true - }, - { - "name": "--vault-type", - "description": "The type of backup vault: 'rsv' (Recovery Services vault) or 'dpp' (Backup vault / Data Protection). Required for vault create; optional elsewhere (auto-detected if omitted).", - "type": "string" - }, - { - "name": "--protected-item", - "description": "The name of the protected item or backup instance.", - "type": "string" - }, - { - "name": "--container", - "description": "The RSV protection container name. Only applicable for Recovery Services vaults.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "7a6fc193-ca3c-4309-97c5-ee1e7fe90e69", - "name": "protect", - "description": "Enables or configures backup protection for an Azure resource by creating a\r\nprotected item or backup instance. Protects VMs, disks, file shares, SQL databases,\r\nSAP HANA databases, and other supported datasources.\r\nFor VMs: pass the VM ARM resource ID as --datasource-id.\r\nFor workloads (SQL/HANA): pass the protectable item name from 'protectableitem list'\r\nas --datasource-id (e.g., 'SAPHanaDatabase;instance;dbname'), and specify --container.\r\nRequires a backup policy name via --policy. The operation is asynchronous;\r\nuse 'azurebackup job get' to monitor the protection job progress.", - "command": "azurebackup protecteditem protect", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--vault", - "description": "The name of the backup vault (Recovery Services vault or Backup vault).", - "type": "string", - "required": true - }, - { - "name": "--vault-type", - "description": "The type of backup vault: 'rsv' (Recovery Services vault) or 'dpp' (Backup vault / Data Protection). Required for vault create; optional elsewhere (auto-detected if omitted).", - "type": "string" - }, - { - "name": "--datasource-id", - "description": "The datasource identifier. For VM/FileShare/DPP workloads, use the ARM resource ID (e.g., '/subscriptions/.../virtualMachines/myvm'). For RSV in-guest workloads (SQL/SAPHANA), use the protectable item name from 'protectableitem list' (e.g., 'SAPHanaDatabase;instance;dbname').", - "type": "string", - "required": true - }, - { - "name": "--policy", - "description": "The name of the backup policy.", - "type": "string", - "required": true - }, - { - "name": "--container", - "description": "The RSV protection container name. Only applicable for Recovery Services vaults.", - "type": "string" - }, - { - "name": "--datasource-type", - "description": "The workload type hint: VM, SQL, SAPHANA, SAPASE, AzureFileShare (RSV types); AzureDisk, AzureBlob, AKS, ElasticSAN, PostgreSQLFlexible, ADLS, CosmosDB (DPP types). Also accepts aliases like AzureVM, SQLDatabase, etc.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "d8e3a1b7-5c42-4f9e-b6d1-7a2e9c3f4b58", - "name": "undelete", - "description": "Undeletes or restores a soft-deleted backup item to an active protection state.\r\nUse this when a backup or protected item was accidentally deleted and needs to be recovered.\r\nFor RSV vaults: pass the datasource ARM resource ID as --datasource-id.\r\nFor DPP vaults: pass the datasource ARM resource ID as --datasource-id.\r\nOptionally specify --container for RSV workload items (SQL/HANA).\r\nThe operation is asynchronous; use 'azurebackup job get' to monitor progress.", - "command": "azurebackup protecteditem undelete", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--vault", - "description": "The name of the backup vault (Recovery Services vault or Backup vault).", - "type": "string", - "required": true - }, - { - "name": "--vault-type", - "description": "The type of backup vault: 'rsv' (Recovery Services vault) or 'dpp' (Backup vault / Data Protection). Required for vault create; optional elsewhere (auto-detected if omitted).", - "type": "string" - }, - { - "name": "--datasource-id", - "description": "The datasource identifier. For VM/FileShare/DPP workloads, use the ARM resource ID (e.g., '/subscriptions/.../virtualMachines/myvm'). For RSV in-guest workloads (SQL/SAPHANA), use the protectable item name from 'protectableitem list' (e.g., 'SAPHanaDatabase;instance;dbname').", - "type": "string", - "required": true - }, - { - "name": "--container", - "description": "The RSV protection container name. Only applicable for Recovery Services vaults.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "e930bbb6-b495-454b-bae4-46b9da14eb1c", - "name": "get", - "description": "Retrieves recovery point information for a protected item. When --recovery-point is\r\nspecified, returns detailed information about a single recovery point including time\r\nand type. When omitted, lists all available recovery points for the protected item.", - "command": "azurebackup recoverypoint get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--vault", - "description": "The name of the backup vault (Recovery Services vault or Backup vault).", - "type": "string", - "required": true - }, - { - "name": "--vault-type", - "description": "The type of backup vault: 'rsv' (Recovery Services vault) or 'dpp' (Backup vault / Data Protection). Required for vault create; optional elsewhere (auto-detected if omitted).", - "type": "string" - }, - { - "name": "--protected-item", - "description": "The name of the protected item or backup instance.", - "type": "string", - "required": true - }, - { - "name": "--container", - "description": "The RSV protection container name. Only applicable for Recovery Services vaults.", - "type": "string" - }, - { - "name": "--recovery-point", - "description": "The recovery point ID.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "1dccdb24-d81c-4bde-9437-577a7bd0cf09", - "name": "create", - "description": "Creates a new backup vault. Specify --vault-type as 'rsv' for a Recovery Services vault\r\nor 'dpp' for a Backup vault (Data Protection). For DPP vaults a System-Assigned\r\nManaged Identity is enabled by default so the vault can authenticate to protected\r\ndatasources (storage accounts, disks, PG Flex, etc.) - change later with\r\n'azurebackup vault update --identity-type ...' if needed. Returns the created\r\nvault details.", - "command": "azurebackup vault create", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--vault", - "description": "The name of the backup vault (Recovery Services vault or Backup vault).", - "type": "string", - "required": true - }, - { - "name": "--vault-type", - "description": "The type of backup vault: 'rsv' (Recovery Services vault) or 'dpp' (Backup vault / Data Protection). Required for vault create; optional elsewhere (auto-detected if omitted).", - "type": "string" - }, - { - "name": "--location", - "description": "The Azure region (e.g., 'eastus', 'westus2').", - "type": "string", - "required": true - }, - { - "name": "--sku", - "description": "The vault SKU.", - "type": "string" - }, - { - "name": "--storage-type", - "description": "Storage redundancy: 'GeoRedundant', 'LocallyRedundant', or 'ZoneRedundant'.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "4a1084d5-50d9-489f-9e4c-acc594441b1f", - "name": "get", - "description": "Retrieves backup vault information. When --vault and --resource-group are specified,\r\nreturns detailed information about a single vault including type, location, SKU, and\r\nstorage redundancy. When omitted, lists all backup vaults (RSV and Backup vaults) in\r\nthe subscription. Optionally filter by --vault-type ('rsv' or 'dpp') and/or\r\n--resource-group to narrow the listing results.", - "command": "azurebackup vault get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--vault", - "description": "The name of the backup vault (Recovery Services vault or Backup vault).", - "type": "string" - }, - { - "name": "--vault-type", - "description": "The type of backup vault: 'rsv' (Recovery Services vault) or 'dpp' (Backup vault / Data Protection). Required for vault create; optional elsewhere (auto-detected if omitted).", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "da7f163e-471c-4d7d-ae00-d41f5f4b939e", - "name": "update", - "description": "Updates vault-level settings including storage redundancy, soft delete, immutability, and managed identity.", - "command": "azurebackup vault update", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--vault", - "description": "The name of the backup vault (Recovery Services vault or Backup vault).", - "type": "string", - "required": true - }, - { - "name": "--vault-type", - "description": "The type of backup vault: 'rsv' (Recovery Services vault) or 'dpp' (Backup vault / Data Protection). Required for vault create; optional elsewhere (auto-detected if omitted).", - "type": "string" - }, - { - "name": "--redundancy", - "description": "Storage redundancy: 'GeoRedundant', 'LocallyRedundant', 'ZoneRedundant', or 'ReadAccessGeoZoneRedundant'.", - "type": "string" - }, - { - "name": "--soft-delete", - "description": "Soft delete state: 'AlwaysOn', 'On', or 'Off'.", - "type": "string" - }, - { - "name": "--soft-delete-retention-days", - "description": "Soft delete retention period (14-180 days).", - "type": "string" - }, - { - "name": "--immutability-state", - "description": "Immutability state: 'Disabled', 'Enabled', or 'Locked' (irreversible).", - "type": "string" - }, - { - "name": "--identity-type", - "description": "Managed identity type: 'SystemAssigned', 'UserAssigned', or 'None'.", - "type": "string" - }, - { - "name": "--tags", - "description": "Resource tags as JSON key-value object.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "d4e8c9b2-5f3a-4d1c-8b7e-2a9f1c6d5e4b", - "name": "getguidance", - "description": "Get how-to guidance for modifying, configuring, or customizing an existing Platform Landing Zone.\r\nUse this tool when user asks \"how do I\", \"show me how to\", \"get guidance for\", or asks about \r\ndisabling, enabling, turning off, changing, or modifying Landing Zone settings.\r\n\r\n**Use this tool for questions about:**\r\n- How to turn off or disable Bastion, DDoS, DNS, gateways, Defender, or monitoring\r\n- How to change IP addresses, CIDR ranges, network topology, or regions\r\n- How to modify policies, enable zero trust, or update management groups\r\n- How to change resource naming patterns or conventions\r\n- Finding or searching for specific policies within a Landing Zone\r\n- Listing all available policies by archetype\r\n\r\n**Available scenarios:**\r\n- bastion: Turn off Bastion host\r\n- ddos: Enable or disable DDoS protection plan\r\n- dns: Turn off Private DNS zones and resolvers\r\n- gateways: Turn off Virtual Network Gateways (VPN/ExpressRoute)\r\n- ip-addresses: Adjust CIDR ranges and IP address space\r\n- regions: Add or remove secondary regions\r\n- resource-names: Update resource naming prefixes and suffixes\r\n- management-groups: Customize management group names and IDs\r\n- policy-enforcement: Change policy enforcement mode to DoNotEnforce\r\n- policy-assignment: Remove or disable a policy assignment\r\n- ama: Turn off Azure Monitoring Agent\r\n- amba: Deploy Azure Monitoring Baseline Alerts\r\n- defender: Turn off Defender Plans\r\n- zero-trust: Implement Zero Trust Networking\r\n- slz: Implement Sovereign Landing Zone controls\r\n\r\n**For policy searches:**\r\n- Use policy-name to search for a specific policy\r\n- Use list-policies=true to list ALL policies by archetype", - "command": "azuremigrate platformlandingzone getguidance", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--scenario", - "description": "The modification scenario key. Valid values: resource-names, management-groups, ddos, bastion, dns, gateways, regions, ip-addresses, policy-enforcement, policy-assignment, ama, amba, defender, zero-trust, slz.", - "type": "string", - "required": true - }, - { - "name": "--policy-name", - "description": "The policy assignment name to look up (e.g., 'Enable-DDoS-VNET'). Used with policy-enforcement or policy-assignment scenarios.", - "type": "string" - }, - { - "name": "--list-policies", - "description": "Set to true to list all available policies organized by archetype. Useful for finding the exact policy name.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": true, - "readOnly": false, - "secret": false, - "localRequired": true - }, - { - "id": "a7f3b8c1-9e2d-4f6a-8b3c-5d1e7f9a2c4b", - "name": "request", - "description": "Generate and download platform landing zone configurations for Azure Migrate projects.\r\nUpdates parameters, check existing landing zones, and view parameters status.\r\n\r\n**Actions:**\r\n- createmigrateproject: Create a new Azure Migrate project if one doesn't exist (requires location parameter)\r\n- check: Check if a platform landing zone already exists\r\n- update: Update all parameters for generation (collect ALL params in one call)\r\n- generate: Generate the platform landing zone\r\n- download: Download generated files to local workspace\r\n- status: View cached parameters\r\n\r\n**Context (required for most actions):**\r\n- subscription, resourceGroup, migrateProjectName\r\n\r\n**Create Azure Migrate Parameters (for 'createmigrateproject' action):**\r\n- subscription, resourceGroup, migrateProjectName, location\r\n\r\n**Generation Parameters (for 'update' action - collect ALL at once from user):**\r\n| Parameter | Options | Default |\r\n|-----------|---------|----------|\r\n| regionType | single, multi | single |\r\n| firewallType | azurefirewall, nva | azurefirewall |\r\n| networkArchitecture | hubspoke, vwan | hubspoke |\r\n| versionControlSystem | local, github, azuredevops | local |\r\n| regions | comma-separated (e.g., eastus,westus) | eastus |\r\n| environmentName | any string | prod |\r\n| organizationName | any string | contoso |\r\n| identitySubscriptionId | GUID | (uses main subscription) |\r\n| managementSubscriptionId | GUID | (uses main subscription) |\r\n| connectivitySubscriptionId | GUID | (uses main subscription) |\r\n\r\n**Workflow:**\r\n1. Ask the user if they want to create a new Azure Migrate project or use an existing one. If creating, collect location parameter and create the project.\r\n2. action='createmigrateproject' - Create a new Azure Migrate project only if the user doesn't have one already. Requires location parameter.\r\n3. action='check' - See if one already exists\r\n4. action='update' with ALL parameters - Ask user to confirm defaults or provide values\r\n5. action='generate' - Create the landing zone\r\n6. action='download' - Get the files\r\n7. Extract zip to workspace root\r\n\r\n**IMPORTANT:** When using 'update', collect ALL parameters from the user in ONE call.\r\nShow them the defaults and ask which ones they want to change.", - "command": "azuremigrate platformlandingzone request", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--action", - "description": "The action to perform: 'update' (set parameters), 'check' (check existing platform landing zone), 'generate' (generate platform landing zone), 'download' (get download instructions), 'status' (view parameter status).", - "type": "string", - "required": true - }, - { - "name": "--region-type", - "description": "The region type for the Platform Landing Zone. Valid values: 'single', 'multi'.", - "type": "string" - }, - { - "name": "--firewall-type", - "description": "The firewall type for the Platform Landing Zone. Valid values: 'azurefirewall', 'nva'.", - "type": "string" - }, - { - "name": "--network-architecture", - "description": "The network architecture for the Platform Landing Zone. Valid values: 'hubspoke', 'vwan'.", - "type": "string" - }, - { - "name": "--identity-subscription-id", - "description": "The Azure subscription ID for the identity management group in Platform Landing Zone (GUID format).", - "type": "string" - }, - { - "name": "--management-subscription-id", - "description": "The Azure subscription ID for the management group in Platform Landing Zone (GUID format).", - "type": "string" - }, - { - "name": "--connectivity-subscription-id", - "description": "The Azure subscription ID for the connectivity group in Platform Landing Zone (GUID format).", - "type": "string" - }, - { - "name": "--security-subscription-id", - "description": "The Azure subscription ID for security resources in Platform Landing Zone (GUID format).", - "type": "string" - }, - { - "name": "--regions", - "description": "Comma-separated list of Azure regions for Platform Landing Zone (e.g., 'eastus,westus2').", - "type": "string" - }, - { - "name": "--environment-name", - "description": "The environment name for the Platform Landing Zone.", - "type": "string" - }, - { - "name": "--version-control-system", - "description": "The version control system for the Platform Landing Zone. Valid values: 'local', 'github', 'azuredevops'.", - "type": "string" - }, - { - "name": "--organization-name", - "description": "The organization name for the Platform Landing Zone.", - "type": "string" - }, - { - "name": "--migrate-project-name", - "description": "The Azure Migrate project name for Platform Landing Zone generation context.", - "type": "string", - "required": true - }, - { - "name": "--migrate-project-resource-id", - "description": "The full resource ID of the Azure Migrate project for Platform Landing Zone (alternative to subscription/resourceGroup/migrateProjectName).", - "type": "string" - }, - { - "name": "--location", - "description": "The Azure region location for creating new resources (e.g., 'eastus', 'westus2'). Required for 'createmigrateproject' action.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": true - }, - { - "id": "e5f6a7b8-c9d0-1234-ef01-456789012cde", - "name": "get", - "description": "Retrieves the documentation (README.md) for a specific version of an Azure Verified Module (AVM).\r\nReturns the full module documentation including usage examples, input variables,\r\noutput values, and resource descriptions. Use --module-name and --module-version\r\nto specify the module and version (e.g., --module-name avm-res-storage-storageaccount --module-version 0.4.0).", - "command": "azureterraform avm get", - "option": [ - { - "name": "--module-name", - "description": "The name of the Azure Verified Module (e.g., avm-res-storage-storageaccount).", - "type": "string", - "required": true - }, - { - "name": "--module-version", - "description": "The version of the Azure Verified Module (e.g., 0.4.0).", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": true, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "c3d4e5f6-a7b8-9012-cdef-234567890abc", - "name": "list", - "description": "Retrieves all available Azure Verified Modules (AVM) for Terraform.\r\nReturns a list of modules with their name, description, source reference, and repository URL.\r\nThe source field can be used directly in Terraform module blocks.", - "command": "azureterraform avm list", - "option": [ - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": true, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "d4e5f6a7-b8c9-0123-def0-345678901bcd", - "name": "versions", - "description": "Retrieves all available versions of a specified Azure Verified Module (AVM).\r\nReturns version tags with creation dates, sorted from newest to oldest.\r\nThe first version in the list is the latest. Use --module-name to specify\r\nthe module (e.g., avm-res-storage-storageaccount).", - "command": "azureterraform avm versions", - "option": [ - { - "name": "--module-name", - "description": "The name of the Azure Verified Module (e.g., avm-res-storage-storageaccount).", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": true, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "f6a7b8c9-d0e1-2345-bcde-678901234ef0", - "name": "get", - "description": "Retrieves AzAPI Terraform provider documentation and schema for a specified Azure resource type.\r\nReturns the resource schema in HCL format suitable for azapi_resource blocks, including property\r\ndefinitions with types and requirements, parent resource information, and Terraform usage examples.\r\nUse --resource-type to specify the Azure resource type in ARM format\r\n(e.g., Microsoft.Compute/virtualMachines, Microsoft.Storage/storageAccounts).\r\nOptionally specify --api-version to target a specific API version.\r\nThis tool reuses Azure Bicep type definitions to generate accurate AzAPI schemas.", - "command": "azureterraform azapi get", - "option": [ - { - "name": "--resource-type", - "description": "The Azure resource type in ARM format (e.g., Microsoft.Compute/virtualMachines, Microsoft.Storage/storageAccounts).", - "type": "string", - "required": true - }, - { - "name": "--api-version", - "description": "The API version to use for the resource schema. If omitted, the latest stable version is used.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": true, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "b8c9d0e1-f2a3-4567-1234-789012345f01", - "name": "query", - "description": "Generates an aztfexport command to export Azure resources matching an Azure Resource Graph query\r\nto Terraform configuration. Returns the command and arguments for the agent to execute locally.\r\nSpecify --query with a KQL WHERE clause for Azure Resource Graph (e.g., \"type =~ 'Microsoft.Storage/storageAccounts'\").\r\nOptionally configure the Terraform provider (azurerm or azapi), naming pattern, output folder,\r\nparallelism, and whether to include role assignments.\r\nIf aztfexport is not installed locally, returns installation instructions instead.", - "command": "azureterraform aztfexport query", - "option": [ - { - "name": "--query", - "description": "Azure Resource Graph KQL WHERE clause to select resources for export (e.g., \"type =~ 'Microsoft.Storage/storageAccounts'\").", - "type": "string", - "required": true - }, - { - "name": "--output-folder", - "description": "Output folder name for the generated Terraform files.", - "type": "string" - }, - { - "name": "--provider", - "description": "Terraform provider to use: 'azurerm' (default) or 'azapi'.", - "type": "string" - }, - { - "name": "--name-pattern", - "description": "Pattern for naming resources in the generated Terraform configuration.", - "type": "string" - }, - { - "name": "--include-role-assignment", - "description": "Include role assignments in the export.", - "type": "string" - }, - { - "name": "--parallelism", - "description": "Number of parallel operations (default: 10, max: 50).", - "type": "string" - }, - { - "name": "--continue-on-error", - "description": "Continue export even if some resources fail (default: true).", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": true, - "readOnly": true, - "secret": false, - "localRequired": true - }, - { - "id": "f6a7b8c9-d0e1-2345-f012-567890123def", - "name": "resource", - "description": "Generates an aztfexport command to export a single Azure resource to Terraform configuration.\r\nReturns the command and arguments for the agent to execute locally.\r\nSpecify --resource-id with the full Azure resource ID. Optionally configure the Terraform provider\r\n(azurerm or azapi), custom resource name, output folder, parallelism, and whether to include role assignments.\r\nIf aztfexport is not installed locally, returns installation instructions instead.", - "command": "azureterraform aztfexport resource", - "option": [ - { - "name": "--resource-id", - "description": "The full Azure resource ID to export (e.g., /subscriptions/.../resourceGroups/.../providers/Microsoft.Storage/storageAccounts/mystorageaccount).", - "type": "string", - "required": true - }, - { - "name": "--output-folder", - "description": "Output folder name for the generated Terraform files.", - "type": "string" - }, - { - "name": "--provider", - "description": "Terraform provider to use: 'azurerm' (default) or 'azapi'.", - "type": "string" - }, - { - "name": "--terraform-resource-name", - "description": "Custom resource name to use in the generated Terraform configuration.", - "type": "string" - }, - { - "name": "--include-role-assignment", - "description": "Include role assignments in the export.", - "type": "string" - }, - { - "name": "--parallelism", - "description": "Number of parallel operations (default: 10, max: 50).", - "type": "string" - }, - { - "name": "--continue-on-error", - "description": "Continue export even if some resources fail (default: true).", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": true, - "readOnly": true, - "secret": false, - "localRequired": true - }, - { - "id": "a7b8c9d0-e1f2-3456-0123-678901234ef0", - "name": "resourcegroup", - "description": "Generates an aztfexport command to export an Azure resource group and all its resources to Terraform configuration.\r\nReturns the command and arguments for the agent to execute locally.\r\nSpecify --resource-group with the name of the resource group. Optionally configure the Terraform provider\r\n(azurerm or azapi), naming pattern, output folder, parallelism, and whether to include role assignments.\r\nIf aztfexport is not installed locally, returns installation instructions instead.", - "command": "azureterraform aztfexport resourcegroup", - "option": [ - { - "name": "--resource-group", - "description": "The name of the Azure resource group to export.", - "type": "string", - "required": true - }, - { - "name": "--output-folder", - "description": "Output folder name for the generated Terraform files.", - "type": "string" - }, - { - "name": "--provider", - "description": "Terraform provider to use: 'azurerm' (default) or 'azapi'.", - "type": "string" - }, - { - "name": "--name-pattern", - "description": "Pattern for naming resources in the generated Terraform configuration.", - "type": "string" - }, - { - "name": "--include-role-assignment", - "description": "Include role assignments in the export.", - "type": "string" - }, - { - "name": "--parallelism", - "description": "Number of parallel operations (default: 10, max: 50).", - "type": "string" - }, - { - "name": "--continue-on-error", - "description": "Continue export even if some resources fail (default: true).", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": true, - "readOnly": true, - "secret": false, - "localRequired": true - }, - { - "id": "d4e5f6a7-b8c9-0123-abcd-567890123def", - "name": "get", - "description": "Retrieves comprehensive AzureRM Terraform provider documentation for a specified resource type.\r\nReturns the resource summary, arguments with descriptions and requirements, attributes,\r\nusage examples, and important notes. Use --resource-type to specify the resource\r\n(e.g., azurerm_resource_group). Optionally filter by --doc-type (resource or data-source),\r\n--argument, or --attribute.", - "command": "azureterraform azurerm get", - "option": [ - { - "name": "--resource-type", - "description": "The AzureRM Terraform resource type name (e.g., azurerm_resource_group, azurerm_storage_account). The 'azurerm_' prefix is optional.", - "type": "string", - "required": true - }, - { - "name": "--doc-type", - "description": "The documentation type to retrieve. Options: 'resource' (default), 'data-source'.", - "type": "string" - }, - { - "name": "--argument", - "description": "Filter results to a specific argument name.", - "type": "string" - }, - { - "name": "--attribute", - "description": "Filter results to a specific attribute name.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": true, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "b2c3d4e5-f6a7-8901-bcde-f01234567890", - "name": "plan", - "description": "Generates a conftest command to validate a Terraform plan JSON file against Azure policies.\r\nReturns the command and arguments for the agent to execute locally.\r\nUses the Azure policy library (policy-library-avm) for validation with configurable policy sets.\r\nSpecify --plan-folder with the path to the folder containing tfplan.json. Optionally configure the policy set\r\n('all', 'Azure-Proactive-Resiliency-Library-v2', or 'avmsec'), severity filter (for avmsec), and custom policy paths.\r\nIf conftest is not installed locally, returns installation instructions instead.", - "command": "azureterraform conftest plan", - "option": [ - { - "name": "--plan-folder", - "description": "Path to the folder containing the Terraform plan JSON file (tfplan.json) to validate.", - "type": "string", - "required": true - }, - { - "name": "--policy-set", - "description": "Policy set to use for validation: 'all' (default), 'Azure-Proactive-Resiliency-Library-v2', or 'avmsec'.", - "type": "string" - }, - { - "name": "--severity-filter", - "description": "Severity filter for avmsec policies: 'high', 'medium', 'low', or 'info'. Only applicable when policy-set is 'avmsec'.", - "type": "string" - }, - { - "name": "--custom-policies", - "description": "Comma-separated list of custom policy paths to include in validation.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": true, - "readOnly": true, - "secret": false, - "localRequired": true - }, - { - "id": "a1b2c3d4-e5f6-7890-abcd-ef0123456789", - "name": "workspace", - "description": "Generates a conftest command to validate Terraform .tf files in a workspace against Azure policies.\r\nReturns the command and arguments for the agent to execute locally.\r\nUses the Azure policy library (policy-library-avm) for validation with configurable policy sets.\r\nSpecify --workspace-folder with the path to the Terraform workspace. Optionally configure the policy set\r\n('all', 'Azure-Proactive-Resiliency-Library-v2', or 'avmsec'), severity filter (for avmsec), and custom policy paths.\r\nIf conftest is not installed locally, returns installation instructions instead.", - "command": "azureterraform conftest workspace", - "option": [ - { - "name": "--workspace-folder", - "description": "Path to the Terraform workspace folder containing .tf files to validate.", - "type": "string", - "required": true - }, - { - "name": "--policy-set", - "description": "Policy set to use for validation: 'all' (default), 'Azure-Proactive-Resiliency-Library-v2', or 'avmsec'.", - "type": "string" - }, - { - "name": "--severity-filter", - "description": "Severity filter for avmsec policies: 'high', 'medium', 'low', or 'info'. Only applicable when policy-set is 'avmsec'.", - "type": "string" - }, - { - "name": "--custom-policies", - "description": "Comma-separated list of custom policy paths to include in validation.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": true, - "readOnly": true, - "secret": false, - "localRequired": true - }, - { - "id": "5bd36575-6313-4bf4-aa26-a79fe0fa32a8", - "name": "get", - "description": "Returns Terraform best practices for Azure. Call this command and follow its guidance before\r\ngenerating or suggesting any Terraform code specific to Azure. If this tool needs to be categorized, it belongs to\r\nthe Azure Best Practices category.", - "command": "azureterraformbestpractices get", - "option": [ - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "553c003a-7cdf-4382-b833-94fe8bbb7386", - "name": "get", - "description": "Provides the Bicep schema definition of any Azure resource type (latest service version). Use this to get the schema needed to write Bicep IaC (infrasturcture as code) for Azure resources such as AI models, storage accounts, databases, virtual machines, app services, key vaults, and more. Do not use this tool for resource deployment, deployment guidelines, or getting best practices.", - "command": "bicepschema get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--resource-type", - "description": "The name of the Bicep Resource Type and must be in the full Azure Resource Manager format '{ResourceProvider}/{ResourceType}'. (e.g., 'Microsoft.KeyVault/vaults', 'Microsoft.Storage/storageAccounts', 'Microsoft.Compute/virtualMachines')(e.g., Microsoft.Storage/storageAccounts).", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "aa7c2a8b-c664-423b-8fb5-8edfbdadc783", - "name": "design", - "description": "Recommends architecture design for cloud services/apps/solutions, such as: file storage, banking, video streaming, e-commerce, SaaS, and more. Use as follows:\r\n1. Ask about user role, business goals, etc (1-2 questions at a time).\r\n2. Track confidence returned by service and update requirements (explicit/implicit/assumed).\r\n3. Repeat steps 1 and 2 as needed until confidence >= 0.7\r\n4. Present architecture with table format, visual organization, ASCII diagrams.\r\n5. Follow Azure Well-Architected Framework principles.\r\n6. Cover all tiers: infrastructure, platform, application, data, security, operations.\r\n7. Provide actionable advice and high-level overview. Note: State tracks components, requirements by category, and confidence factors. Be conservative with suggestions.", - "command": "cloudarchitect design", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--question", - "description": "The current question being asked", - "type": "string" - }, - { - "name": "--question-number", - "description": "Current question number", - "type": "string" - }, - { - "name": "--total-questions", - "description": "Estimated total questions needed", - "type": "string" - }, - { - "name": "--answer", - "description": "The user's response to the question", - "type": "string" - }, - { - "name": "--next-question-needed", - "description": "Whether another question is needed", - "type": "string" - }, - { - "name": "--confidence-score", - "description": "A value between 0.0 and 1.0 representing confidence in understanding requirements. When this reaches 0.7 or higher, nextQuestionNeeded should be set to false.", - "type": "string" - }, - { - "name": "--state", - "description": "The complete architecture state from the previous request as JSON, State input schema:\n{\n\"state\":{\n\"type\":\"object\",\n\"description\":\"The complete architecture state from the previous request\",\n\"properties\":{\n\"architectureComponents\":{\n\"type\":\"array\",\n\"description\":\"All architecture components suggested so far\",\n\"items\":{\n\"type\":\"string\"\n}\n},\n\"architectureTiers\":{\n\"type\":\"object\",\n\"description\":\"Components organized by architecture tier\",\n\"additionalProperties\":{\n\"type\":\"array\",\n\"items\":{\n\"type\":\"string\"\n}\n}\n},\n\"thought\":{\n\"type\":\"string\",\n\"description\":\"The calling agent's thoughts on the next question or reasoning process. The calling agent should use the requirements it has gathered to reason about the next question.\"\n},\n\"suggestedHint\":{\n\"type\":\"string\",\n\"description\":\"A suggested interaction hint to show the user, such as 'Ask me to create an ASCII art diagram of this architecture' or 'Ask about how this design handles disaster recovery'.\"\n},\n\"requirements\":{\n\"type\":\"object\",\n\"description\":\"Tracked requirements organized by type\",\n\"properties\":{\n\"explicit\":{\n\"type\":\"array\",\n\"description\":\"Requirements explicitly stated by the user\",\n\"items\":{\n\"type\":\"object\",\n\"properties\":{\n\"category\":{\n\"type\":\"string\"\n},\n\"description\":{\n\"type\":\"string\"\n},\n\"source\":{\n\"type\":\"string\"\n},\n\"importance\":{\n\"type\":\"string\",\n\"enum\":[\n\"high\",\n\"medium\",\n\"low\"\n]\n},\n\"confidence\":{\n\"type\":\"number\"\n}\n}\n}\n},\n\"implicit\":{\n\"type\":\"array\",\n\"description\":\"Requirements implied by user responses\",\n\"items\":{\n\"type\":\"object\",\n\"properties\":{\n\"category\":{\n\"type\":\"string\"\n},\n\"description\":{\n\"type\":\"string\"\n},\n\"source\":{\n\"type\":\"string\"\n},\n\"importance\":{\n\"type\":\"string\",\n\"enum\":[\n\"high\",\n\"medium\",\n\"low\"\n]\n},\n\"confidence\":{\n\"type\":\"number\"\n}\n}\n}\n},\n\"assumed\":{\n\"type\":\"array\",\n\"description\":\"Requirements assumed based on context/best practices\",\n\"items\":{\n\"type\":\"object\",\n\"properties\":{\n\"category\":{\n\"type\":\"string\"\n},\n\"description\":{\n\"type\":\"string\"\n},\n\"source\":{\n\"type\":\"string\"\n},\n\"importance\":{\n\"type\":\"string\",\n\"enum\":[\n\"high\",\n\"medium\",\n\"low\"\n]\n},\n\"confidence\":{\n\"type\":\"number\"\n}\n}\n}\n}\n}\n},\n\"confidenceFactors\":{\n\"type\":\"object\",\n\"description\":\"Factors that contribute to the overall confidence score\",\n\"properties\":{\n\"explicitRequirementsCoverage\":{\n\"type\":\"number\"\n},\n\"implicitRequirementsCertainty\":{\n\"type\":\"number\"\n},\n\"assumptionRisk\":{\n\"type\":\"number\"\n}\n}\n}\n}\n}\n}", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "60f79b69-9e90-4f07-9bf4-bd4452f1143d", - "name": "send", - "description": "Send emails to one or multiple recipients to the given email-address. The emails can be plain text or HTML formatted. You can include a subject, custom sender name, CC and BCC recipients, and reply-to addresses.", - "command": "communication email send", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--endpoint", - "description": "The Communication Services URI endpoint (e.g., https://myservice.communication.azure.com). Required for credential authentication.", - "type": "string", - "required": true - }, - { - "name": "--from", - "description": "The email address to send from (must be from a verified domain)", - "type": "string", - "required": true - }, - { - "name": "--sender-name", - "description": "The display name of the sender", - "type": "string" - }, - { - "name": "--to", - "description": "The recipient email address(es) to send the email to.", - "type": "string", - "required": true - }, - { - "name": "--cc", - "description": "CC recipient email addresses", - "type": "string" - }, - { - "name": "--bcc", - "description": "BCC recipient email addresses", - "type": "string" - }, - { - "name": "--subject", - "description": "The email subject", - "type": "string", - "required": true - }, - { - "name": "--message", - "description": "The email message content to send to the recipient(s).", - "type": "string", - "required": true - }, - { - "name": "--is-html", - "description": "Flag indicating whether the message content is HTML", - "type": "string" - }, - { - "name": "--reply-to", - "description": "Reply-to email addresses", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": false, - "openWorld": true, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "a0dc94f3-25ac-4971-a552-0d90fd57e902", - "name": "send", - "description": "Sends SMS messages to one or more recipients to the given phone-number. You can enable delivery reports and receipt tracking, broadcast SMS, and tag messages for easier tracking.\r\nReturns message IDs and delivery status for each sent message.", - "command": "communication sms send", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--endpoint", - "description": "The Communication Services URI endpoint (e.g., https://myservice.communication.azure.com). Required for credential authentication.", - "type": "string", - "required": true - }, - { - "name": "--from", - "description": "The SMS-enabled phone number associated with your Communication Services resource (in E.164 format, e.g., +14255550123). Can also be a short code or alphanumeric sender ID.", - "type": "string", - "required": true - }, - { - "name": "--to", - "description": "The recipient phone number(s) in E.164 international standard format (e.g., +14255550123). Multiple numbers can be provided.", - "type": "string", - "required": true - }, - { - "name": "--message", - "description": "The SMS message content to send to the recipient(s).", - "type": "string", - "required": true - }, - { - "name": "--enable-delivery-report", - "description": "Whether to enable delivery reporting for the SMS message. When enabled, events are emitted when delivery is successful.", - "type": "string" - }, - { - "name": "--tag", - "description": "Optional custom tag to apply to the SMS message for tracking purposes.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": false, - "openWorld": true, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "3f8a1b2c-5d6e-4a7b-8c9d-0e1f2a3b4c5d", - "name": "create", - "description": "Creates a new Azure managed disk in the specified resource group. Supports creating empty disks (specify --size-gb), disks from a source such as a snapshot, another managed disk, or a blob URI (specify --source), disks from a Shared Image Gallery image version (specify --gallery-image-reference), or disks ready for upload (specify --upload-type and --upload-size-bytes). If location is not specified, defaults to the resource group's location. Supports configuring disk size, storage SKU (e.g., Premium_LRS, Standard_LRS, UltraSSD_LRS), OS type, availability zone, hypervisor generation, tags, encryption settings, performance tier, shared disk, on-demand bursting, and IOPS/throughput limits for UltraSSD disks. Create a disk with network access policy DenyAll, AllowAll, or AllowPrivate and associate a disk access resource during creation.", - "command": "compute disk create", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--disk-name", - "description": "The name of the disk", - "type": "string", - "required": true - }, - { - "name": "--source", - "description": "Source to create the disk from, including a resource ID of a snapshot or disk, or a blob URI of a VHD. When a source is provided, --size-gb is optional and defaults to the source size.", - "type": "string" - }, - { - "name": "--location", - "description": "The Azure region/location. Defaults to the resource group's location if not specified.", - "type": "string" - }, - { - "name": "--size-gb", - "description": "Size of the disk in GB. Max size: 4095 GB.", - "type": "string" - }, - { - "name": "--sku", - "description": "Underlying storage SKU. Accepted values: Premium_LRS, PremiumV2_LRS, Premium_ZRS, StandardSSD_LRS, StandardSSD_ZRS, Standard_LRS, UltraSSD_LRS.", - "type": "string" - }, - { - "name": "--os-type", - "description": "The Operating System type of the disk. Accepted values: Linux, Windows.", - "type": "string" - }, - { - "name": "--zone", - "description": "Availability zone into which to provision the resource.", - "type": "string" - }, - { - "name": "--hyper-v-generation", - "description": "The hypervisor generation of the Virtual Machine. Applicable to OS disks only. Accepted values: V1, V2.", - "type": "string" - }, - { - "name": "--max-shares", - "description": "The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a shared disk.", - "type": "string" - }, - { - "name": "--network-access-policy", - "description": "Policy for accessing the disk via network. Accepted values: AllowAll, AllowPrivate, DenyAll.", - "type": "string" - }, - { - "name": "--enable-bursting", - "description": "Enable on-demand bursting beyond the provisioned performance target of the disk. Does not apply to Ultra disks. Accepted values: true, false.", - "type": "string" - }, - { - "name": "--tags", - "description": "Space-separated tags in 'key=value' format. Use '' to clear existing tags.", - "type": "string" - }, - { - "name": "--disk-encryption-set", - "description": "Resource ID of the disk encryption set to use for enabling encryption at rest.", - "type": "string" - }, - { - "name": "--encryption-type", - "description": "Encryption type of the disk. Accepted values: EncryptionAtRestWithCustomerKey, EncryptionAtRestWithPlatformAndCustomerKeys, EncryptionAtRestWithPlatformKey.", - "type": "string" - }, - { - "name": "--disk-access", - "description": "Resource ID of the disk access resource for using private endpoints on disks.", - "type": "string" - }, - { - "name": "--tier", - "description": "Performance tier of the disk (e.g., P10, P15, P20, P30, P40, P50, P60, P70, P80). Applicable to Premium SSD disks only.", - "type": "string" - }, - { - "name": "--gallery-image-reference", - "description": "Resource ID of a Shared Image Gallery image version to use as the source for the disk. Format: /subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.Compute/galleries/{gallery}/images/{image}/versions/{version}.", - "type": "string" - }, - { - "name": "--gallery-image-reference-lun", - "description": "LUN (Logical Unit Number) of the data disk in the gallery image version. If specified, the disk is created from the data disk at this LUN. If not specified, the disk is created from the OS disk of the image.", - "type": "string" - }, - { - "name": "--disk-iops-read-write", - "description": "The number of IOPS allowed for this disk. Only settable for UltraSSD disks.", - "type": "string" - }, - { - "name": "--disk-mbps-read-write", - "description": "The bandwidth allowed for this disk in MBps. Only settable for UltraSSD disks.", - "type": "string" - }, - { - "name": "--upload-type", - "description": "Type of upload for the disk. Accepted values: Upload, UploadWithSecurityData. When specified, the disk is created in a ReadyToUpload state.", - "type": "string" - }, - { - "name": "--upload-size-bytes", - "description": "The size in bytes (including the VHD footer of 512 bytes) of the content to be uploaded. Required when --upload-type is specified.", - "type": "string" - }, - { - "name": "--security-type", - "description": "Security type of the managed disk. Accepted values: ConfidentialVM_DiskEncryptedWithCustomerKey, ConfidentialVM_DiskEncryptedWithPlatformKey, ConfidentialVM_VMGuestStateOnlyEncryptedWithPlatformKey, Standard, TrustedLaunch. Required when --upload-type is UploadWithSecurityData.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "a7c3e9f1-4b82-4d5a-9e6c-1f3d8b2a7c4e", - "name": "delete", - "description": "Deletes an Azure managed disk from the specified resource group. This is an idempotent operation that returns Deleted = true if the disk was successfully removed, or Deleted = false if the disk was not found. The disk must not be attached to a virtual machine; detach it first before deleting.", - "command": "compute disk delete", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--disk-name", - "description": "The name of the disk", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": true, - "localRequired": false - }, - { - "id": "01ab6f7e-2b27-4d6e-b0cc-b29043efac8e", - "name": "get", - "description": "Lists available Azure managed disks or retrieves detailed information about a specific disk. Shows all disks in a subscription or resource group, including disk size, SKU, provisioning state, and OS type. Supports wildcard patterns in disk names (e.g., 'win_OsDisk*'). When disk name is provided without resource group, searches across the entire subscription. When resource group is specified, scopes the search to that resource group. Both parameters are optional.", - "command": "compute disk get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--disk-name", - "description": "The name of the disk", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "4a9b2c3d-6e7f-5b8c-9d0e-1f2a3b4c5d6e", - "name": "update", - "description": "Updates or modifies properties of an existing Azure managed disk that was previously created. If resource group is not specified, the disk is located by name within the subscription. Supports changing disk size (can only increase), storage SKU, IOPS and throughput limits (UltraSSD only), max shares for shared disk attachments, on-demand bursting, tags, encryption settings, disk access, and performance tier. Modify the network access policy to DenyAll, AllowAll, or AllowPrivate on an existing disk. Only specified properties are updated; unspecified properties remain unchanged.", - "command": "compute disk update", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--disk-name", - "description": "The name of the disk", - "type": "string", - "required": true - }, - { - "name": "--size-gb", - "description": "Size of the disk in GB. Max size: 4095 GB.", - "type": "string" - }, - { - "name": "--sku", - "description": "Underlying storage SKU. Accepted values: Premium_LRS, PremiumV2_LRS, Premium_ZRS, StandardSSD_LRS, StandardSSD_ZRS, Standard_LRS, UltraSSD_LRS.", - "type": "string" - }, - { - "name": "--disk-iops-read-write", - "description": "The number of IOPS allowed for this disk. Only settable for UltraSSD disks.", - "type": "string" - }, - { - "name": "--disk-mbps-read-write", - "description": "The bandwidth allowed for this disk in MBps. Only settable for UltraSSD disks.", - "type": "string" - }, - { - "name": "--max-shares", - "description": "The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a shared disk.", - "type": "string" - }, - { - "name": "--network-access-policy", - "description": "Policy for accessing the disk via network. Accepted values: AllowAll, AllowPrivate, DenyAll.", - "type": "string" - }, - { - "name": "--enable-bursting", - "description": "Enable on-demand bursting beyond the provisioned performance target of the disk. Does not apply to Ultra disks. Accepted values: true, false.", - "type": "string" - }, - { - "name": "--tags", - "description": "Space-separated tags in 'key=value' format. Use '' to clear existing tags.", - "type": "string" - }, - { - "name": "--disk-encryption-set", - "description": "Resource ID of the disk encryption set to use for enabling encryption at rest.", - "type": "string" - }, - { - "name": "--encryption-type", - "description": "Encryption type of the disk. Accepted values: EncryptionAtRestWithCustomerKey, EncryptionAtRestWithPlatformAndCustomerKeys, EncryptionAtRestWithPlatformKey.", - "type": "string" - }, - { - "name": "--disk-access", - "description": "Resource ID of the disk access resource for using private endpoints on disks.", - "type": "string" - }, - { - "name": "--tier", - "description": "Performance tier of the disk (e.g., P10, P15, P20, P30, P40, P50, P60, P70, P80). Applicable to Premium SSD disks only.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "b765ab9c-788d-4422-80aa-54488f6be648", - "name": "create", - "description": "Create, deploy, or provision a single Azure Virtual Machine (VM).\r\nUse this to launch a new Linux or Windows VM with SSH key or password authentication.\r\nAutomatically creates networking resources (VNet, subnet, NSG, NIC, public IP) when not specified.\r\nEquivalent to 'az vm create'. Defaults to Standard_D2s_v5 VM size when not specified.\r\nThe --image option is required and has no default; if the user does not specify an image, ask them which image to use\r\n(an alias such as 'Ubuntu2404' or 'Win2022Datacenter', a marketplace URN like 'publisher:offer:sku:version',\r\nor a shared gallery image ID starting with '/sharedGalleries/').\r\nFor Linux VMs with SSH, read the user's public key file (e.g., ~/.ssh/id_rsa.pub) and pass its content.\r\nDo not use this for creating Virtual Machine Scale Sets with multiple identical instances (use VMSS create instead).", - "command": "compute vm create", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--vm-name", - "description": "The name of the virtual machine", - "type": "string", - "required": true - }, - { - "name": "--location", - "description": "The Azure region/location. Defaults to the resource group's location if not specified.", - "type": "string", - "required": true - }, - { - "name": "--admin-username", - "description": "The admin username for the VM. Required for VM creation", - "type": "string", - "required": true - }, - { - "name": "--admin-password", - "description": "The admin password for Windows VMs or when SSH key is not provided for Linux VMs", - "type": "string" - }, - { - "name": "--ssh-public-key", - "description": "SSH public key for Linux VMs. Can be the key content or path to a file", - "type": "string" - }, - { - "name": "--image", - "description": "The OS image to use. Can be a URN (publisher:offer:sku:version), a shared gallery image ID (starting with '/sharedGalleries/'), or an alias such as 'Ubuntu2404' or 'Win2022Datacenter'.", - "type": "string", - "required": true - }, - { - "name": "--vm-size", - "description": "The VM size (e.g., Standard_D2s_v3, Standard_B2s). Defaults to Standard_D2s_v5 if not specified", - "type": "string" - }, - { - "name": "--os-type", - "description": "The Operating System type of the disk. Accepted values: Linux, Windows.", - "type": "string" - }, - { - "name": "--virtual-network", - "description": "Name of an existing virtual network to use. If not specified, a new one will be created", - "type": "string" - }, - { - "name": "--subnet", - "description": "Name of the subnet within the virtual network", - "type": "string" - }, - { - "name": "--public-ip-address", - "description": "Name of the public IP address to use or create", - "type": "string" - }, - { - "name": "--network-security-group", - "description": "Name of the network security group to use or create", - "type": "string" - }, - { - "name": "--no-public-ip", - "description": "Do not create or assign a public IP address", - "type": "string" - }, - { - "name": "--source-address-prefix", - "description": "Source IP address range for NSG inbound rules (e.g., '203.0.113.0/24' or a specific IP). Defaults to '*' (any source)", - "type": "string" - }, - { - "name": "--zone", - "description": "Availability zone into which to provision the resource.", - "type": "string" - }, - { - "name": "--os-disk-size-gb", - "description": "OS disk size in GB. Defaults based on image requirements", - "type": "string" - }, - { - "name": "--os-disk-type", - "description": "OS disk type: 'Premium_LRS', 'StandardSSD_LRS', 'Standard_LRS'. Defaults based on VM size", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": true, - "localRequired": false - }, - { - "id": "d4e2c8a1-6f3b-4d9e-b8c7-1a2e3f4d5e6f", - "name": "delete", - "description": "Delete, remove, or destroy an Azure Virtual Machine (VM).\r\nUse this to permanently remove a VM that is no longer needed.\r\nEquivalent to 'az vm delete'. This operation is irreversible and the VM data will be lost.\r\nUse --force-deletion to force delete the VM even if it is in a running or failed state\r\n(passes forceDeletion=true to the Azure API).\r\nAssociated resources like disks, NICs, and public IPs are NOT automatically deleted.\r\nDo not use this to delete Virtual Machine Scale Sets (use VMSS delete instead).", - "command": "compute vm delete", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--vm-name", - "description": "The name of the virtual machine", - "type": "string", - "required": true - }, - { - "name": "--force-deletion", - "description": "Force delete the resource even if it is in a running or failed state (passes forceDeletion=true to the Azure API)", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": true, - "localRequired": false - }, - { - "id": "c1a8b3e5-4f2d-4a6e-8c7b-9d2e3f4a5b6c", - "name": "get", - "description": "List or get Azure Virtual Machine (VM) configuration and properties in a resource group. By default, returns VM details including name, location, size, provisioning state, and OS type. When retrieving a specific VM with --vm-name and --instance-view, the response also includes power state (running/stopped/deallocated). Use this tool to retrieve VM configuration details.", - "command": "compute vm get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--vm-name", - "description": "The name of the virtual machine", - "type": "string" - }, - { - "name": "--instance-view", - "description": "Include instance view details (only available when retrieving a specific VM)", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "f330138e-8048-4a4a-8170-d8b6f958eaa4", - "name": "update", - "description": "Update, modify, or reconfigure an existing Azure Virtual Machine (VM).\r\nUse this to resize a VM, update tags, configure boot diagnostics, or change user data.\r\nEquivalent to 'az vm update'. The VM may need to be deallocated before resizing to certain sizes.\r\nDo not use this to create a new VM (use VM create) or to update Virtual Machine Scale Sets (use VMSS update).", - "command": "compute vm update", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--vm-name", - "description": "The name of the virtual machine", - "type": "string", - "required": true - }, - { - "name": "--vm-size", - "description": "The VM size (e.g., Standard_D2s_v3, Standard_B2s). Defaults to Standard_D2s_v5 if not specified", - "type": "string" - }, - { - "name": "--tags", - "description": "Space-separated tags in 'key=value' format. Use '' to clear existing tags.", - "type": "string" - }, - { - "name": "--license-type", - "description": "License type for Azure Hybrid Benefit: 'Windows_Server', 'Windows_Client', 'RHEL_BYOS', 'SLES_BYOS', or 'None' to disable", - "type": "string" - }, - { - "name": "--boot-diagnostics", - "description": "Enable or disable boot diagnostics: 'true' or 'false'", - "type": "string" - }, - { - "name": "--user-data", - "description": "Base64-encoded user data for the VM. Use to update custom data scripts", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "c46a4bc5-cba6-4d99-991b-a9109fc689ad", - "name": "create", - "description": "Create, deploy, or provision an Azure Virtual Machine Scale Set (VMSS) for running multiple identical VM instances.\r\nUse this to deploy workloads that need horizontal scaling, load balancing, or high availability across instances.\r\nEquivalent to 'az vmss create'. Defaults to 2 instances and Standard_D2s_v5 size when not specified.\r\nThe --image option is required and has no default; if the user does not specify an image, ask them which image to use\r\n(an alias such as 'Ubuntu2404' or 'Win2022Datacenter', a marketplace URN like 'publisher:offer:sku:version',\r\nor a shared gallery image ID starting with '/sharedGalleries/').\r\nFor Linux VMSS with SSH, read the user's public key file (e.g., ~/.ssh/id_rsa.pub) and pass its content.\r\nDo not use this for creating a single standalone VM (use VM create instead).", - "command": "compute vmss create", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--vmss-name", - "description": "The name of the virtual machine scale set", - "type": "string", - "required": true - }, - { - "name": "--location", - "description": "The Azure region/location. Defaults to the resource group's location if not specified.", - "type": "string", - "required": true - }, - { - "name": "--admin-username", - "description": "The admin username for the VM. Required for VM creation", - "type": "string", - "required": true - }, - { - "name": "--admin-password", - "description": "The admin password for Windows VMs or when SSH key is not provided for Linux VMs", - "type": "string" - }, - { - "name": "--ssh-public-key", - "description": "SSH public key for Linux VMs. Can be the key content or path to a file", - "type": "string" - }, - { - "name": "--image", - "description": "The OS image to use. Can be a URN (publisher:offer:sku:version), a shared gallery image ID (starting with '/sharedGalleries/'), or an alias such as 'Ubuntu2404' or 'Win2022Datacenter'.", - "type": "string", - "required": true - }, - { - "name": "--vm-size", - "description": "The VM size (e.g., Standard_D2s_v3, Standard_B2s). Defaults to Standard_D2s_v5 if not specified", - "type": "string" - }, - { - "name": "--os-type", - "description": "The Operating System type of the disk. Accepted values: Linux, Windows.", - "type": "string" - }, - { - "name": "--instance-count", - "description": "Number of VM instances in the scale set. Default is 2", - "type": "string" - }, - { - "name": "--upgrade-policy", - "description": "Upgrade policy mode: 'Automatic', 'Manual', or 'Rolling'. Default is 'Manual'", - "type": "string" - }, - { - "name": "--virtual-network", - "description": "Name of an existing virtual network to use. If not specified, a new one will be created", - "type": "string" - }, - { - "name": "--subnet", - "description": "Name of the subnet within the virtual network", - "type": "string" - }, - { - "name": "--zone", - "description": "Availability zone into which to provision the resource.", - "type": "string" - }, - { - "name": "--os-disk-size-gb", - "description": "OS disk size in GB. Defaults based on image requirements", - "type": "string" - }, - { - "name": "--os-disk-type", - "description": "OS disk type: 'Premium_LRS', 'StandardSSD_LRS', 'Standard_LRS'. Defaults based on VM size", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": true, - "localRequired": false - }, - { - "id": "e5f3d9b2-7a4c-4e8f-c9d8-2b3f4a5e6d7c", - "name": "delete", - "description": "Delete, remove, or destroy an Azure Virtual Machine Scale Set (VMSS) and all its VM instances.\r\nUse this to permanently remove a scale set that is no longer needed.\r\nEquivalent to 'az vmss delete'. This operation is irreversible and all VMSS instances will be lost.\r\nUse --force-deletion to force delete the VMSS even if it is in a running or failed state\r\n(passes forceDeletion=true to the Azure API).\r\nDo not use this to delete a single VM (use VM delete instead).", - "command": "compute vmss delete", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--vmss-name", - "description": "The name of the virtual machine scale set", - "type": "string", - "required": true - }, - { - "name": "--force-deletion", - "description": "Force delete the resource even if it is in a running or failed state (passes forceDeletion=true to the Azure API)", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": true, - "localRequired": false - }, - { - "id": "a5e2f7i9-8j6h-8e0i-2g1f-3h6i7j8e9f0g", - "name": "get", - "description": "List or get Azure Virtual Machine Scale Sets (VMSS) and their instances in a subscription or resource group. Returns scale set details including name, location, SKU, capacity, upgrade policy, and individual VM instance information.", - "command": "compute vmss get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--vmss-name", - "description": "The name of the virtual machine scale set", - "type": "string" - }, - { - "name": "--instance-id", - "description": "The instance ID of the virtual machine in the scale set", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "aaa0ad51-3c16-4ec2-99e2-b24f28a1e7d0", - "name": "update", - "description": "Update, modify, or reconfigure an existing Azure Virtual Machine Scale Set (VMSS).\r\nUse this to scale instance count, resize VMs, change upgrade policy, or update tags on a scale set.\r\nEquivalent to 'az vmss update'. Changes may require 'update-instances' to roll out to existing VMs.\r\nDo not use this to create a new VMSS (use VMSS create) or to update a single VM (use VM update).", - "command": "compute vmss update", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--vmss-name", - "description": "The name of the virtual machine scale set", - "type": "string", - "required": true - }, - { - "name": "--upgrade-policy", - "description": "Upgrade policy mode: 'Automatic', 'Manual', or 'Rolling'. Default is 'Manual'", - "type": "string" - }, - { - "name": "--capacity", - "description": "Number of VM instances (capacity) in the scale set", - "type": "string" - }, - { - "name": "--vm-size", - "description": "The VM size (e.g., Standard_D2s_v3, Standard_B2s). Defaults to Standard_D2s_v5 if not specified", - "type": "string" - }, - { - "name": "--overprovision", - "description": "Enable or disable overprovisioning. When enabled, Azure provisions more VMs than requested and deletes extra VMs after deployment", - "type": "string" - }, - { - "name": "--enable-auto-os-upgrade", - "description": "Enable automatic OS image upgrades. Requires health probes or Application Health extension", - "type": "string" - }, - { - "name": "--scale-in-policy", - "description": "Scale-in policy to determine which VMs to remove: 'Default', 'NewestVM', or 'OldestVM'", - "type": "string" - }, - { - "name": "--tags", - "description": "Space-separated tags in 'key=value' format. Use '' to clear existing tags.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "94fec47b-eb44-4d20-862f-24c284328956", - "name": "append", - "description": "Appends a tamper-proof entry to a Confidential Ledger instance and returns the transaction identifier.", - "command": "confidentialledger entries append", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--ledger", - "description": "The name of the Confidential Ledger instance (e.g., 'myledger').", - "type": "string", - "required": true - }, - { - "name": "--content", - "description": "The JSON or text payload to append as a tamper-proof ledger entry.", - "type": "string", - "required": true - }, - { - "name": "--collection-id", - "description": "Optional ledger collection identifier. If omitted the default collection is used.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "f1281e49-6392-455d-8caf-eb58428e8f5e", - "name": "get", - "description": "Retrieves the Confidential Ledger entry and its recorded contents for the specified transaction ID, optionally scoped to a collection.", - "command": "confidentialledger entries get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--ledger", - "description": "The name of the Confidential Ledger instance (e.g., 'myledger').", - "type": "string", - "required": true - }, - { - "name": "--transaction-id", - "description": "The Confidential Ledger transaction identifier (for example: '2.199').", - "type": "string", - "required": true - }, - { - "name": "--collection-id", - "description": "Optional ledger collection identifier. If omitted the default collection is used.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "d4e5f6a7-b8c9-0d1e-2f3a-4b5c6d7e8f90", - "name": "list", - "description": "List Azure Container Apps in a subscription. Optionally filter by resource group. Each container app result\r\nincludes: name, location, resourceGroup, managedEnvironmentId, provisioningState. If no container apps are\r\nfound the tool returns an empty list of results (consistent with other list commands).", - "command": "containerapps list", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "5c19a92a-4e0c-44dc-b1e7-5560a0d277b5", - "name": "query", - "description": "List items from a Cosmos DB container by specifying the account name, database name, and container name, optionally providing a custom SQL query to filter results.", - "command": "cosmos database container item query", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--account", - "description": "The name of the Cosmos DB account to query (e.g., my-cosmos-account).", - "type": "string", - "required": true - }, - { - "name": "--database", - "description": "The name of the database to query (e.g., my-database).", - "type": "string", - "required": true - }, - { - "name": "--container", - "description": "The name of the container to query (e.g., my-container).", - "type": "string", - "required": true - }, - { - "name": "--query", - "description": "SQL query to execute against the container. Uses Cosmos DB SQL syntax.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", - "name": "list", - "description": "List Cosmos DB accounts, databases, or containers. Returns all accounts in the subscription by default. Specify --account to list databases in that account, or --account and --database to list containers in a specific database.", - "command": "cosmos list", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--account", - "description": "The name of the Cosmos DB account (optional). When not specified, lists all accounts in the subscription. Specify this to list databases, or combine with --database to list containers.", - "type": "string" - }, - { - "name": "--database", - "description": "The name of the database (optional). Requires --account to be specified. When provided, lists containers within this database.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "bbd026b6-df96-4c52-8b72-13734984a600", - "name": "list", - "description": "List monitored resources in Datadog for a datadog resource taken as input from the user.\r\nThis command retrieves all monitored azure resources available.\r\nRequires `datadog-resource`, `resource-group` and `subscription`.\r\nResult is a list of monitored resources as a JSON array.", - "command": "datadog monitoredresources list", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--datadog-resource", - "description": "The name of the Datadog resource to use. This is the unique name you chose for your Datadog resource in Azure.", - "type": "string", - "required": true - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "ce9d648d-7c76-48a0-8cba-b9b57c6fd00b", - "name": "get", - "description": "Shows application logs for Azure Developer CLI (azd) deployed applications from their associated Log Analytics workspace. Supports Container Apps, App Services, and Function Apps deployed via 'azd up'. Requires local workspace access to read the azure.yaml project file. Automatically discovers the correct Log Analytics workspace and resources based on azd environment configuration. Returns console log entries for checking deployment status or troubleshooting post-deployment issues.", - "command": "deploy app logs get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--workspace-folder", - "description": "The full path of the workspace folder.", - "type": "string", - "required": true - }, - { - "name": "--azd-env-name", - "description": "The name of the environment created by azd (AZURE_ENV_NAME) during `azd init` or `azd up`. If not provided in context, try to find it in the .azure directory in the workspace or use 'azd env list'.", - "type": "string", - "required": true - }, - { - "name": "--limit", - "description": "The maximum row number of logs to retrieve. Use this to get a specific number of logs or to avoid the retrieved logs from reaching token limit. Default is 200.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": true - }, - { - "id": "34d7ec6a-e229-4775-8af3-85f81ae3e6d3", - "name": "generate", - "description": "Generates a Mermaid architecture diagram showing recommended Azure services and their connections for an application. Input is a structured AppTopology JSON built by scanning the workspace: detect services, frameworks, ports, Docker settings, and dependencies from connection strings and environment variables. For .NET Aspire applications, check aspireManifest.json. Returns a Mermaid diagram string. Supported compute types include AppService, FunctionApp, ContainerApp, StaticWebApp, and AKS. Supported dependency types include SQL, Cosmos, Redis, Storage, ServiceBus, KeyVault, and other supported Azure services.", - "command": "deploy architecture diagram generate", - "option": [ - { - "name": "--raw-mcp-tool-input", - "description": "{\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"workspaceFolder\": {\r\n \"type\": \"string\",\r\n \"description\": \"The full path of the workspace folder.\"\r\n },\r\n \"projectName\": {\r\n \"type\": \"string\",\r\n \"description\": \"The name of the project. This is used to generate the resource names.\"\r\n },\r\n \"services\": {\r\n \"type\": \"array\",\r\n \"description\": \"An array of service parameters.\",\r\n \"items\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"name\": {\r\n \"type\": \"string\",\r\n \"description\": \"The name of the service.\"\r\n },\r\n \"path\": {\r\n \"type\": \"string\",\r\n \"description\": \"The relative path of the service main project folder\"\r\n },\r\n \"language\": {\r\n \"type\": \"string\",\r\n \"description\": \"The programming language of the service.\"\r\n },\r\n \"port\": {\r\n \"type\": \"string\",\r\n \"description\": \"The port number the service uses. Get this from Dockerfile for container apps. If not available, default to '80'.\"\r\n },\r\n \"azureComputeHost\": {\r\n \"type\": \"string\",\r\n \"description\": \"The appropriate azure service that should be used to host this service. Use containerapp if the service is containerized and has a Dockerfile.\",\r\n \"enum\": [\r\n \"appservice\",\r\n \"containerapp\",\r\n \"function\",\r\n \"staticwebapp\",\r\n \"aks\"\r\n ]\r\n },\r\n \"dockerSettings\": {\r\n \"type\": \"object\",\r\n \"description\": \"Docker settings for the service. This is only needed if the service's azureComputeHost is containerapp.\",\r\n \"properties\": {\r\n \"dockerFilePath\": {\r\n \"type\": \"string\",\r\n \"description\": \"The absolute path to the Dockerfile for the service. If the service's azureComputeHost is not containerapp, leave blank.\"\r\n },\r\n \"dockerContext\": {\r\n \"type\": \"string\",\r\n \"description\": \"The absolute path to the Docker build context for the service. If the service's azureComputeHost is not containerapp, leave blank.\"\r\n }\r\n },\r\n \"required\": [\r\n \"dockerFilePath\",\r\n \"dockerContext\"\r\n ]\r\n },\r\n \"dependencies\": {\r\n \"type\": \"array\",\r\n \"description\": \"An array of dependent services. A compute service may have a dependency on another compute service.\",\r\n \"items\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"name\": {\r\n \"type\": \"string\",\r\n \"description\": \"The name of the dependent service. Can be arbitrary, or must reference another service in the services array if referencing appservice, containerapp, staticwebapps, aks, or functionapp.\"\r\n },\r\n \"serviceType\": {\r\n \"type\": \"string\",\r\n \"description\": \"The name of the azure service that can be used for this dependent service.\",\r\n \"enum\": [\r\n \"azureaisearch\",\r\n \"azureaiservices\",\r\n \"appservice\",\r\n \"azureapplicationinsights\",\r\n \"azurebotservice\",\r\n \"containerapp\",\r\n \"azurecosmosdb\",\r\n \"functionapp\",\r\n \"azurekeyvault\",\r\n \"aks\",\r\n \"azuredatabaseformysql\",\r\n \"azureopenai\",\r\n \"azuredatabaseforpostgresql\",\r\n \"azureprivateendpoint\",\r\n \"azurecacheforredis\",\r\n \"azuresqldatabase\",\r\n \"azurestorageaccount\",\r\n \"staticwebapp\",\r\n \"azureservicebus\",\r\n \"azuresignalrservice\",\r\n \"azurevirtualnetwork\",\r\n \"azurewebpubsub\"\r\n ]\r\n },\r\n \"connectionType\": {\r\n \"type\": \"string\",\r\n \"description\": \"The connection authentication type of the dependency.\",\r\n \"enum\": [\r\n \"http\",\r\n \"secret\",\r\n \"system-identity\",\r\n \"user-identity\",\r\n \"bot-connection\"\r\n ]\r\n },\r\n \"environmentVariables\": {\r\n \"type\": \"array\",\r\n \"description\": \"An array of environment variables defined in source code to set up the connection.\",\r\n \"items\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"required\": [\r\n \"name\",\r\n \"serviceType\",\r\n \"connectionType\",\r\n \"environmentVariables\"\r\n ]\r\n }\r\n },\r\n \"settings\": {\r\n \"type\": \"array\",\r\n \"description\": \"An array of environment variables needed to run this service. Please search the entire codebase to find environment variables.\",\r\n \"items\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"required\": [\r\n \"name\",\r\n \"path\",\r\n \"azureComputeHost\",\r\n \"language\",\r\n \"port\",\r\n \"dependencies\",\r\n \"settings\"\r\n ]\r\n }\r\n }\r\n },\r\n \"required\": [\r\n \"workspaceFolder\",\r\n \"services\"\r\n ]\r\n}", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "942b5c00-01dd-4ca0-9596-4cf650ff7934", - "name": "get", - "description": "Retrieves curated IaC rules and best practices for creating Bicep or Terraform files compatible with Azure Developer CLI (azd) or Azure CLI deployments. Covers Azure resource configuration standards, naming requirements, and deployment tool constraints that differ from generic IaC guidance. Returns a formatted rules document. Specify deployment tool (AzCli or AZD), IaC type (bicep or terraform), and target resource types.", - "command": "deploy iac rules get", - "option": [ - { - "name": "--deployment-tool", - "description": "The deployment tool to use. Valid values: AzCli, AZD", - "type": "string", - "required": true - }, - { - "name": "--iac-type", - "description": "The type of IaC file used for deployment. Valid values: bicep, terraform. Leave empty ONLY if user wants to use AzCli command script and no IaC file.", - "type": "string" - }, - { - "name": "--resource-types", - "description": "List of Azure resource types to generate rules for. Get the value from context and use the same resources defined in plan. Valid value: 'appservice','containerapp','function','aks','azuredatabaseforpostgresql','azuredatabaseformysql','azuresqldatabase','azurecosmosdb','azurestorageaccount','azurekeyvault'", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "8aec84f9-e884-4119-a386-53b7cfbe9e00", - "name": "get", - "description": "Provides the recommended Azure-specific rules for generating CI/CD pipeline files (GitHub Actions or Azure DevOps) for deploying to Azure. Call this tool before writing pipeline/workflow YAML when the user asks to set up CI/CD pipelines or workflows. It returns current authentication patterns (e.g., OIDC with managed identity), multi-environment configuration, and deployment constraints that vary by platform and are not covered by general best practices. Determine the pipeline platform (github-actions or azure-devops) and deployment scope (deploy-only or provision-and-deploy) from project context before calling. Handles both azd-based and Azure CLI-based deployments.", - "command": "deploy pipeline guidance get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--is-azd-project", - "description": "Whether to use azd tool in the deployment pipeline. Set to true ONLY if azure.yaml is provided or the context suggests AZD tools.", - "type": "string" - }, - { - "name": "--pipeline-platform", - "description": "The platform for the deployment pipeline. Valid values: github-actions, azure-devops.", - "type": "string" - }, - { - "name": "--deploy-option", - "description": "Valid values: deploy-only, provision-and-deploy. Default to deploy-only. Set to 'provision-and-deploy' ONLY WHEN user explicitly wants infra provisioning pipeline using local provisioning scripts.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "92ca95b2-cde6-407c-ac67-9743db40dfc4", - "name": "get", - "description": "Retrieves an Azure-specific deployment plan template for deploying an application to Azure using deployment options provided by the caller. Use this tool when the user wants a formatted, step-by-step deployment plan, including suggested Azure resources, infrastructure as code (IaC) templates, and deployment instructions, for a target Azure hosting service such as Container Apps, App Service, or AKS and a chosen provisioning tool such as Azure Developer CLI (azd) or Azure CLI with Bicep or Terraform. Before calling, determine the services, frameworks, and dependencies to deploy, select the appropriate Azure hosting service, provisioning tool, IaC type, and deployment option, and then pass those chosen values into this tool to generate the deployment plan.", - "command": "deploy plan get", - "option": [ - { - "name": "--workspace-folder", - "description": "The full path of the workspace folder.", - "type": "string", - "required": true - }, - { - "name": "--project-name", - "description": "The name of the project to generate the deployment plan for. If not provided, will be inferred from the workspace.", - "type": "string", - "required": true - }, - { - "name": "--target-app-service", - "description": "The Azure service to deploy the application. Valid values: ContainerApp, WebApp, FunctionApp, AKS. If not specified, defaults to ContainerApp. Recommend one based on the user application when possible.", - "type": "string" - }, - { - "name": "--provisioning-tool", - "description": "The tool to use for provisioning Azure resources. Valid values: AzCli, AZD.", - "type": "string" - }, - { - "name": "--iac-options", - "description": "The Infrastructure as Code option. Valid values: bicep, terraform. Leave empty if user wants to use azcli command script.", - "type": "string" - }, - { - "name": "--source-type", - "description": "The source of the plan to generate from. Valid values: 'from-project', 'from-azure', 'from-context'. If user doesn't have existing resources, set 'from-project' and generating deploy plan based on the project files in the workspace. If user mentions Azure resources exist, set 'from-azure' and ask for existing Azure resources details to generate plan. If the user have no existing resource but declare the expected Azure resources, use 'from-context' and the deploy plan should be based on the user's input.", - "type": "string" - }, - { - "name": "--deploy-option", - "description": "Set the value based on project and user's input. Valid values: 'provision-and-deploy', 'deploy-only', 'provision-only'. Use 'deploy-only' if user mentions they want to deploy to existing Azure resources or Iac files already exist in project, get Azure resource group from project files or from user. Use 'provision-only' if user only wants to provision Azure resource. Use 'provision-and-deploy' if user wants to deploy application and doesn't have existing infrastructure resources, or are starting from an empty resource group.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "9c42f93b-2d4e-4fb3-b98b-2ef119b46c94", - "name": "list", - "description": "Lists Azure Device Registry namespaces in a subscription or resource group. Returns namespace details including\r\nname, location, provisioning state, and UUID. If a resource group is specified, only namespaces within that\r\nresource group are returned. Otherwise, all namespaces in the subscription are listed.", - "command": "deviceregistry namespace list", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "d5f216a4-c45e-4c29-a414-d3feaa5929e2", - "name": "publish", - "description": "Publish custom events to Event Grid topics for event-driven architectures. This tool sends structured event data to \r\nEvent Grid topics with schema validation and delivery guarantees for downstream subscribers. Returns publish operation \r\nstatus. Requires topic, data, and optional schema.", - "command": "eventgrid events publish", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--topic", - "description": "The name of the Event Grid topic.", - "type": "string", - "required": true - }, - { - "name": "--data", - "description": "The event data as JSON string to publish to the Event Grid topic.", - "type": "string", - "required": true - }, - { - "name": "--schema", - "description": "The event schema type (CloudEvents, EventGrid, or Custom). Defaults to EventGrid.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "716a33e5-755c-4168-87ed-8a4651476c6e", - "name": "list", - "description": "Show all available Event Grid subscriptions with optional topic filtering. This tool displays active event subscriptions including webhook endpoints, event filters, and delivery retry policies. Use this when you need to show, list, or get Event Grid subscriptions for topics. Requires either topic name OR subscription. If only topic is provided, searches all accessible subscriptions for a topic with that name. Resource group and location filters can be applied, but only when used with a subscription or topic.", - "command": "eventgrid subscription list", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--topic", - "description": "The name of the Event Grid topic.", - "type": "string" - }, - { - "name": "--location", - "description": "The Azure region to filter resources by (e.g., 'eastus', 'westus2').", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "42390294-2856-4980-a057-095c91355650", - "name": "list", - "description": "List or show all Event Grid topics in a subscription, optionally filtered by resource group, returning endpoints, access keys, provisioning state, and subscription details for event publishing and management. A subscription or topic name is required.", - "command": "eventgrid topic list", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "08980fd4-c7c2-41cd-a3c2-eda5303bd458", - "name": "delete", - "description": "Delete a Consumer Group. This tool will delete a pre-existing Consumer Group from the specified \r\nEvent Hub. This tool will remove existing configurations, and is considered to be destructive.\r\n\r\nThe tool requires specifying the resource group, Namespace name, Event Hub name, and Consumer\r\nGroup name to identify the Consumer Group to delete.", - "command": "eventhubs eventhub consumergroup delete", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--namespace", - "description": "The name of the Event Hubs namespace to retrieve. Must be used with --resource-group option.", - "type": "string", - "required": true - }, - { - "name": "--eventhub", - "description": "The name of the Event Hub within the namespace.", - "type": "string", - "required": true - }, - { - "name": "--consumer-group", - "description": "The name of the consumer group within the Event Hub.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "604fda48-2438-419d-a819-5f9d2f3b21f8", - "name": "get", - "description": "Get consumer groups from Azure Event Hub. This command can either:\r\n\r\n1) List all consumer groups in an Event Hub\r\n2) Get a single consumer group by name\r\n\r\nThe EventHub, Namespace, and ResourceGroup parameters are required (for both get and list)\r\nThe Consumer Group parameter is only required for getting a specific consumer-group\r\nWhen retrieving a single consumer group and when listing all available consumer groups, return all available metadata on the consumer group.", - "command": "eventhubs eventhub consumergroup get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--namespace", - "description": "The name of the Event Hubs namespace to retrieve. Must be used with --resource-group option.", - "type": "string", - "required": true - }, - { - "name": "--eventhub", - "description": "The name of the Event Hub within the namespace.", - "type": "string", - "required": true - }, - { - "name": "--consumer-group", - "description": "The name of the consumer group within the Event Hub.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "859871ba-b8dc-439c-a607-11b0d89f5112", - "name": "update", - "description": "Create or Update a Consumer Group. This tool will either create a Consumer Group resource \r\nor update a pre-existing Consumer Group resource within the specified Event Hub, depending \r\non whether or not the specified Consumer Group already exists. This tool may modify existing \r\nconfigurations, and is considered to be destructive. \r\n\r\nThe tool requires specifying the resource group, namespace name, event hub name, and consumer \r\ngroup name. Optionally, you can provide user metadata for the consumer group.", - "command": "eventhubs eventhub consumergroup update", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--namespace", - "description": "The name of the Event Hubs namespace to retrieve. Must be used with --resource-group option.", - "type": "string", - "required": true - }, - { - "name": "--eventhub", - "description": "The name of the Event Hub within the namespace.", - "type": "string", - "required": true - }, - { - "name": "--consumer-group", - "description": "The name of the consumer group within the Event Hub.", - "type": "string", - "required": true - }, - { - "name": "--user-metadata", - "description": "User metadata for the consumer group.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "108ffeab-8d37-4c29-98c9-aa99eb8f61c7", - "name": "delete", - "description": "Delete an Event Hub from an Azure Event Hubs namespace. This operation permanently removes\r\nthe specified Event Hub and all its data. This is a destructive operation.\r\n\r\nThe operation is idempotent - if the Event Hub doesn't exist, the command reports success\r\nwith Deleted = false. If the Event Hub is successfully deleted, Deleted = true is returned.\r\nWarning: This operation cannot be undone. All messages and consumer groups in the Event Hub\r\nwill be permanently deleted.", - "command": "eventhubs eventhub delete", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--namespace", - "description": "The name of the Event Hubs namespace to retrieve. Must be used with --resource-group option.", - "type": "string", - "required": true - }, - { - "name": "--eventhub", - "description": "The name of the Event Hub within the namespace.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "ab774777-76ac-4e24-ba19-da67254441a9", - "name": "get", - "description": "Get Event Hubs from Azure namespace. This command can either:\r\n1. List all Event Hubs in a namespace\r\n2. Get a single Event Hub by name\r\n\r\nWhen retrieving a single Event Hub or listing multiple Event Hubs, detailed information including\r\npartition count, settings, and metadata is returned for all Event Hubs.", - "command": "eventhubs eventhub get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--namespace", - "description": "The name of the Event Hubs namespace to retrieve. Must be used with --resource-group option.", - "type": "string", - "required": true - }, - { - "name": "--eventhub", - "description": "The name of the Event Hub within the namespace.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "1df73670-9de5-4d4b-bdd8-9d2d9e16f732", - "name": "update", - "description": "Create or update an Event Hub within an Azure Event Hubs namespace. This command can either:\r\n1. Create a new Event Hub if it doesn't exist\r\n2. Update an existing Event Hub's configuration\r\n\r\nYou can configure:\r\n- Partition count (number of partitions for parallel processing)\r\n- Message retention time (how long messages are retained in hours)\r\n\r\nNote: Some properties like partition count cannot be changed after creation.\r\nThis is a potentially long-running operation that waits for completion.", - "command": "eventhubs eventhub update", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--namespace", - "description": "The name of the Event Hubs namespace to retrieve. Must be used with --resource-group option.", - "type": "string", - "required": true - }, - { - "name": "--eventhub", - "description": "The name of the Event Hub within the namespace.", - "type": "string", - "required": true - }, - { - "name": "--partition-count", - "description": "The number of partitions for the event hub. Must be between 1 and 32 (or higher based on namespace tier).", - "type": "string" - }, - { - "name": "--message-retention-in-hours", - "description": "The message retention time in hours. Minimum is 1 hour, maximum depends on the namespace tier.", - "type": "string" - }, - { - "name": "--status", - "description": "The status of the event hub (Active, Disabled, etc.). Note: Status may be read-only in some operations.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "187ffc25-1e32-4e39-a7d4-94859852ac50", - "name": "delete", - "description": "Delete Event Hubs namespace. This tool will delete a pre-existing Namespace from the \r\nspecified resource group. This tool will remove existing configurations, and is \r\nconsidered to be destructive.\r\n\r\nWARNING: This operation is irreversible. All Event Hubs, Consumer Groups, and\r\nconfigurations within the namespace will be permanently deleted.\r\n\r\nThe namespace must exist in the specified resource group. If the namespace is not found,\r\nan error will be returned.", - "command": "eventhubs namespace delete", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--namespace", - "description": "The name of the Event Hubs namespace to retrieve. Must be used with --resource-group option.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "71ec6c5b-b6e4-4c64-b31b-2d61dfad3b5c", - "name": "get", - "description": "Get Event Hubs namespaces from Azure. This command supports three modes of operation:\r\n1. List all Event Hubs namespaces in a subscription \r\n2. List all Event Hubs namespaces in a specific resource group \r\n3. Get a single namespace by name \r\n\r\nWhen retrieving a single namespace, detailed information including SKU, settings, and metadata \r\nis returned. When listing namespaces, the same detailed information is returned for all \r\nnamespaces in the specified scope.\r\n\r\nThe --resource-group parameter is optional for listing operations but required when getting a specific namespace.", - "command": "eventhubs namespace get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--namespace", - "description": "The name of the Event Hubs namespace to retrieve. Must be used with --resource-group option.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "225eb25d-52c5-4c3a-9eb4-066cf2b9da84", - "name": "update", - "description": "Create or Update a Namespace. This tool will either create a Namespace resource or \r\nupdate a pre-existing Namespace resource within the specified resource group, depending on \r\nwhether or not the specified Namespace already exists. This tool may modify existing \r\nconfigurations, and is considered to be destructive. This is a potentially long-running operation.\r\n\r\nWhen updating an existing namespace, you only need to provide the properties you want to change.\r\nUnspecified properties will retain their existing values. At least one update property must be provided.\r\n\r\nCommon update scenarios:\r\n- Scale up/down by changing SKU tier or capacity\r\n- Enable/disable auto-inflate and set maximum throughput units\r\n- Enable/disable Kafka support\r\n- Modify tags for resource management\r\n- Enable/disable zone redundancy (Premium SKU only)", - "command": "eventhubs namespace update", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--namespace", - "description": "The name of the Event Hubs namespace to retrieve. Must be used with --resource-group option.", - "type": "string", - "required": true - }, - { - "name": "--location", - "description": "The Azure region where the namespace is located (e.g., 'eastus', 'westus2').", - "type": "string" - }, - { - "name": "--sku-name", - "description": "The SKU name for the namespace. Valid values: 'Basic', 'Standard', 'Premium'.", - "type": "string" - }, - { - "name": "--sku-tier", - "description": "The SKU tier for the namespace. Valid values: 'Basic', 'Standard', 'Premium'.", - "type": "string" - }, - { - "name": "--sku-capacity", - "description": "The SKU capacity (throughput units) for the namespace. Valid range depends on the SKU.", - "type": "string" - }, - { - "name": "--is-auto-inflate-enabled", - "description": "Enable or disable auto-inflate for the namespace.", - "type": "string" - }, - { - "name": "--maximum-throughput-units", - "description": "The maximum throughput units when auto-inflate is enabled.", - "type": "string" - }, - { - "name": "--kafka-enabled", - "description": "Enable or disable Kafka for the namespace.", - "type": "string" - }, - { - "name": "--zone-redundant", - "description": "Enable or disable zone redundancy for the namespace.", - "type": "string" - }, - { - "name": "--tags", - "description": "Tags for the namespace in JSON format (e.g., '{\"key1\":\"value1\",\"key2\":\"value2\"}').", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "e7ef18a3-2730-4300-bad3-dc766f47dd2a", - "name": "azqr", - "description": "Runs Azure Quick Review CLI (azqr) commands to generate compliance and security reports for Azure resources, identifying non-compliant configurations or areas for improvement. Requires a subscription id and optionally a resource group name. Returns the generated report file path. Note: azqr is different from Azure CLI (az).", - "command": "extension azqr", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "3de4ef37-90bf-41f1-8385-5e870c3ae911", - "name": "generate", - "description": "Generate Azure CLI (az) commands used to accomplish a goal described by the user. This tool incorporates CLI knowledge beyond what you know. Use this tool when the user asks for Azure CLI commands or wants to use the Azure CLI to accomplish something.", - "command": "extension cli generate", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--intent", - "description": "The user intent of the task to be solved by using the CLI tool. This user intent will be used to generate the appropriate CLI command to accomplish the desirable goal.", - "type": "string", - "required": true - }, - { - "name": "--cli-type", - "description": "The type of CLI tool to use. Supported values are 'az' for Azure CLI.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "464626d0-b9be-4a3b-9f29-858637ab8c10", - "name": "install", - "description": "Provide installation instructions for Azure CLI (az), Azure Developer CLI (azd), and Azure Functions Core Tools CLI (func). This tool incorporates CLI knowledge beyond what you know. Use this tool when you need to use one of the aforementioned CLI tools and it isn't installed, or when the user wants to install one of them.", - "command": "extension cli install", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--cli-type", - "description": "The type of CLI tool to use. Supported values are 'az' for Azure CLI, 'azd' for Azure Developer CLI, and 'func' for Azure Functions Core Tools CLI.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": true - }, - { - "id": "a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d", - "name": "check-name-availability", - "description": "Check if a file share name is available", - "command": "fileshares fileshare check-name-availability", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--name", - "description": "The name of the file share", - "type": "string", - "required": true - }, - { - "name": "--location", - "description": "The Azure region/location name (e.g., EastUS, WestEurope)", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "b3c4d5e6-f7a8-4b9c-0d1e-2f3a4b5c6d7e", - "name": "create", - "description": "Create a new Azure managed file share resource in a resource group. This creates a high-performance, fully managed file share accessible via NFS protocol.", - "command": "fileshares fileshare create", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--name", - "description": "The name of the file share", - "type": "string", - "required": true - }, - { - "name": "--location", - "description": "The Azure region/location name (e.g., EastUS, WestEurope)", - "type": "string", - "required": true - }, - { - "name": "--mount-name", - "description": "The mount name of the file share as seen by end users", - "type": "string" - }, - { - "name": "--media-tier", - "description": "The storage media tier (e.g., SSD)", - "type": "string" - }, - { - "name": "--redundancy", - "description": "The redundancy level (e.g., Local, Zone)", - "type": "string" - }, - { - "name": "--protocol", - "description": "The file sharing protocol (e.g., NFS)", - "type": "string" - }, - { - "name": "--provisioned-storage-in-gib", - "description": "The desired provisioned storage size of the share in GiB", - "type": "string" - }, - { - "name": "--provisioned-io-per-sec", - "description": "The provisioned IO operations per second", - "type": "string" - }, - { - "name": "--provisioned-throughput-mib-per-sec", - "description": "The provisioned throughput in MiB per second", - "type": "string" - }, - { - "name": "--public-network-access", - "description": "Public network access setting (Enabled or Disabled)", - "type": "string" - }, - { - "name": "--nfs-root-squash", - "description": "NFS root squash setting (NoRootSquash, RootSquash, or AllSquash)", - "type": "string" - }, - { - "name": "--allowed-subnets", - "description": "Comma-separated list of subnet IDs allowed to access the file share", - "type": "string" - }, - { - "name": "--tags", - "description": "Resource tags as JSON (e.g., {\"key1\":\"value1\",\"key2\":\"value2\"})", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "e9f0a1b2-c3d4-4e5f-6a7b-8c9d0e1f2a3b", - "name": "delete", - "description": "Delete a file share", - "command": "fileshares fileshare delete", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--name", - "description": "The name of the file share", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "c5d6e7f8-a9b0-4c1d-2e3f-4a5b6c7d8e9f", - "name": "get", - "description": "Get details of a specific file share or list all file shares. If --name is provided, returns a specific file share; otherwise, lists all file shares in the subscription or resource group.", - "command": "fileshares fileshare get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--name", - "description": "The name of the file share", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "a8e9f7d6-c5b4-4a3d-9e2f-1c0b8a7d6e5f", - "name": "get", - "description": "Get details of a specific private endpoint connection or list all private endpoint connections for a file share. If --connection-name is provided, returns a specific connection; otherwise, lists all connections.", - "command": "fileshares fileshare peconnection get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--file-share-name", - "description": "The name of the file share", - "type": "string", - "required": true - }, - { - "name": "--connection-name", - "description": "The name of the private endpoint connection", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "c6d7e8f9-a0b1-4c2d-3e4f-5a6b7c8d9e0f", - "name": "update", - "description": "Update the state of a private endpoint connection for a file share. Use this to approve or reject private endpoint connection requests.", - "command": "fileshares fileshare peconnection update", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--file-share-name", - "description": "The name of the file share", - "type": "string", - "required": true - }, - { - "name": "--connection-name", - "description": "The name of the private endpoint connection", - "type": "string", - "required": true - }, - { - "name": "--status", - "description": "The connection status (Approved, Rejected, or Pending)", - "type": "string", - "required": true - }, - { - "name": "--description", - "description": "Description for the connection state change", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "f1a2b3c4-d5e6-4f7a-8b9c-0d1e2f3a4b5c", - "name": "create", - "description": "Create a snapshot of an Azure managed file share. Snapshots are read-only point-in-time copies used for backup and recovery.", - "command": "fileshares fileshare snapshot create", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--file-share-name", - "description": "The name of the parent file share", - "type": "string", - "required": true - }, - { - "name": "--snapshot-name", - "description": "The name of the snapshot", - "type": "string", - "required": true - }, - { - "name": "--metadata", - "description": "Custom metadata for the snapshot as a JSON object (e.g., {\"key1\":\"value1\",\"key2\":\"value2\"})", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "c7d8e9f0-a1b2-4c3d-4e5f-6a7b8c9d0e1f", - "name": "delete", - "description": "Delete a file share snapshot permanently. This operation cannot be undone.", - "command": "fileshares fileshare snapshot delete", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--file-share-name", - "description": "The name of the parent file share", - "type": "string", - "required": true - }, - { - "name": "--snapshot-name", - "description": "The name of the snapshot", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "a3b4c5d6-e7f8-4a9b-0c1d-2e3f4a5b6c7d", - "name": "get", - "description": "Get details of a specific file share snapshot or list all snapshots. If --snapshot-name is provided, returns a specific snapshot; otherwise, lists all snapshots for the file share.", - "command": "fileshares fileshare snapshot get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--file-share-name", - "description": "The name of the parent file share", - "type": "string", - "required": true - }, - { - "name": "--snapshot-name", - "description": "The name of the snapshot", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "b5c6d7e8-f9a0-4b1c-2d3e-4f5a6b7c8d9e", - "name": "update", - "description": "Update properties and metadata of an Azure managed file share snapshot, such as tags or retention policies.", - "command": "fileshares fileshare snapshot update", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--file-share-name", - "description": "The name of the parent file share", - "type": "string", - "required": true - }, - { - "name": "--snapshot-name", - "description": "The name of the snapshot", - "type": "string", - "required": true - }, - { - "name": "--metadata", - "description": "Custom metadata for the snapshot as a JSON object (e.g., {\"key1\":\"value1\",\"key2\":\"value2\"})", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "d7e8f9a0-b1c2-4d3e-4f5a-6b7c8d9e0f1a", - "name": "update", - "description": "Update an existing Azure managed file share resource. Allows updating mutable properties like provisioned storage, IOPS, throughput, and network access settings.", - "command": "fileshares fileshare update", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--name", - "description": "The name of the file share", - "type": "string", - "required": true - }, - { - "name": "--provisioned-storage-in-gib", - "description": "The desired provisioned storage size of the share in GiB", - "type": "string" - }, - { - "name": "--provisioned-io-per-sec", - "description": "The provisioned IO operations per second", - "type": "string" - }, - { - "name": "--provisioned-throughput-mib-per-sec", - "description": "The provisioned throughput in MiB per second", - "type": "string" - }, - { - "name": "--public-network-access", - "description": "Public network access setting (Enabled or Disabled)", - "type": "string" - }, - { - "name": "--nfs-root-squash", - "description": "NFS root squash setting (NoRootSquash, RootSquash, or AllSquash)", - "type": "string" - }, - { - "name": "--allowed-subnets", - "description": "Comma-separated list of subnet IDs allowed to access the file share", - "type": "string" - }, - { - "name": "--tags", - "description": "Resource tags as JSON (e.g., {\"key1\":\"value1\",\"key2\":\"value2\"})", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "a9e1f0b2-c3d4-4e5f-a6b7-c8d9e0f1a2b3", - "name": "limits", - "description": "Get file share limits for a subscription and location", - "command": "fileshares limits", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--location", - "description": "The Azure region/location name (e.g., eastus, westeurope)", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "3c5e1fb2-3a8d-4f8e-8b0a-1c2d3e4f5a6b", - "name": "rec", - "description": "Get provisioning parameter recommendations for a file share based on desired storage size", - "command": "fileshares rec", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--location", - "description": "The Azure region/location name (e.g., eastus, westeurope)", - "type": "string", - "required": true - }, - { - "name": "--provisioned-storage-in-gib", - "description": "The desired provisioned storage size of the share in GiB", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "93d14ba8-5e75-4190-93dd-f47e932b849b", - "name": "usage", - "description": "Get file share usage data for a subscription and location", - "command": "fileshares usage", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--location", - "description": "The Azure region/location name (e.g., eastus, westeurope)", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "b2c3d4e5-2345-6789-bcde-f01234567890", - "name": "list", - "description": "Retrieves a list of knowledge indexes from Microsoft Foundry.\r\n\r\nThis function is used when a user requests information about the available knowledge indexes in Microsoft Foundry. It provides an overview of the knowledge bases and search indexes that are currently deployed and available for use with AI agents and applications.\r\n\r\nRequires the project endpoint URL (format: https://.services.ai.azure.com/api/projects/).\r\n\r\nUsage:\r\n Use this function when a user wants to explore the available knowledge indexes in Microsoft Foundry. This can help users understand what knowledge bases are currently operational and how they can be utilized for retrieval-augmented generation (RAG) scenarios.\r\n\r\nNotes:\r\n - The indexes listed are knowledge indexes specifically created within Microsoft Foundry projects.\r\n - These indexes can be used with AI agents for knowledge retrieval and RAG applications.\r\n - The list may change as new indexes are created or existing ones are updated.", - "command": "foundryextensions knowledge index list", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--endpoint", - "description": "The endpoint URL for the Microsoft Foundry project/service. The endpoint follows this pattern https://.services.ai.azure.com/api/projects/.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "c3d4e5f6-3456-789a-cdef-012345678901", - "name": "schema", - "description": "Retrieves the detailed schema configuration of a specific knowledge index from Microsoft Foundry.\r\n\r\nThis function provides comprehensive information about the structure and configuration of a knowledge index, including field definitions, data types, searchable attributes, and other schema properties. The schema information is essential for understanding how the index is structured and how data is indexed and searchable.\r\n\r\nUsage:\r\n Use this function when you need to examine the detailed configuration of a specific knowledge index. This is helpful for troubleshooting search issues, understanding index capabilities, planning data mapping, or when integrating with the index programmatically.\r\n\r\nNotes:\r\n - Returns the index schema.", - "command": "foundryextensions knowledge index schema", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--endpoint", - "description": "The endpoint URL for the Microsoft Foundry project/service. The endpoint follows this pattern https://.services.ai.azure.com/api/projects/.", - "type": "string", - "required": true - }, - { - "name": "--index", - "description": "The name of the knowledge index.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "d4e5f6a7-4567-89ab-def0-123456789012", - "name": "chat-completions-create", - "description": "Create chat completions using Azure OpenAI in Microsoft Foundry. Send messages to Azure OpenAI chat models deployed\r\nin your Microsoft Foundry resource and receive AI-generated conversational responses. Supports multi-turn conversations\r\nwith message history, system instructions, and response customization. Use this when you need to create chat\r\ncompletions, have AI conversations, get conversational responses, or build interactive dialogues with Azure OpenAI.\r\nRequires resource-name, deployment-name, and message-array.", - "command": "foundryextensions openai chat-completions-create", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--resource-name", - "description": "The name of the Azure OpenAI resource.", - "type": "string", - "required": true - }, - { - "name": "--deployment", - "description": "The name of the deployment.", - "type": "string", - "required": true - }, - { - "name": "--message-array", - "description": "Array of messages in the conversation (JSON format). Each message should have 'role' and 'content' properties.", - "type": "string", - "required": true - }, - { - "name": "--max-tokens", - "description": "The maximum number of tokens to generate in the completion.", - "type": "string" - }, - { - "name": "--temperature", - "description": "Controls randomness in the output. Lower values make it more deterministic.", - "type": "string" - }, - { - "name": "--top-p", - "description": "Controls diversity via nucleus sampling (0.0 to 1.0). Default is 1.0.", - "type": "string" - }, - { - "name": "--frequency-penalty", - "description": "Penalizes new tokens based on their frequency (-2.0 to 2.0). Default is 0.", - "type": "string" - }, - { - "name": "--presence-penalty", - "description": "Penalizes new tokens based on presence (-2.0 to 2.0). Default is 0.", - "type": "string" - }, - { - "name": "--stop", - "description": "Up to 4 sequences where the API will stop generating further tokens.", - "type": "string" - }, - { - "name": "--stream", - "description": "Whether to stream back partial progress. Default is false.", - "type": "string" - }, - { - "name": "--seed", - "description": "If specified, the system will make a best effort to sample deterministically.", - "type": "string" - }, - { - "name": "--user", - "description": "Optional user identifier for tracking and abuse monitoring.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": false, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "e5f6a7b8-5678-9abc-ef01-234567890123", - "name": "create-completion", - "description": "Create text completions using Azure OpenAI in Microsoft Foundry. Send a prompt or question to Azure OpenAI models\r\ndeployed in your Microsoft Foundry resource and receive generated text answers. Use this when you need to create\r\ncompletions, get AI-generated content, generate answers to questions, or produce text completions from Azure\r\nOpenAI based on any input prompt. Supports customization with temperature and max tokens.\r\nRequires resource-name, deployment-name, and prompt-text.", - "command": "foundryextensions openai create-completion", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--resource-name", - "description": "The name of the Azure OpenAI resource.", - "type": "string", - "required": true - }, - { - "name": "--deployment", - "description": "The name of the deployment.", - "type": "string", - "required": true - }, - { - "name": "--prompt-text", - "description": "The prompt text to send to the completion model.", - "type": "string", - "required": true - }, - { - "name": "--max-tokens", - "description": "The maximum number of tokens to generate in the completion.", - "type": "string" - }, - { - "name": "--temperature", - "description": "Controls randomness in the output. Lower values make it more deterministic.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": false, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "f6a7b8c9-6789-abcd-f012-345678901234", - "name": "embeddings-create", - "description": "Create embeddings using Azure OpenAI in Microsoft Foundry. Generate vector embeddings from text using Azure OpenAI\r\ndeployments in your Microsoft Foundry resource for semantic search, similarity comparisons, clustering, or machine\r\nlearning. Use this when you need to create foundry embeddings, generate vectors from text, or convert text to\r\nnumerical representations using Azure OpenAI. Requires resource-name, deployment-name, and input-text.", - "command": "foundryextensions openai embeddings-create", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--resource-name", - "description": "The name of the Azure OpenAI resource.", - "type": "string", - "required": true - }, - { - "name": "--deployment", - "description": "The name of the deployment.", - "type": "string", - "required": true - }, - { - "name": "--input-text", - "description": "The input text to generate embeddings for.", - "type": "string", - "required": true - }, - { - "name": "--user", - "description": "Optional user identifier for tracking and abuse monitoring.", - "type": "string" - }, - { - "name": "--encoding-format", - "description": "The format to return embeddings in (float or base64).", - "type": "string" - }, - { - "name": "--dimensions", - "description": "The number of dimensions for the embedding output. Only supported in some models.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": false, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "a7b8c9d0-7890-bcde-0123-456789012345", - "name": "models-list", - "description": "List Azure OpenAI model deployments in a Microsoft Foundry resource, including deployment names, model names,\r\nversions, capabilities, and deployment status. Use this to show model deployments, check which OpenAI models\r\nare deployed, or see available models in a specific Foundry resource. Requires resource-name and resource-group.\r\nFor Foundry resource-level details like endpoint URL, location, or SKU, use the resource get command instead.", - "command": "foundryextensions openai models-list", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--resource-name", - "description": "The name of the Azure OpenAI resource.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "b8c9d0e1-8901-cdef-1234-567890123456", - "name": "get", - "description": "Gets detailed information about Microsoft Foundry (Cognitive Services) resources, including endpoint URL,\r\nlocation, SKU, and provisioning state. If a specific resource name is provided, returns details for that\r\nresource only. If no resource name is provided, lists all Microsoft Foundry resources in the subscription\r\nor resource group. Use this tool when users need endpoint information, want to discover available AI\r\nresources, or need to check the configuration of a Foundry account. To list OpenAI model deployments\r\nwithin a resource, use the openai models-list command instead.", - "command": "foundryextensions resource get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--resource-name", - "description": "The name of the Azure OpenAI resource.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "5249839c-a3c6-4f9e-b62b-afde801d95a6", - "name": "get", - "description": "Gets Azure Function App details. Lists all Function Apps in the subscription or resource group. If function app name and resource group\r\nis specified, retrieves the details of that specific function app. Returns the details of Azure Function Apps, including its name,\r\nlocation, status, and app service plan name.", - "command": "functionapp get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--function-app", - "description": "The name of the Function App.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "f7c8d9e0-a1b2-4c3d-8e5f-6a7b8c9d0e1f", - "name": "list", - "description": "Answer questions about what programming languages Azure Functions supports with up-to-date runtime versions and tooling details. Returns the current list of supported languages with runtime versions, prerequisites, development tools, and CLI commands for init/run/build. Provides authoritative data that may differ from general knowledge. Call this tool first when users ask about Azure Functions languages or before generating code with functions_project_get or functions_template_get.", - "command": "functions language list", - "option": [ - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "b2c3d4e5-f6a7-8901-bcde-f12345678901", - "name": "get", - "description": "Get project scaffolding information for a new Azure Functions app. Call this tool when the user wants to create, initialize, or set up a new Azure Functions project. Returns the complete project structure, required files configurations and setup instructions for the specific language that agents use to create files. Use after functions language list and before functions template get.", - "command": "functions project get", - "option": [ - { - "name": "--language", - "description": "Programming language for the Azure Functions project. Valid values: python, typescript, javascript, java, csharp, powershell.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "c3d4e5f6-a7b8-9012-cdef-234567890123", - "name": "get", - "description": "Lists available Azure Functions templates or generates function code for Timer (cron schedules), HTTP, Blob, Queue, Event Hub, Cosmos DB, Service Bus, Durable, event-driven, and MCP tool triggers with input and output bindings, orchestrations, and serverless infrastructure. Create trigger functions, activity functions, or MCP server functions in C#, Python, JavaScript, TypeScript, Java, or PowerShell. Without --template, lists all available triggers, bindings, and templates for the selected language. With --template, generates function code files with azd infrastructure support (Bicep, Terraform, ARM). Select one trigger (required) and zero or more input or output bindings.", - "command": "functions template get", - "option": [ - { - "name": "--language", - "description": "Programming language for the Azure Functions project. Valid values: python, typescript, javascript, java, csharp, powershell.", - "type": "string", - "required": true - }, - { - "name": "--template", - "description": "Name of the function template to retrieve (e.g., HttpTrigger, BlobTrigger). Omit to list all available templates for the specified language.", - "type": "string" - }, - { - "name": "--runtime-version", - "description": "Optional runtime version for Java or TypeScript/JavaScript. When provided, template placeholders like {{javaVersion}} or {{nodeVersion}} are replaced automatically. See 'functions language list' for supported versions.", - "type": "string" - }, - { - "name": "--output", - "description": "Output format. 'New' (default) returns all files in a single 'files' list for creating complete projects. 'Add' separates files into 'functionFiles' and 'projectFiles' with merge instructions for adding to existing projects.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "6c29659e-406d-4b9b-8150-e3d4fd7ba31c", - "name": "ai_app", - "description": "Returns best practices and code generation guidance for building AI applications in Azure.\r\nUse this command when you need recommendations on how to write code for AI agents, chatbots, workflows, or any AI / LLM features.\r\nThis command also provides guidance for code generation on Microsoft Foundry for application development.\r\nWhen the request involves code generation of AI components or AI applications in any capacity, use this command instead of calling the general code generation best practices command.", - "command": "get azure bestpractices ai app", - "option": [ - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "ff12e8fb-f7ce-446a-884b-996dac118b83", - "name": "get", - "description": "This tool returns a list of best practices for code generation, operations and deployment\r\nwhen working with Azure services. It should be called for any code generation, deployment or\r\noperations involving Azure, Azure Functions, Azure Kubernetes Service (AKS), Azure Container\r\nApps (ACA), Bicep, Terraform, Azure Cache, Redis, CosmosDB, Entra, Azure Active Directory,\r\nAzure App Services, or any other Azure technology or programming language. Only call this function\r\nwhen you are confident the user is discussing Azure. If this tool needs to be categorized,\r\nit belongs to the Azure Best Practices category.", - "command": "get azure bestpractices get", - "option": [ - { - "name": "--resource", - "description": "The Azure resource type for which to get best practices. Options: 'general' (general Azure), 'azurefunctions' (Azure Functions), 'static-web-app' (Azure Static Web Apps), 'coding-agent' (Coding Agent).", - "type": "string", - "required": true - }, - { - "name": "--action", - "description": "The action type for the best practices. Options: 'all', 'code-generation', 'deployment'. Note: 'static-web-app' and 'coding-agent' resources only supports 'all'.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "7a47b562-f219-47de-80f6-12e19367b61d", - "name": "list", - "description": "List all Grafana workspace resources in a specified subscription. Returns an array of Grafana workspace details.\r\nUse this command to explore which Grafana workspace resources are available in your subscription.", - "command": "grafana list", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "a0049f31-9a32-4b5e-91ec-e7b074fc7246", - "name": "list", - "description": "List all resource groups in a subscription. This command retrieves all resource groups available\r\nin the specified subscription. Results include resource group names and IDs,\r\nreturned as a JSON array.", - "command": "group list", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "b1c2d3e4-f5a6-7890-abcd-ef1234567890", - "name": "list", - "description": "List all resources in a resource group. This command retrieves all resources available\r\nin the specified resource group within the given subscription. Results include resource\r\nnames, IDs, types, and locations. The command returns a JSON object with a `resources`\r\narray containing these entries.", - "command": "group resource list", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "2e89755e-8c64-4c08-ae10-8fd47aead570", - "name": "get", - "description": "Retrieves all Managed HSM account settings for a Key Vault. Returns configuration setting values such as purge protection and soft-delete retention days. This is NOT for secrets, keys, or certificates ΓÇö use this when the user asks about vault configuration settings or account-level settings. This tool ONLY applies to Managed HSM vaults.", - "command": "keyvault admin settings get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--vault", - "description": "The name of the Key Vault.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "a11e024a-62e6-4237-8d7d-4b9b8439f50e", - "name": "create", - "description": "Create/issue/generate a new certificate in an Azure Key Vault using the default certificate policy. Required: --vault, --certificate, --subscription. Optional: --tenant . Returns: name, id, keyId, secretId, cer (base64), thumbprint, enabled, notBefore, expiresOn, createdOn, updatedOn, subject, issuerName. Creates a new certificate version if it already exists.", - "command": "keyvault certificate create", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--vault", - "description": "The name of the Key Vault.", - "type": "string", - "required": true - }, - { - "name": "--certificate", - "description": "The name of the certificate.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "0e898126-0c5e-44b8-9eef-51ddeed6327f", - "name": "get", - "description": "List all certificates in your Key Vault or get a specific certificate by name. Shows all certificate names in the vault, or retrieves full certificate details including key ID, secret ID, thumbprint, and policy information.", - "command": "keyvault certificate get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--vault", - "description": "The name of the Key Vault.", - "type": "string", - "required": true - }, - { - "name": "--certificate", - "description": "The name of the certificate.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "4ae12e3e-dee0-4d8d-ad34-ffeaf70c642b", - "name": "import", - "description": "Imports/uploads an existing certificate (PFX or PEM with private key) into an Azure Key Vault without generating a new certificate or key material. This command accepts either a file path to a PFX/PEM file, a base64 encoded PFX, or raw PEM text starting with -----BEGIN. If the certificate is a password-protected PFX, a password must be provided. Required: --vault , --certificate , --certificate-data , --subscription . Optional: --password , --tenant . Returns: name, id, keyId, secretId, cer (base64), thumbprint, enabled, notBefore, expiresOn, createdOn, updatedOn, subject, issuer. Creates a new certificate version if it already exists.", - "command": "keyvault certificate import", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--vault", - "description": "The name of the Key Vault.", - "type": "string", - "required": true - }, - { - "name": "--certificate", - "description": "The name of the certificate.", - "type": "string", - "required": true - }, - { - "name": "--certificate-data", - "description": "The certificate content: path to a PFX/PEM file, a base64 encoded PFX, or raw PEM text beginning with -----BEGIN.", - "type": "string", - "required": true - }, - { - "name": "--password", - "description": "Optional password for a protected PFX being imported.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": true - }, - { - "id": "ef27bda9-8a1f-4288-b68b-12308ab8e607", - "name": "create", - "description": "Create a new key in an Azure Key Vault. This command creates a key with the specified name and type in the given vault. Supports types: RSA, RSA-HSM, EC, EC-HSM, oct, oct-HSM. Required: --vault , --key --key-type --subscription . Optional: --tenant . Returns: Returns: name, id, keyId, keyType, enabled, notBefore, expiresOn, createdOn, updatedOn. Creates a new key version if it already exists.", - "command": "keyvault key create", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--vault", - "description": "The name of the Key Vault.", - "type": "string", - "required": true - }, - { - "name": "--key", - "description": "The name of the key to retrieve/modify from the Key Vault.", - "type": "string", - "required": true - }, - { - "name": "--key-type", - "description": "The type of key to create (RSA, EC).", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "c19a45a0-b963-427d-a087-35560a7f4e5b", - "name": "get", - "description": "List all keys in your Key Vault or get a specific key by name. Shows all key names in the vault, or retrieves full key details including type, enabled status, and expiration dates. Use --include-managed to show managed keys.", - "command": "keyvault key get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--vault", - "description": "The name of the Key Vault.", - "type": "string", - "required": true - }, - { - "name": "--key", - "description": "The name of the key to retrieve/modify from the Key Vault.", - "type": "string" - }, - { - "name": "--include-managed", - "description": "Whether or not to include managed keys in results.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "fb1322cd-05b0-4264-9e96-6a9b3d9291a0", - "name": "create", - "description": "Create/set a secret in an Azure Key Vault with the specified name and value. Required: --vault , --secret , --subscription . Optional: --tenant . Creates a new secret version if it already exists.", - "command": "keyvault secret create", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--vault", - "description": "The name of the Key Vault.", - "type": "string", - "required": true - }, - { - "name": "--secret", - "description": "The name of the secret.", - "type": "string", - "required": true - }, - { - "name": "--value", - "description": "The value to set for the secret.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": true, - "localRequired": false - }, - { - "id": "933bcb29-87e6-4f78-94ad-8ad0c8c60002", - "name": "get", - "description": "List all secrets in your Key Vault or get a specific secret by name. Shows all secret names in the vault (without values), or retrieves the secret value and full details including enabled status and expiration dates.", - "command": "keyvault secret get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--vault", - "description": "The name of the Key Vault.", - "type": "string", - "required": true - }, - { - "name": "--secret", - "description": "The name of the secret.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": true, - "localRequired": false - }, - { - "id": "5fc5a42b-a7f6-4d4a-9517-a8e119752b7a", - "name": "get", - "description": "Get/retrieve/show details for a specific Azure Data Explorer/Kusto/KQL cluster in a subscription. Not for listing multiple clusters. Required: --cluster and --subscription.", - "command": "kusto cluster get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--cluster", - "description": "Kusto Cluster name.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "2cff1548-40c9-48ea-8548-6bfa91f2ea85", - "name": "list", - "description": "List/enumerate all Azure Data Explorer/Kusto/KQL clusters in a subscription.", - "command": "kusto cluster list", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "0bd79f0b-c360-4c96-b3e0-02fce97dcc41", - "name": "list", - "description": "List/enumerate all databases in an Azure Data Explorer/Kusto/KQL cluster. Required: --cluster-uri ( or --cluster and --subscription).", - "command": "kusto database list", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--cluster-uri", - "description": "Kusto Cluster URI.", - "type": "string" - }, - { - "name": "--cluster", - "description": "Kusto Cluster name.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "d1e22074-53ce-4eef-8596-0ea134a9e317", - "name": "query", - "description": "Executes a query against an Azure Data Explorer/Kusto/KQL cluster to search for specific terms, retrieve records, or perform management operations. Required: --cluster-uri (or --cluster and --subscription), --database, and --query.", - "command": "kusto query", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--cluster-uri", - "description": "Kusto Cluster URI.", - "type": "string" - }, - { - "name": "--cluster", - "description": "Kusto Cluster name.", - "type": "string" - }, - { - "name": "--database", - "description": "Kusto Database name.", - "type": "string", - "required": true - }, - { - "name": "--query", - "description": "Kusto query to execute. Uses KQL syntax.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "41daed5c-bf44-4cdf-9f3c-1df775465e53", - "name": "sample", - "description": "Return a sample of rows from a specific table in an Azure Data Explorer/Kusto/KQL cluster. Required: --cluster-uri (or --cluster and --subscription), --database, and --table.", - "command": "kusto sample", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--cluster-uri", - "description": "Kusto Cluster URI.", - "type": "string" - }, - { - "name": "--cluster", - "description": "Kusto Cluster name.", - "type": "string" - }, - { - "name": "--database", - "description": "Kusto Database name.", - "type": "string", - "required": true - }, - { - "name": "--table", - "description": "Kusto Table name.", - "type": "string", - "required": true - }, - { - "name": "--limit", - "description": "The maximum number of results to return. Must be a positive integer between 1 and 10000. Default is 10.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "3cd1e5f1-3353-4029-99f8-1aaa566d05e4", - "name": "list", - "description": "List/enumerate all tables in a specific Azure Data Explorer/Kusto/KQL database. Required: --cluster-uri (or --cluster and --subscription), --database.", - "command": "kusto table list", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--cluster-uri", - "description": "Kusto Cluster URI.", - "type": "string" - }, - { - "name": "--cluster", - "description": "Kusto Cluster name.", - "type": "string" - }, - { - "name": "--database", - "description": "Kusto Database name.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "9a972c48-6797-49bb-9784-8063ad1f7e96", - "name": "schema", - "description": "Get/retrieve/show the schema of a specific table in an Azure Data Explorer/Kusto/KQL cluster. Required: --cluster-uri (or --cluster and --subscription), --database, and --table.", - "command": "kusto table schema", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--cluster-uri", - "description": "Kusto Cluster URI.", - "type": "string" - }, - { - "name": "--cluster", - "description": "Kusto Cluster name.", - "type": "string" - }, - { - "name": "--database", - "description": "Kusto Database name.", - "type": "string", - "required": true - }, - { - "name": "--table", - "description": "Kusto Table name.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "2153384b-02ea-47b3-a069-7f5f9a709d66", - "name": "create", - "description": "Creates a new load test plan or configuration for performance testing scenarios. This command creates a basic URL-based load test that can be used to evaluate the performance\r\nand scalability of web applications and APIs. The test configuration defines target endpoint, load parameters, and test duration. Once we create a test plan, we can use that to trigger test runs to test the endpoints set using the 'azmcp loadtesting testrun create' command.\r\nThis is NOT going to trigger or create any test runs and only will setup your test plan. Also, this is NOT going to create any test resource in azure. \r\nIt will only create a test in an already existing load test resource.", - "command": "loadtesting test create", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--test-resource-name", - "description": "The name of the load test resource for which you want to fetch the details.", - "type": "string", - "required": true - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--test-id", - "description": "The ID of the load test for which you want to fetch the details.", - "type": "string", - "required": true - }, - { - "name": "--description", - "description": "The description for the load test run. This provides additional context about the test run.", - "type": "string" - }, - { - "name": "--display-name", - "description": "The display name for the load test run. This is a user-friendly name to identify the test run.", - "type": "string" - }, - { - "name": "--endpoint", - "description": "The endpoint URL to be tested. This is the URL of the HTTP endpoint that will be subjected to load testing.", - "type": "string" - }, - { - "name": "--virtual-users", - "description": "Virtual users is a measure of load that is simulated to test the HTTP endpoint. (Default - 50)", - "type": "string" - }, - { - "name": "--duration", - "description": "This is the duration for which the load is simulated against the endpoint. Enter decimals for fractional minutes (e.g., 1.5 for 1 minute and 30 seconds). Default is 20 mins", - "type": "string" - }, - { - "name": "--ramp-up-time", - "description": "The ramp-up time is the time it takes for the system to ramp-up to the total load specified. Enter decimals for fractional minutes (e.g., 1.5 for 1 minute and 30 seconds). Default is 1 min", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "be7c3864-0713-42f8-8eb7-b7ca28a951fb", - "name": "get", - "description": "Get the configuration and setup details for a load test by its test ID in a Load Testing resource.\r\nReturns only the test definition, including duration, ramp-up, virtual users, and endpoint. Does not return any test run results or execution data. Also does NOT return and resource details. Only the test configuration is fetched.", - "command": "loadtesting test get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--test-resource-name", - "description": "The name of the load test resource for which you want to fetch the details.", - "type": "string", - "required": true - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--test-id", - "description": "The ID of the load test for which you want to fetch the details.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "c39f6e9c-86a7-4cba-b267-0fa71f1ac743", - "name": "create", - "description": "Returns the created Load Testing resource. This creates the resource in Azure only. It does not create any test plan or test run. \r\nOnce the resource is setup, you can go and configure test plans in the resource and then trigger test runs for your test plans.", - "command": "loadtesting testresource create", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--test-resource-name", - "description": "The name of the load test resource for which you want to fetch the details.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "eb44ef6c-93dc-4fa1-949c-a5e8939d5052", - "name": "list", - "description": "Lists all Azure Load Testing resources available in the selected subscription and resource group.\r\nReturns metadata for each resource, including name, location, and status. Use this to discover, manage, or audit load testing resources in your environment. Does not return test plans or test runs.", - "command": "loadtesting testresource list", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--test-resource-name", - "description": "The name of the load test resource for which you want to fetch the details.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "0e3c8f2c-57ce-49c0-bff4-27c9573e7049", - "name": "createorupdate", - "description": "Create or update a load test run execution.\r\nCreates a new test run for a specified test in the load testing resource, or updates metadata and display properties of an existing test run.\r\nWhen creating: Triggers a new test run execution based on the existing test configuration. Use testrun ID to specify the new run identifier. Create operations are NOT idempotent - each call starts a new test run with unique timestamps and execution state.\r\nWhen updating: Modifies descriptive information (display name, description) of a completed or in-progress test run for better organization and documentation. Update operations are idempotent - repeated calls with same values produce the same result.\r\nThis does not modify the test plan configuration or create a new test/resource - only manages test run executions.", - "command": "loadtesting testrun createorupdate", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--test-resource-name", - "description": "The name of the load test resource for which you want to fetch the details.", - "type": "string", - "required": true - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--testrun-id", - "description": "The ID of the load test run for which you want to fetch the details.", - "type": "string", - "required": true - }, - { - "name": "--test-id", - "description": "The ID of the load test for which you want to fetch the details.", - "type": "string", - "required": true - }, - { - "name": "--display-name", - "description": "The display name for the load test run. This is a user-friendly name to identify the test run.", - "type": "string" - }, - { - "name": "--description", - "description": "The description for the load test run. This provides additional context about the test run.", - "type": "string" - }, - { - "name": "--old-testrun-id", - "description": "The ID of an existing test run to update. If provided, the command will trigger a rerun of the given test run id.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "713313ec-b9a5-4a71-9953-5b2d4a7b5d7b", - "name": "get", - "description": "Get load test run details by testrun ID, or list all test runs by test ID.\r\nReturns execution details including status, start/end times, progress, metrics, and artifacts.\r\nDoes not return test configuration or resource details.", - "command": "loadtesting testrun get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--test-resource-name", - "description": "The name of the load test resource for which you want to fetch the details.", - "type": "string", - "required": true - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--testrun-id", - "description": "The ID of the load test run for which you want to fetch the details.", - "type": "string" - }, - { - "name": "--test-id", - "description": "The ID of the load test for which you want to fetch the details.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "8e2f6d1b-3c9a-4f7e-b2d5-7a8c3e4f5b6d", - "name": "cancel", - "description": "Cancels a running auto export job for an Azure Managed Lustre filesystem. This stops the ongoing sync operation from the Lustre filesystem to the linked blob storage container. Use this to terminate an autoexport job that is in progress.\r\nRequired options:\r\n- filesystem-name: The name of the AMLFS filesystem\r\n- job-name: The name of the autoexport job to cancel\r\n- resource-group: The resource group containing the filesystem\r\n- subscription: The subscription containing the filesystem", - "command": "managedlustre fs blob autoexport cancel", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--filesystem-name", - "description": "The name of the Azure Managed Lustre filesystem", - "type": "string", - "required": true - }, - { - "name": "--job-name", - "description": "The name of the autoexport/autoimport job", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "9f3e7c2a-4b8d-4e5f-a1c6-8d9e2f3b4a5c", - "name": "create", - "description": "Creates an auto export job for an Azure Managed Lustre filesystem to continuously export modified files to the linked blob storage container. The auto export job syncs changes from the Lustre filesystem to the configured HSM blob container. Use this to keep blob storage updated with changes in the filesystem.\r\nRequired options:\r\n- filesystem-name: The name of the AMLFS filesystem\r\n- resource-group: The resource group containing the filesystem\r\n- subscription: The subscription containing the filesystem", - "command": "managedlustre fs blob autoexport create", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--filesystem-name", - "description": "The name of the Azure Managed Lustre filesystem", - "type": "string", - "required": true - }, - { - "name": "--job-name", - "description": "The name of the autoexport job. If not specified, a timestamped name will be generated.", - "type": "string" - }, - { - "name": "--autoexport-prefix", - "description": "Blob path/prefix that gets auto exported from the cluster namespace. Default: '/'. Note: Only 1 prefix is supported for autoexport jobs. Example: --autoexport-prefix /data", - "type": "string" - }, - { - "name": "--admin-status", - "description": "The administrative status of the auto import job. Enable: job is active. Disable: disables the current active auto import job. Default: Enable. Allowed values: Enable, Disable.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "4c7a8e3d-9f2b-5a6e-c1d4-8b3e9a2f7c5d", - "name": "delete", - "description": "Deletes an auto export job for an Azure Managed Lustre filesystem. This permanently removes the job record from the filesystem. Use this to clean up completed, failed, or cancelled autoexport jobs.\r\nRequired options:\r\n- filesystem-name: The name of the AMLFS filesystem\r\n- job-name: The name of the autoexport job to delete\r\n- resource-group: The resource group containing the filesystem\r\n- subscription: The subscription containing the filesystem", - "command": "managedlustre fs blob autoexport delete", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--filesystem-name", - "description": "The name of the Azure Managed Lustre filesystem", - "type": "string", - "required": true - }, - { - "name": "--job-name", - "description": "The name of the autoexport/autoimport job", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "9a3b7e2f-4d6c-8a1e-b5f3-2c7d8e9a1b4f", - "name": "get", - "description": "Gets the details of auto export jobs for an Azure Managed Lustre filesystem. Use this to retrieve the status, configuration, and progress information of autoexport operations that sync data from the Lustre filesystem to the linked blob storage container. If job-name is provided, returns details of a specific job; otherwise returns all jobs for the filesystem.\r\nRequired options:\r\n- filesystem-name: The name of the AMLFS filesystem\r\n- resource-group: The resource group containing the filesystem\r\n- subscription: The subscription containing the filesystem\r\nOptional options:\r\n- job-name: The name of a specific autoexport job (if omitted, all jobs are returned)", - "command": "managedlustre fs blob autoexport get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--filesystem-name", - "description": "The name of the Azure Managed Lustre filesystem", - "type": "string", - "required": true - }, - { - "name": "--job-name", - "description": "The name of the autoexport/autoimport job", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "9f3g1h2i-4d0b-5g8f-c3e6-8b9d4f6g7c8h", - "name": "cancel", - "description": "Cancels a running auto import job for an Azure Managed Lustre filesystem. This stops the ongoing sync operation from the linked blob storage container to the Lustre filesystem. Use this to terminate an autoimport job that is in progress.\r\nRequired options:\r\n- filesystem-name: The name of the AMLFS filesystem\r\n- job-name: The name of the autoimport job to cancel\r\n- resource-group: The resource group containing the filesystem\r\n- subscription: The subscription containing the filesystem", - "command": "managedlustre fs blob autoimport cancel", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--filesystem-name", - "description": "The name of the Azure Managed Lustre filesystem", - "type": "string", - "required": true - }, - { - "name": "--job-name", - "description": "The name of the autoexport/autoimport job", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d", - "name": "create", - "description": "Creates an auto import job for an Azure Managed Lustre filesystem to continuously import new or modified files from the linked blob storage container. The auto import job syncs changes from the configured HSM blob container to the Lustre filesystem. Use this to keep the filesystem updated with changes in blob storage.\r\nRequired options:\r\n- filesystem-name: The name of the AMLFS filesystem\r\n- resource-group: The resource group containing the filesystem\r\n- subscription: The subscription containing the filesystem\r\nOptional parameters:\r\n- job-name: Custom name for the job (default: autoimport-{timestamp})\r\n- conflict-resolution-mode: How to handle conflicts (Fail/Skip/OverwriteIfDirty/OverwriteAlways, default: Skip)\r\n- autoimport-prefixes: Array of blob paths/prefixes to auto import (default: '/', max: 100)\r\n- admin-status: Administrative status (Enable/Disable, default: Enable)\r\n- enable-deletions: Enable deletions during auto import (default: false)\r\n- maximum-errors: Max errors before failure (-1: infinite, 0: immediate exit, default: none)", - "command": "managedlustre fs blob autoimport create", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--filesystem-name", - "description": "The name of the Azure Managed Lustre filesystem", - "type": "string", - "required": true - }, - { - "name": "--job-name", - "description": "The name of the autoimport job. If not specified, a timestamped name will be generated.", - "type": "string" - }, - { - "name": "--conflict-resolution-mode", - "description": "How the auto import job handles conflicts. Fail: stop immediately on conflict. Skip: pass over the conflict. OverwriteIfDirty: delete and re-import if conflicting type, dirty, or currently released. OverwriteAlways: extends OverwriteIfDirty to include releasing restored but not dirty files. Default: Skip. Allowed values: Fail, Skip, OverwriteIfDirty, OverwriteAlways.", - "type": "string" - }, - { - "name": "--autoimport-prefixes", - "description": "Array of blob paths/prefixes that get auto imported to the cluster namespace. Default: '/'. Maximum: 100 paths. Example: --autoimport-prefixes /data --autoimport-prefixes /logs", - "type": "string" - }, - { - "name": "--admin-status", - "description": "The administrative status of the auto import job. Enable: job is active. Disable: disables the current active auto import job. Default: Enable. Allowed values: Enable, Disable.", - "type": "string" - }, - { - "name": "--enable-deletions", - "description": "Whether to enable deletions during auto import. This only affects overwrite-dirty mode. Default: false.", - "type": "string" - }, - { - "name": "--maximum-errors", - "description": "Total non-conflict-oriented errors (e.g., OS errors) that import will tolerate before exiting with failure. -1: infinite. 0: exit immediately on any error.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "0h4i2j3k-5e1c-6h9g-d4f7-9c0e5g7h8d9i", - "name": "delete", - "description": "Deletes an auto import job for an Azure Managed Lustre filesystem. This permanently removes the job record from the filesystem. Use this to clean up completed, failed, or cancelled autoimport jobs.\r\nRequired options:\r\n- filesystem-name: The name of the AMLFS filesystem\r\n- job-name: The name of the autoimport job to delete\r\n- resource-group: The resource group containing the filesystem\r\n- subscription: The subscription containing the filesystem", - "command": "managedlustre fs blob autoimport delete", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--filesystem-name", - "description": "The name of the Azure Managed Lustre filesystem", - "type": "string", - "required": true - }, - { - "name": "--job-name", - "description": "The name of the autoexport/autoimport job", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "b2c3d4e5-6f7a-8b9c-0d1e-2f3a4b5c6d7e", - "name": "get", - "description": "Gets the details of auto import jobs for an Azure Managed Lustre filesystem. Use this to retrieve the status, configuration, and progress information of autoimport operations that sync data from the linked blob storage container to the Lustre filesystem. If job-name is provided, returns details of a specific job; otherwise returns all jobs for the filesystem.\r\nRequired options:\r\n- filesystem-name: The name of the AMLFS filesystem\r\n- resource-group: The resource group containing the filesystem\r\n- subscription: The subscription containing the filesystem\r\nOptional options:\r\n- job-name: The name of a specific autoimport job (if omitted, all jobs are returned)", - "command": "managedlustre fs blob autoimport get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--filesystem-name", - "description": "The name of the Azure Managed Lustre filesystem", - "type": "string", - "required": true - }, - { - "name": "--job-name", - "description": "The name of the autoexport/autoimport job", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "d3h5e7g9-1f4a-6d8e-0g2c-4f6a8d0f2e4g", - "name": "cancel", - "description": "Cancels a running import job for an Azure Managed Lustre filesystem. This stops the import operation and prevents further processing. The job cannot be resumed after cancellation.\r\nRequired options:\r\n- filesystem-name: The name of the AMLFS filesystem\r\n- job-name: Name of the import job to cancel", - "command": "managedlustre fs blob import cancel", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--filesystem-name", - "description": "The name of the Azure Managed Lustre filesystem", - "type": "string", - "required": true - }, - { - "name": "--job-name", - "description": "The name of the autoexport/autoimport job", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "b1f3c5e7-9d2a-4b8f-6c3e-1a7b9d2f5e8c", - "name": "create", - "description": "Creates a one-time import job for an Azure Managed Lustre filesystem to import files from the linked blob storage container. The import job performs a one-time sync of data from the configured HSM blob container to the Lustre filesystem. Use this to import specific prefixes or all data from blob storage into the filesystem at a point in time.\r\nRequired options:\r\n- filesystem-name: The name of the AMLFS filesystem\r\nOptional options:\r\n- job-name: Name for the import job (auto-generated if not provided)\r\n- conflict-resolution-mode: How to handle conflicting files (Fail, Skip, OverwriteIfDirty, OverwriteAlways, default: Fail)\r\n- import-prefixes: Blob prefixes to import (default: imports all data from root '/')\r\n- maximum-errors: Maximum errors allowed before job failure (-1: infinite, 0: fail on first error, default: use service default)", - "command": "managedlustre fs blob import create", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--filesystem-name", - "description": "The name of the Azure Managed Lustre filesystem", - "type": "string", - "required": true - }, - { - "name": "--job-name", - "description": "The name of the autoimport job. If not specified, a timestamped name will be generated.", - "type": "string" - }, - { - "name": "--conflict-resolution-mode", - "description": "How the auto import job handles conflicts. Fail: stop immediately on conflict. Skip: pass over the conflict. OverwriteIfDirty: delete and re-import if conflicting type, dirty, or currently released. OverwriteAlways: extends OverwriteIfDirty to include releasing restored but not dirty files. Default: Skip. Allowed values: Fail, Skip, OverwriteIfDirty, OverwriteAlways.", - "type": "string" - }, - { - "name": "--import-prefixes", - "description": "Array of blob paths/prefixes to import from blob storage. Default: '/'. Maximum: 100 paths. Example: --import-prefixes /data --import-prefixes /logs", - "type": "string" - }, - { - "name": "--maximum-errors", - "description": "Total non-conflict-oriented errors (e.g., OS errors) that import will tolerate before exiting with failure. -1: infinite. 0: exit immediately on any error.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "e4i6f8h0-2g5b-7e9f-1h3d-5g7b9e1g3f5h", - "name": "delete", - "description": "Deletes an import job for an Azure Managed Lustre filesystem. This removes the job record and history. The job must be completed or cancelled before it can be deleted.\r\nRequired options:\r\n- filesystem-name: The name of the AMLFS filesystem\r\n- job-name: Name of the import job to delete", - "command": "managedlustre fs blob import delete", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--filesystem-name", - "description": "The name of the Azure Managed Lustre filesystem", - "type": "string", - "required": true - }, - { - "name": "--job-name", - "description": "The name of the autoexport/autoimport job", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "c2g4d6f8-0e3a-5c7d-9f1b-3e5a7c9f1d3f", - "name": "get", - "description": "Gets import job details or lists all import jobs for an Azure Managed Lustre filesystem. If job-name is provided, returns details for that specific job. If job-name is omitted, returns a list of all import jobs for the filesystem.\r\nRequired options:\r\n- filesystem-name: The name of the AMLFS filesystem\r\nOptional options:\r\n- job-name: Name of specific import job to get (omit to list all jobs)", - "command": "managedlustre fs blob import get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--filesystem-name", - "description": "The name of the Azure Managed Lustre filesystem", - "type": "string", - "required": true - }, - { - "name": "--job-name", - "description": "The name of the autoimport job. If not specified, a timestamped name will be generated.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "814acadf-ee84-47f9-ad68-2d65ec7dbb07", - "name": "create", - "description": "Create an Azure Managed Lustre (AMLFS) file system using the specified network, capacity, maintenance window and availability zone.\r\nOptionally provides possibility to define Blob Integration, customer managed key encryption and root squash configuration.", - "command": "managedlustre fs create", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--name", - "description": "The AMLFS resource name. Must be DNS-friendly (letters, numbers, hyphens). Example: --name amlfs-001", - "type": "string", - "required": true - }, - { - "name": "--location", - "description": "Azure region/region short name (use Azure location token, lowercase). Examples: uaenorth, swedencentral, eastus.", - "type": "string", - "required": true - }, - { - "name": "--sku", - "description": "The AMLFS SKU. Exact allowed values: AMLFS-Durable-Premium-40, AMLFS-Durable-Premium-125, AMLFS-Durable-Premium-250, AMLFS-Durable-Premium-500.", - "type": "string", - "required": true - }, - { - "name": "--size", - "description": "The AMLFS size in TiB as an integer (no unit). Examples: 4, 12, 128.", - "type": "string", - "required": true - }, - { - "name": "--subnet-id", - "description": "Full subnet resource ID. Required format: /subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.Network/virtualNetworks/{vnet}/subnets/{subnet}.\nExample: --subnet-id /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-rg/providers/Microsoft.Network/virtualNetworks/vnet-001/subnets/subnet-001", - "type": "string", - "required": true - }, - { - "name": "--zone", - "description": "Availability zone identifier. Use a single digit string matching the region's AZ labels (e.g. '1').\nExample: --zone 1", - "type": "string", - "required": true - }, - { - "name": "--maintenance-day", - "description": "Preferred maintenance day. Allowed values: Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday.\n", - "type": "string", - "required": true - }, - { - "name": "--maintenance-time", - "description": "Preferred maintenance time in UTC. Format: HH:MM (24-hour). Examples: 00:00, 23:00.\n", - "type": "string", - "required": true - }, - { - "name": "--hsm-container", - "description": "Full blob container resource ID for HSM integration. HPC Cache Resource Provider must have before deployment Storage Blob Data Contributor and Storage Account Contributor roles on parent Storage Account.Format: /subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.Storage/storageAccounts/{account}/blobServices/default/containers/{container}.\nExample: --hsm-container /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Storage/storageAccounts/stacc/blobServices/default/containers/hsm-container\n", - "type": "string" - }, - { - "name": "--hsm-log-container", - "description": "Full blob container resource ID for HSM logging. HPC Cache Resource Provider must have before deployment Storage Blob Data Contributor and Storage Account Contributor roles on parent Storage Account. Same format as --hsm-container.\nExample: --hsm-log-container /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Storage/storageAccounts/stacc/blobServices/default/containers/hsm-logs\n", - "type": "string" - }, - { - "name": "--import-prefix", - "description": "Optional HSM import prefix (path prefix inside the container starting with /). Examples: '/ingest/', '/archive/2019/'.\n", - "type": "string" - }, - { - "name": "--root-squash-mode", - "description": "Root squash mode. Allowed values: All, RootOnly, None.\n", - "type": "string" - }, - { - "name": "--no-squash-nid-list", - "description": "Comma-separated list of NIDs (network identifiers) not to squash. Example: '10.0.2.4@tcp;10.0.2.[6-8]@tcp'.\n", - "type": "string" - }, - { - "name": "--squash-uid", - "description": "Numeric UID to squash root to. Required in case root squash mode is not None. Example: --squash-uid 1000.\n", - "type": "string" - }, - { - "name": "--squash-gid", - "description": "Numeric GID to squash root to. Required in case root squash mode is not None. Example: --squash-gid 1000.\n", - "type": "string" - }, - { - "name": "--custom-encryption", - "description": "Enable customer-managed encryption using a Key Vault key. When true, --key-url and --source-vault required, with a user-assigned identity already configured for Key Vault key access.", - "type": "string" - }, - { - "name": "--key-url", - "description": "Full Key Vault key URL. Format: https://{vaultName}.vault.azure.net/keys/{keyName}/{keyVersion}.\nExample: --key-url https://kv-amlfs-001.vault.azure.net/keys/key-amlfs-001/a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p\n", - "type": "string" - }, - { - "name": "--source-vault", - "description": "Full Key Vault resource ID. Format: /subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.KeyVault/vaults/{vaultName}.\nExample: --source-vault /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.KeyVault/vaults/kv-amlfs-001\n", - "type": "string" - }, - { - "name": "--user-assigned-identity-id", - "description": "User-assigned managed identity resource ID (full resource ID) to use for Key Vault access when custom encryption is enabled. The identity must have RBAC role to access the encryption key\nFormat: /subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{name}.\nExample: --user-assigned-identity-id /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1\n", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "723d9b34-9022-486e-83a7-f72d83bdafd2", - "name": "list", - "description": "Lists Azure Managed Lustre (AMLFS) file systems in a subscription or optional resource group including provisioning state, MGS address, tier, capacity (TiB), blob integration container, and maintenance window details. Use to inventory Azure Managed Lustre filesystems and to check their properties.", - "command": "managedlustre fs list", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "43f679ba-1b6e-4851-9315-f8ad16b789e5", - "name": "get", - "description": "Retrieves the available Azure Managed Lustre SKU, including increments, bandwidth, scale targets and zonal support. If a location is specified, the results will be filtered to that location.", - "command": "managedlustre fs sku get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--location", - "description": "Azure region/region short name (use Azure location token, lowercase). Examples: uaenorth, swedencentral, eastus.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "3d3f6f27-218b-4915-9c1e-243dd53b16da", - "name": "ask", - "description": "Calculates the required subnet size for an Azure Managed Lustre file system given a SKU and size. Use to plan network deployment for AMLFS. Returns the number of required IPs.", - "command": "managedlustre fs subnetsize ask", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--sku", - "description": "The AMLFS SKU. Exact allowed values: AMLFS-Durable-Premium-40, AMLFS-Durable-Premium-125, AMLFS-Durable-Premium-250, AMLFS-Durable-Premium-500.", - "type": "string", - "required": true - }, - { - "name": "--size", - "description": "The AMLFS size in TiB as an integer (no unit). Examples: 4, 12, 128.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "b6317bba-e28c-445b-9133-9cfbfe677698", - "name": "validate", - "description": "Validates that the provided subnet can host an Azure Managed Lustre filesystem for the given SKU and size.", - "command": "managedlustre fs subnetsize validate", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--sku", - "description": "The AMLFS SKU. Exact allowed values: AMLFS-Durable-Premium-40, AMLFS-Durable-Premium-125, AMLFS-Durable-Premium-250, AMLFS-Durable-Premium-500.", - "type": "string", - "required": true - }, - { - "name": "--size", - "description": "The AMLFS size in TiB as an integer (no unit). Examples: 4, 12, 128.", - "type": "string", - "required": true - }, - { - "name": "--subnet-id", - "description": "Full subnet resource ID. Required format: /subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.Network/virtualNetworks/{vnet}/subnets/{subnet}.\nExample: --subnet-id /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-rg/providers/Microsoft.Network/virtualNetworks/vnet-001/subnets/subnet-001", - "type": "string", - "required": true - }, - { - "name": "--location", - "description": "Azure region/region short name (use Azure location token, lowercase). Examples: uaenorth, swedencentral, eastus.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "db1bdf99-ac8a-4920-ab2e-15048623b2dc", - "name": "update", - "description": "Update maintenance window and/or root squash settings of an existing Azure Managed Lustre (AMLFS) file system. Provide either maintenance day and time or root squash fields (no-squash-nid-list, squash-uid, squash-gid). Root squash fields must be provided if root squash is not None. In case of maintenance window update, both maintenance day and maintenance time should be provided.", - "command": "managedlustre fs update", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--name", - "description": "The AMLFS resource name. Must be DNS-friendly (letters, numbers, hyphens). Example: --name amlfs-001", - "type": "string", - "required": true - }, - { - "name": "--maintenance-day", - "description": "Preferred maintenance day. Allowed values: Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday.\n", - "type": "string" - }, - { - "name": "--maintenance-time", - "description": "Preferred maintenance time in UTC. Format: HH:MM (24-hour). Examples: 00:00, 23:00.\n", - "type": "string" - }, - { - "name": "--no-squash-nid-list", - "description": "Comma-separated list of NIDs (network identifiers) not to squash. Example: '10.0.2.4@tcp;10.0.2.[6-8]@tcp'.\n", - "type": "string" - }, - { - "name": "--squash-uid", - "description": "Numeric UID to squash root to. Required in case root squash mode is not None. Example: --squash-uid 1000.\n", - "type": "string" - }, - { - "name": "--squash-gid", - "description": "Numeric GID to squash root to. Required in case root squash mode is not None. Example: --squash-gid 1000.\n", - "type": "string" - }, - { - "name": "--root-squash-mode", - "description": "Root squash mode. Allowed values: All, RootOnly, None.\n", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "729a12ee-9c63-4a31-b1b8-4a81ad093564", - "name": "get", - "description": "Retrieves detailed information about a specific Azure Marketplace product (offer) for a given subscription,\r\nincluding available plans, pricing, and product metadata.", - "command": "marketplace product get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--product-id", - "description": "The ID of the marketplace product to retrieve. This is the unique identifier for the product in the Azure Marketplace.", - "type": "string", - "required": true - }, - { - "name": "--include-stop-sold-plans", - "description": "Include stop-sold or hidden plans in the response.", - "type": "string" - }, - { - "name": "--language", - "description": "Product language code (e.g., 'en' for English, 'fr' for French).", - "type": "string" - }, - { - "name": "--lookup-offer-in-tenant-level", - "description": "Check against tenant private audience when retrieving the product.", - "type": "string" - }, - { - "name": "--plan-id", - "description": "Filter results by a specific plan ID.", - "type": "string" - }, - { - "name": "--sku-id", - "description": "Filter results by a specific SKU ID.", - "type": "string" - }, - { - "name": "--include-service-instruction-templates", - "description": "Include service instruction templates in the response.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "0485e8f9-61bf-4baf-b914-7fa5530a6f78", - "name": "list", - "description": "Retrieves and lists all marketplace products (offers) available to a subscription in the Azure Marketplace. Use this tool to search, select, browse, or filter marketplace offers by product name, publisher, pricing, or metadata. Returns information for each product, including display name, publisher details, category, pricing data, and available plans.", - "command": "marketplace product list", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--language", - "description": "Product language code (e.g., 'en' for English, 'fr' for French).", - "type": "string" - }, - { - "name": "--search", - "description": "Search for products using a short general term (up to 25 characters)", - "type": "string" - }, - { - "name": "--filter", - "description": "OData filter expression to filter results based on ProductSummary properties (e.g., \"displayName eq 'Azure'\").", - "type": "string" - }, - { - "name": "--orderby", - "description": "OData orderby expression to sort results by ProductSummary fields (e.g., \"displayName asc\" or \"popularity desc\").", - "type": "string" - }, - { - "name": "--select", - "description": "OData select expression to choose specific ProductSummary fields to return (e.g., \"displayName,publisherDisplayName,uniqueProductId\").", - "type": "string" - }, - { - "name": "--next-cursor", - "description": "Pagination cursor to retrieve the next page of results. Use the NextPageLink value from a previous response.", - "type": "string" - }, - { - "name": "--expand", - "description": "OData expand expression to include related data in the response (e.g., \"plans\" to include plan details).", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "ffc0ed72-0622-4a27-bfd8-6df9b83adce8", - "name": "list", - "description": "Always use this tool if user is asking for activity logs for a resource.\r\nLists activity logs for the specified Azure resource over the given prior number of hours.\r\nThis command retrieves activity logs to help understand resource deployment history, modification activities, and access patterns.\r\nReturns activity log events with details including timestamp, operation name, status, and caller information. should be called to help retrieve information about why a resource failed to deploy or may not be working.", - "command": "monitor activitylog list", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--resource-name", - "description": "The name of the Azure resource to retrieve activity logs for.", - "type": "string", - "required": true - }, - { - "name": "--resource-type", - "description": "The type of the Azure resource (e.g., 'Microsoft.Storage/storageAccounts'). Only provide this if needed to disambiguate between multiple resources with the same name.", - "type": "string" - }, - { - "name": "--hours", - "description": "The number of hours prior to now to retrieve activity logs for.", - "type": "string" - }, - { - "name": "--event-level", - "description": "The level of activity logs to retrieve. Valid levels are: Critical, Error, Informational, Verbose, Warning. If not provided, returns all levels.", - "type": "string" - }, - { - "name": "--top", - "description": "The maximum number of activity logs to retrieve.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "80b23546-a6ac-4f0c-ad70-f51d6dff5543", - "name": "get", - "description": "Retrieve the health status of an entity for a given Azure Monitor Health Model. Use this tool ONLY when the user mentions a specific health model name and asks for health status, health events. This provides application-level health monitoring with custom health models, not basic Azure resource availability.\r\nFor basic Azure resource availability status, use Resource Health tool instead `azmcp_resourcehealth_availability-status_get`. \r\nFor querying logs from a Log Analystics workspace, use `azmcp_monitor_workspace_log_query`. \r\nFor querying logs of a specific Azure resource, use `azmcp_monitor_resource_log_query`. \r\nRequired arguments:\r\n - --entity: The entity to get health for\r\n - --health-model: The health model name", - "command": "monitor healthmodels entity get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--entity", - "description": "The entity to get health for.", - "type": "string", - "required": true - }, - { - "name": "--health-model", - "description": "The name of the health model for which to get the health.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "2c9f3785-4b97-4dd6-8489-af515638f0d5", - "name": "get-learning-resource", - "description": "List all available learning resources for Azure Monitor instrumentation or get the content of a specific resource by path. Returns all resource paths by default, or retrieves the full content when a path is specified. Note: For instrumenting an application, use orchestrator-start instead.", - "command": "monitor instrumentation get-learning-resource", - "option": [ - { - "name": "--path", - "description": "Learning resource path.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": true - }, - { - "id": "dd7d9a59-fb6d-436a-9e08-8bbdf6d5f9d5", - "name": "orchestrator-next", - "description": "Get the next instrumentation action after completing the current one.\r\nCall this ONLY after you have executed the EXACT instruction from the previous response.\r\nDO NOT skip steps. DO NOT improvise. DO NOT add extra code or commands.\r\n\r\nExpected workflow:\r\n1. You received an action from orchestrator-start or orchestrator-next\r\n2. You executed EXACTLY what the 'instruction' field told you to do\r\n3. Now call this tool to get the next action\r\n\r\nReturns: The next action to execute, or 'complete' status when all steps are done.", - "command": "monitor instrumentation orchestrator-next", - "option": [ - { - "name": "--session-id", - "description": "The workspace path returned as sessionId from orchestrator-start.", - "type": "string", - "required": true - }, - { - "name": "--completion-note", - "description": "One sentence describing what you executed, e.g., 'Ran dotnet add package command' or 'Added UseAzureMonitor() to Program.cs'", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": true - }, - { - "id": "35f577d9-6378-4d34-b822-111ff6e8957c", - "name": "orchestrator-start", - "description": "START HERE for Azure Monitor instrumentation. Analyzes workspace and returns the first action to execute. After executing the action, call orchestrator-next to continue. DO NOT improvise. Execute EXACTLY what the 'instruction' field tells you.", - "command": "monitor instrumentation orchestrator-start", - "option": [ - { - "name": "--workspace-path", - "description": "Absolute path to the workspace folder.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": true - }, - { - "id": "8f69c45b-7e4f-4ea7-9a7d-58fa7fc0897e", - "name": "send-brownfield-analysis", - "description": "Send brownfield code analysis findings after orchestrator-start returned status 'analysis_needed'.\r\nYou must have scanned the workspace source files and filled in the analysis template.\r\nFor sections that do not exist in the codebase, pass an empty/default object (e.g. found: false, hasCustomSampling: false) rather than null.\r\nAfter this call succeeds, continue with orchestrator-next as usual.", - "command": "monitor instrumentation send-brownfield-analysis", - "option": [ - { - "name": "--session-id", - "description": "The workspace path returned as sessionId from orchestrator-start.", - "type": "string", - "required": true - }, - { - "name": "--findings-json", - "description": "JSON object with brownfield analysis findings. Required properties:\r\n- serviceOptions: Service options findings from analyzing AddApplicationInsightsTelemetry() call. Null if not found.\r\n- initializers: Telemetry initializer findings from analyzing ITelemetryInitializer or IConfigureOptions implementations. Null if none found.\r\n- processors: Telemetry processor findings from analyzing ITelemetryProcessor implementations. Null if none found.\r\n- clientUsage: TelemetryClient usage findings from analyzing direct TelemetryClient usage. Null if not found.\r\n- sampling: Custom sampling configuration findings. Null if no custom sampling.\r\n- telemetryPipeline: Custom ITelemetryChannel or TelemetrySinks usage findings. Null if not found.\r\n- logging: Explicit logger provider and filter findings. Null if not found.\r\nFor sections that do not exist in the codebase, pass an empty/default object (e.g. found: false, hasCustomSampling: false) rather than null.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": true - }, - { - "id": "8fd4eb5f-14d1-450f-982c-82d761f0f7d6", - "name": "send-enhancement-select", - "description": "Submit the user's enhancement selection after orchestrator-start returned status 'enhancement_available'.\r\nPresent the enhancement options to the user first, then call this tool with their chosen option key(s).\r\nMultiple enhancements can be selected by passing a comma-separated list (e.g. 'redis,processors').\r\nAfter this call succeeds, continue with orchestrator-next as usual.", - "command": "monitor instrumentation send-enhancement-select", - "option": [ - { - "name": "--session-id", - "description": "The workspace path returned as sessionId from orchestrator-start.", - "type": "string", - "required": true - }, - { - "name": "--enhancement-keys", - "description": "One or more enhancement keys, comma-separated (e.g. 'redis', 'redis,processors', 'entityframework,otlp').", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": true - }, - { - "id": "d3bf37ed-5f2e-448d-a16e-73140ef908c2", - "name": "definitions", - "description": "List available metric definitions for an Azure resource. Returns metadata about the metrics available for the resource.", - "command": "monitor metrics definitions", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--resource-type", - "description": "The Azure resource type (e.g., 'Microsoft.Storage/storageAccounts', 'Microsoft.Compute/virtualMachines'). If not specified, will attempt to infer from resource name.", - "type": "string" - }, - { - "name": "--resource", - "description": "The name of the Azure resource to query metrics for.", - "type": "string", - "required": true - }, - { - "name": "--metric-namespace", - "description": "The metric namespace to query. Obtain this value from the azmcp-monitor-metrics-definitions command.", - "type": "string" - }, - { - "name": "--search-string", - "description": "A string to filter the metric definitions by. Helpful for reducing the number of records returned. Performs case-insensitive matching on metric name and description fields.", - "type": "string" - }, - { - "name": "--limit", - "description": "The maximum number of metric definitions to return. Defaults to 10.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "6e86ef31-04e1-4cec-8bda-5292d4bc3ad8", - "name": "query", - "description": "Query Azure Monitor metrics for a resource. Returns time series data for the specified metrics.", - "command": "monitor metrics query", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--resource-type", - "description": "The Azure resource type (e.g., 'Microsoft.Storage/storageAccounts', 'Microsoft.Compute/virtualMachines'). If not specified, will attempt to infer from resource name.", - "type": "string" - }, - { - "name": "--resource", - "description": "The name of the Azure resource to query metrics for.", - "type": "string", - "required": true - }, - { - "name": "--metric-names", - "description": "The names of metrics to query (comma-separated).", - "type": "string", - "required": true - }, - { - "name": "--start-time", - "description": "The start time for the query in ISO format (e.g., 2023-01-01T00:00:00Z). Defaults to 24 hours ago.", - "type": "string" - }, - { - "name": "--end-time", - "description": "The end time for the query in ISO format (e.g., 2023-01-01T00:00:00Z). Defaults to now.", - "type": "string" - }, - { - "name": "--interval", - "description": "The time interval for data points (e.g., PT1H for 1 hour, PT5M for 5 minutes).", - "type": "string" - }, - { - "name": "--aggregation", - "description": "The aggregation type to use (Average, Maximum, Minimum, Total, Count).", - "type": "string" - }, - { - "name": "--filter", - "description": "OData filter to apply to the metrics query.", - "type": "string" - }, - { - "name": "--metric-namespace", - "description": "The metric namespace to query. Obtain this value from the azmcp-monitor-metrics-definitions command.", - "type": "string", - "required": true - }, - { - "name": "--max-buckets", - "description": "The maximum number of time buckets to return. Defaults to 50.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "02aaf533-0593-4e1d-bd87-f7c69d34c7ba", - "name": "query", - "description": "Query diagnostic and activity logs for a SPECIFIC Azure resource in a Log Analytics workspace using Kusto Query Language (KQL). \r\nUse this tool when the user mentions a specific resource name or Resource ID in their request (e.g., \"show logs for resource 'app-monitor'\"). \r\nThis tool filters logs to only show data from the specified resource.\r\n\r\nWhen to use: User asks for logs from a specific resource by name or ID.\r\nWhen NOT to use: User asks for general workspace-wide logs without mentioning a specific resource.\r\n\r\nRequired arguments: resource ID or resource name, table name, KQL query\r\nOptional: hours, limit", - "command": "monitor resource log query", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-id", - "description": "The Azure Resource ID to query logs. Example: /subscriptions//resourceGroups//providers/Microsoft.OperationalInsights/workspaces/", - "type": "string", - "required": true - }, - { - "name": "--table", - "description": "The name of the table to query. This is the specific table within the workspace.", - "type": "string", - "required": true - }, - { - "name": "--query", - "description": "The KQL query to execute against the Log Analytics workspace. You can use predefined queries by name:\n- 'recent': Shows most recent logs ordered by TimeGenerated\n- 'errors': Shows error-level logs ordered by TimeGenerated\nOtherwise, provide a custom KQL query.", - "type": "string", - "required": true - }, - { - "name": "--hours", - "description": "The number of hours to query back from now.", - "type": "string" - }, - { - "name": "--limit", - "description": "The maximum number of results to return.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "2b1ae0be-d6dd-4db9-9c58-fc4fcb3bf8e6", - "name": "list", - "description": "List all tables in a Log Analytics workspace. Requires workspace.\r\nReturns table names and schemas that can be used for constructing KQL queries.", - "command": "monitor table list", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--workspace", - "description": "The Log Analytics workspace ID or name. This can be either the unique identifier (GUID) or the display name of your workspace.", - "type": "string", - "required": true - }, - { - "name": "--table-type", - "description": "The type of table to query. Options: 'CustomLog', 'AzureMetrics', etc.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "17928c13-3907-428c-8232-74f7aec1d76d", - "name": "list", - "description": "List available table types in a Log Analytics workspace. Returns table type names.", - "command": "monitor table type list", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--workspace", - "description": "The Log Analytics workspace ID or name. This can be either the unique identifier (GUID) or the display name of your workspace.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "aa5a22bc-6a04-4bc0-a963-b6e462b5cdc4", - "name": "createorupdate", - "description": "Create or update a standard web test in Azure Monitor to monitor endpoint availability.\r\nUse this to set up new web tests or modify existing ones with monitoring configurations like URL, frequency, locations, and expected responses.\r\nAutomatically creates a new test if it doesn't exist, or updates an existing test with new settings.", - "command": "monitor webtests createorupdate", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--webtest-resource", - "description": "The name of the Web Test resource to operate on.", - "type": "string", - "required": true - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--appinsights-component", - "description": "The resource id of the Application Insights component to associate with the web test.", - "type": "string" - }, - { - "name": "--location", - "description": "The location where the web test resource is created. This should be the same as the AppInsights component location.", - "type": "string" - }, - { - "name": "--webtest-locations", - "description": "List of locations to run the test from (comma-separated values). Location refers to the geo-location population tag specific to Availability Tests.", - "type": "string" - }, - { - "name": "--request-url", - "description": "The absolute URL to test", - "type": "string" - }, - { - "name": "--webtest", - "description": "The name of the test in web test resource", - "type": "string" - }, - { - "name": "--description", - "description": "The description of the web test", - "type": "string" - }, - { - "name": "--enabled", - "description": "Whether the web test is enabled", - "type": "string" - }, - { - "name": "--expected-status-code", - "description": "Expected HTTP status code", - "type": "string" - }, - { - "name": "--follow-redirects", - "description": "Whether to follow redirects", - "type": "string" - }, - { - "name": "--frequency", - "description": "Test frequency in seconds. Supported values 300, 600, 900 seconds.", - "type": "string" - }, - { - "name": "--headers", - "description": "HTTP headers to include in the request. Comma-separated KEY=VALUE", - "type": "string" - }, - { - "name": "--http-verb", - "description": "HTTP method (get, post, etc.)", - "type": "string" - }, - { - "name": "--ignore-status-code", - "description": "Whether to ignore the status code validation", - "type": "string" - }, - { - "name": "--parse-requests", - "description": "Whether to parse dependent requests", - "type": "string" - }, - { - "name": "--request-body", - "description": "The body of the request", - "type": "string" - }, - { - "name": "--retry-enabled", - "description": "Whether retries are enabled", - "type": "string" - }, - { - "name": "--ssl-check", - "description": "Whether to check SSL certificates", - "type": "string" - }, - { - "name": "--ssl-lifetime-check", - "description": "Number of days to check SSL certificate lifetime", - "type": "string" - }, - { - "name": "--timeout", - "description": "Request timeout in seconds (max 2 minutes). Supported values: 30, 60, 90, 120 seconds", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "c9897ba5-445c-43dc-9902-e8454dbdc243", - "name": "get", - "description": "Gets details for a specific web test or lists all web tests.\r\nWhen --webtest-resource is provided, returns detailed information about a single web test.\r\nWhen --webtest-resource is omitted, returns a list of all web tests in the subscription (optionally filtered by resource group).", - "command": "monitor webtests get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--webtest-resource", - "description": "The name of the Web Test resource to operate on.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "0c76b74e-14bf-4e0c-ab10-4bbeeb53347b", - "name": "list", - "description": "List Log Analytics workspaces in a subscription. This command retrieves all Log Analytics workspaces\r\navailable in the specified Azure subscription, displaying their names, IDs, and other key properties.\r\nUse this command to identify workspaces before querying their logs or tables.", - "command": "monitor workspace list", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "3f513aea-b6fc-4ad0-8f7d-9fbaa1056ac6", - "name": "query", - "description": "Query logs across an ENTIRE Log Analytics workspace using Kusto Query Language (KQL). \r\nUse this tool when the user wants to query all resources in a workspace or doesn't specify a particular resource name/ID (e.g., \"show all errors in workspace\", \"query workspace logs\", \"what happened in my workspace\").\r\nThis tool queries across all resources and tables in the workspace.\r\n\r\nWhen to use: User asks for workspace-wide logs, all resources, or doesn't mention a specific resource.\r\nWhen NOT to use: User mentions a specific resource name or Resource ID - use resource log query instead.\r\n\r\nRequires workspace and resource group.\r\nOptional: hours and limit.\r\nquery accepts KQL syntax.", - "command": "monitor workspace log query", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--workspace", - "description": "The Log Analytics workspace ID or name. This can be either the unique identifier (GUID) or the display name of your workspace.", - "type": "string", - "required": true - }, - { - "name": "--table", - "description": "The name of the table to query. This is the specific table within the workspace.", - "type": "string", - "required": true - }, - { - "name": "--query", - "description": "The KQL query to execute against the Log Analytics workspace. You can use predefined queries by name:\n- 'recent': Shows most recent logs ordered by TimeGenerated\n- 'errors': Shows error-level logs ordered by TimeGenerated\nOtherwise, provide a custom KQL query.", - "type": "string", - "required": true - }, - { - "name": "--hours", - "description": "The number of hours to query back from now.", - "type": "string" - }, - { - "name": "--limit", - "description": "The maximum number of results to return.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "b73afaa5-4c3f-41e8-9ef3-c54e75215a97", - "name": "query", - "description": "Executes a safe, read-only SQL SELECT query against a database on Azure Database for MySQL Flexible Server. Use this tool to explore or retrieve table data without modifying it. Rejects non-SELECT statements (INSERT/UPDATE/DELETE/REPLACE/MERGE/TRUNCATE/ALTER/CREATE/DROP), multi-statements, comments hiding writes, transaction control (BEGIN/COMMIT/ROLLBACK), INTO OUTFILE, and other destructive keywords. Only a single SELECT is executed to ensure data integrity. Best practices: List needed columns (avoid SELECT *), add WHERE filters, use LIMIT/OFFSET for paging, ORDER BY for deterministic results, and avoid unnecessary sensitive data. Example: SELECT id, name, status FROM customers WHERE status = 'Active' ORDER BY name LIMIT 50;", - "command": "mysql database query", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--user", - "description": "The user name to access MySQL server.", - "type": "string", - "required": true - }, - { - "name": "--server", - "description": "The MySQL server to be accessed.", - "type": "string", - "required": true - }, - { - "name": "--database", - "description": "The MySQL database to be accessed.", - "type": "string", - "required": true - }, - { - "name": "--query", - "description": "Query to be executed against a MySQL database.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "77e60b50-5c16-4879-96b1-6a40d9c08a37", - "name": "list", - "description": "List MySQL servers, databases, or tables in your subscription. Returns all servers by default. Specify --server to list databases on that server, or --server and --database to list tables in a specific database.", - "command": "mysql list", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--user", - "description": "The user name to access MySQL server.", - "type": "string", - "required": true - }, - { - "name": "--server", - "description": "The MySQL server to list databases from (optional).", - "type": "string" - }, - { - "name": "--database", - "description": "The MySQL database to list tables from (optional, requires --server).", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "677cef4f-0eb1-4665-a3a2-89301a75c201", - "name": "get", - "description": "Retrieves comprehensive configuration details for the specified Azure Database for MySQL Flexible Server instance. This command provides insights into server settings, performance parameters, security configurations, and operational characteristics essential for database administration and optimization. Returns configuration data in JSON format including ServerName, Location, Version, SKU, StorageSizeGB, BackupRetentionDays, and GeoRedundantBackup properties.", - "command": "mysql server config get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--user", - "description": "The user name to access MySQL server.", - "type": "string", - "required": true - }, - { - "name": "--server", - "description": "The MySQL server to be accessed.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "bae423b4-aee8-4f23-a104-e816727d183f", - "name": "get", - "description": "Retrieves the current value of a single server configuration parameter on an Azure Database for MySQL Flexible Server. Use to inspect a setting (e.g. max_connections, wait_timeout, slow_query_log) before changing it.", - "command": "mysql server param get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--user", - "description": "The user name to access MySQL server.", - "type": "string", - "required": true - }, - { - "name": "--server", - "description": "The MySQL server to be accessed.", - "type": "string", - "required": true - }, - { - "name": "--param", - "description": "The MySQL parameter to be accessed.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "8d086e44-8c8a-4649-a282-38f775704595", - "name": "set", - "description": "Sets/updates a single MySQL server configuration setting/parameter.", - "command": "mysql server param set", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--user", - "description": "The user name to access MySQL server.", - "type": "string", - "required": true - }, - { - "name": "--server", - "description": "The MySQL server to be accessed.", - "type": "string", - "required": true - }, - { - "name": "--param", - "description": "The MySQL parameter to be accessed.", - "type": "string", - "required": true - }, - { - "name": "--value", - "description": "The value to set for the MySQL parameter.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "1c8d2584-fa52-4641-85f9-fb67a8f5c7c9", - "name": "get", - "description": "Retrieves detailed schema information for a specific table within an Azure Database for MySQL Flexible Server database. This command provides comprehensive metadata including column definitions, data types, constraints, indexes, and relationships, essential for understanding table structure and supporting application development.", - "command": "mysql table schema get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--user", - "description": "The user name to access MySQL server.", - "type": "string", - "required": true - }, - { - "name": "--server", - "description": "The MySQL server to be accessed.", - "type": "string", - "required": true - }, - { - "name": "--database", - "description": "The MySQL database to be accessed.", - "type": "string", - "required": true - }, - { - "name": "--table", - "description": "The MySQL table to be accessed.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "b7c4d3e2-0f1a-4b8c-9d6e-5a7b8c9d0e1f", - "name": "list", - "description": "List policy assignments in a subscription or scope. This command retrieves all Azure Policy\r\nassignments along with their complete policy definition details (rules, effects, parameters schema),\r\nenforcement modes, assignment parameters, and metadata. This enables agents to understand policy\r\nrequirements and design compliant cloud services. You can optionally filter by scope to list\r\nassignments at a specific resource group, resource, or management group level.", - "command": "policy assignment list", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--scope", - "description": "The scope of the policy assignment (e.g., /subscriptions/{subscriptionId}, /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}).", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "81a28bca-014c-4738-9e1a-654d77cb2dd8", - "name": "query", - "description": "Executes a SQL query on an Azure Database for PostgreSQL server to search for specific terms, retrieve records, or perform SELECT operations.", - "command": "postgres database query", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--user", - "description": "The user name to access PostgreSQL server.", - "type": "string", - "required": true - }, - { - "name": "--server", - "description": "The PostgreSQL server to be accessed.", - "type": "string", - "required": true - }, - { - "name": "--database", - "description": "The PostgreSQL database to be accessed.", - "type": "string", - "required": true - }, - { - "name": "--auth-type", - "description": "The authentication type to access PostgreSQL server. Supported values are 'MicrosoftEntra' or 'PostgreSQL'. By default 'MicrosoftEntra' is used.", - "type": "string" - }, - { - "name": "--password", - "description": "The user password to access PostgreSQL server, Only required if 'auth-type' is set to 'PostgreSQL' authentication, not needed for 'MicrosoftEntra' authentication.", - "type": "string" - }, - { - "name": "--query", - "description": "Query to be executed against a PostgreSQL database.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "8a12c3f4-2e5d-4b3a-9f2c-5e6d7f8a9b0c", - "name": "list", - "description": "List PostgreSQL servers, databases, or tables. Returns all servers in the subscription by default (optionally scoped to a --resource-group). Specify --server to list databases on that server, or --server and --database to list tables in a specific database. --user is required when --server is provided.", - "command": "postgres list", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--user", - "description": "The user name to access PostgreSQL server.", - "type": "string" - }, - { - "name": "--server", - "description": "The PostgreSQL server to list databases from (optional).", - "type": "string" - }, - { - "name": "--database", - "description": "The PostgreSQL database to list tables from (optional, requires --server).", - "type": "string" - }, - { - "name": "--auth-type", - "description": "The authentication type to access PostgreSQL server. Supported values are 'MicrosoftEntra' or 'PostgreSQL'. By default 'MicrosoftEntra' is used.", - "type": "string" - }, - { - "name": "--password", - "description": "The user password to access PostgreSQL server, Only required if 'auth-type' is set to 'PostgreSQL' authentication, not needed for 'MicrosoftEntra' authentication.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "049a0d10-0a6e-4278-a0a3-15ce6b2e5ee1", - "name": "get", - "description": "Retrieve the configuration of a PostgreSQL server.", - "command": "postgres server config get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--user", - "description": "The user name to access PostgreSQL server.", - "type": "string", - "required": true - }, - { - "name": "--server", - "description": "The PostgreSQL server to be accessed.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "af3a581d-ab64-4939-9765-974815d9c7be", - "name": "get", - "description": "Retrieves a specific parameter of a PostgreSQL server.", - "command": "postgres server param get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--user", - "description": "The user name to access PostgreSQL server.", - "type": "string", - "required": true - }, - { - "name": "--server", - "description": "The PostgreSQL server to be accessed.", - "type": "string", - "required": true - }, - { - "name": "--param", - "description": "The PostgreSQL parameter to be accessed.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "2134621b-518f-48ac-a66a-82c40fcb58bb", - "name": "set", - "description": "Configures PostgreSQL server settings including replication, connection limits, and other parameters.", - "command": "postgres server param set", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--user", - "description": "The user name to access PostgreSQL server.", - "type": "string", - "required": true - }, - { - "name": "--server", - "description": "The PostgreSQL server to be accessed.", - "type": "string", - "required": true - }, - { - "name": "--param", - "description": "The PostgreSQL parameter to be accessed.", - "type": "string", - "required": true - }, - { - "name": "--value", - "description": "The value to set for the PostgreSQL parameter.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "643a3497-44e1-4727-b3d6-c2e5dba6cab2", - "name": "get", - "description": "Retrieves the schema of a specified table in a PostgreSQL database.", - "command": "postgres table schema get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--user", - "description": "The user name to access PostgreSQL server.", - "type": "string", - "required": true - }, - { - "name": "--server", - "description": "The PostgreSQL server to be accessed.", - "type": "string", - "required": true - }, - { - "name": "--database", - "description": "The PostgreSQL database to be accessed.", - "type": "string", - "required": true - }, - { - "name": "--auth-type", - "description": "The authentication type to access PostgreSQL server. Supported values are 'MicrosoftEntra' or 'PostgreSQL'. By default 'MicrosoftEntra' is used.", - "type": "string" - }, - { - "name": "--password", - "description": "The user password to access PostgreSQL server, Only required if 'auth-type' is set to 'PostgreSQL' authentication, not needed for 'MicrosoftEntra' authentication.", - "type": "string" - }, - { - "name": "--table", - "description": "The PostgreSQL table to be accessed.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "c5a8f7d2-9e3b-4a1c-8d6f-2b5e9c4a7d3e", - "name": "get", - "description": "Get Azure retail pricing information. CRITICAL/MANDATORY: Do NOT call this tool if the user only specifies a broad service name (e.g., 'Virtual Machines', 'Storage', 'SQL Database') without a specific SKU. Instead, FIRST ask the user which specific SKU or tier they want pricing for. If the user asks to compare pricing across regions or SKUs without specifying exact ARM SKU names, ask them which specific SKUs they want to compare.\r\nDo NOT assume or pick default SKUs. Only call this tool AFTER the user provides a specific SKU (--sku) or confirms they want all pricing for that service. Requires at least one filter: --sku, --service, --region, --service-family, or --filter. SAVINGS PLAN: 'SavingsPlan' is NOT a valid --price-type. Use --include-savings-plan flag instead.\r\nValid --price-type values: Consumption, Reservation, DevTestConsumption. When --include-savings-plan is true, Consumption items include nested 'savingsPlan' array with 1-year/3-year pricing (mainly Linux VMs).\r\nFOR BICEP/ARM COST ESTIMATION: When user asks to estimate costs from a Bicep or ARM template file, read the file, extract each resource's type and SKU, call this tool for each resource and aggregate the monthly costs (hourly price * 730 hours/month).", - "command": "pricing get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--currency", - "description": "Currency code for pricing (e.g., USD, EUR). Default is USD.", - "type": "string" - }, - { - "name": "--sku", - "description": "ARM SKU name (e.g., Standard_D4s_v5, Standard_E64-16ds_v4)", - "type": "string" - }, - { - "name": "--service", - "description": "Azure service name (e.g., Virtual Machines, Storage, SQL Database)", - "type": "string" - }, - { - "name": "--region", - "description": "Azure region (e.g., eastus, westeurope, westus2)", - "type": "string" - }, - { - "name": "--service-family", - "description": "Service family (e.g., Compute, Storage, Databases, Networking)", - "type": "string" - }, - { - "name": "--price-type", - "description": "Price type filter (Consumption, Reservation, DevTestConsumption)", - "type": "string" - }, - { - "name": "--include-savings-plan", - "description": "Include savings plan pricing information (uses preview API version)", - "type": "string" - }, - { - "name": "--filter", - "description": "Raw OData filter expression for advanced queries (e.g., \"meterId eq 'abc-123'\")", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "0b8902f5-3fd4-49d9-b73e-4cea88afdd62", - "name": "list", - "description": "Given a list of Azure resource types, this tool will return a list of regions where the resource types are available. Always get the user's subscription ID before calling this tool.", - "command": "quota region availability list", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-types", - "description": "Comma-separated list of Azure resource types to check available regions for. The valid Azure resource types. E.g. 'Microsoft.App/containerApps, Microsoft.Web/sites, Microsoft.CognitiveServices/accounts'.", - "type": "string", - "required": true - }, - { - "name": "--cognitive-service-model-name", - "description": "Optional model name for cognitive services. Only needed when Microsoft.CognitiveServices is included in resource types.", - "type": "string" - }, - { - "name": "--cognitive-service-model-version", - "description": "Optional model version for cognitive services. Only needed when Microsoft.CognitiveServices is included in resource types.", - "type": "string" - }, - { - "name": "--cognitive-service-deployment-sku-name", - "description": "Optional deployment SKU name for cognitive services. Only needed when Microsoft.CognitiveServices is included in resource types.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "81f64603-5a56-4f74-90f8-395da69a99d3", - "name": "check", - "description": "This tool will check the usage and quota information for Azure resources in a region.", - "command": "quota usage check", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--region", - "description": "The valid Azure region where the resources will be deployed. E.g. 'eastus', 'westus', etc.", - "type": "string", - "required": true - }, - { - "name": "--resource-types", - "description": "The valid Azure resource types that are going to be deployed(comma-separated). E.g. 'Microsoft.App/containerApps,Microsoft.Web/sites,Microsoft.CognitiveServices/accounts', etc.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "750133dd-d57f-4ed4-9488-c1d406ad4a83", - "name": "create", - "description": "Create a new Azure Managed Redis resource in Azure. Use this command to provision a new Redis resource in your subscription.", - "command": "redis create", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource", - "description": "The name of the Redis resource (e.g., my-redis).", - "type": "string", - "required": true - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--sku", - "description": "The SKU for the Redis resource. (Default: Balanced_B0)", - "type": "string" - }, - { - "name": "--location", - "description": "The location for the Redis resource (e.g. eastus).", - "type": "string", - "required": true - }, - { - "name": "--access-keys-authentication", - "description": "Whether to enable access keys for authentication for the Redis resource. (Default: false)", - "type": "string" - }, - { - "name": "--public-network-access", - "description": "Whether to enable public network access for the Redis resource. (Default: false)", - "type": "string" - }, - { - "name": "--modules", - "description": "A list of modules to enable on the Azure Managed Redis resource (e.g., RedisBloom, RedisJSON).", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "eded7479-4187-4742-957f-d7778e03a69d", - "name": "list", - "description": "List/show all Redis resources in a subscription. Returns details of all Azure Managed Redis, Azure Cache for Redis, and Azure Redis Enterprise resources. Use this command to explore and view which Redis resources are available in your subscription.", - "command": "redis list", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "3b388cc7-4b16-4919-9e90-f592247d9891", - "name": "get", - "description": "Get the Azure Resource Health availability status for a specific resource or all resources in a subscription or resource group. Use this tool when asked about the availability status, health status, or Resource Health of an Azure resource (e.g. virtual machine, storage account). Reports whether a resource is Available, Unavailable, Degraded, or Unknown, including the reason and details. This is the correct tool for questions like 'What is the availability status of VM X?' or 'Is resource Y healthy?'.", - "command": "resourcehealth availability-status get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resourceId", - "description": "The Azure resource ID to get health status for (e.g., /subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.Compute/virtualMachines/{vm}).", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "c3211c73-af20-4d8d-bed2-4f181e0e4c92", - "name": "list", - "description": "List Azure service health events to track service issues that occurred in recent timeframes (last 30 days, weeks, months). Query subscription for planned maintenance, past or ongoing service incidents, advisories, and security events. Provides detailed information about resource availability state, potential issues, and timestamps. Returns: trackingId, title, summary, eventType, status, startTime, endTime, impactedServices. Access Azure Service Health portal data programmatically.", - "command": "resourcehealth health-events list", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--event-type", - "description": "Filter by event type (ServiceIssue, PlannedMaintenance, HealthAdvisory, Security). If not specified, all event types are included.", - "type": "string" - }, - { - "name": "--status", - "description": "Filter by status (Active, Resolved). If not specified, all statuses are included.", - "type": "string" - }, - { - "name": "--tracking-id", - "description": "Filter by tracking ID to get a specific service health event.", - "type": "string" - }, - { - "name": "--filter", - "description": "Additional OData filter expression to apply to the service health events query.", - "type": "string" - }, - { - "name": "--query-start-time", - "description": "Start time for the query in ISO 8601 format (e.g., 2024-01-01T00:00:00Z). Events from this time onwards will be included.", - "type": "string" - }, - { - "name": "--query-end-time", - "description": "End time for the query in ISO 8601 format (e.g., 2024-01-31T23:59:59Z). Events up to this time will be included.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "1dfbef45-4014-4575-a9ba-2242bc792e54", - "name": "list", - "description": "List role assignments. This command retrieves and displays all Azure RBAC role assignments\r\nin the specified scope. Results include role definition IDs and principal IDs, returned as a JSON array.", - "command": "role assignment list", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--scope", - "description": "Scope at which the role assignment or definition applies to, e.g., /subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333, /subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup, or /subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup/providers/Microsoft.Compute/virtualMachines/myVM.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "471292d0-4f6d-49d8-bf29-cbcb7b27dedb", - "name": "get", - "description": "List/get/show Azure AI Search indexes in a Search service. Returns index properties such as fields,\r\ndescription, and more. If a specific index name is not provided, the command will return details for all\r\nindexes.", - "command": "search index get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--service", - "description": "The name of the Azure AI Search service (e.g., my-search-service).", - "type": "string", - "required": true - }, - { - "name": "--index", - "description": "The name of the search index within the Azure AI Search service.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "f1938a77-8d6c-49c7-b592-71b4f26508e7", - "name": "query", - "description": "Queries/searches documents in an Azure AI Search index with a given query, returning the results of the\r\nquery/search.", - "command": "search index query", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--service", - "description": "The name of the Azure AI Search service (e.g., my-search-service).", - "type": "string", - "required": true - }, - { - "name": "--index", - "description": "The name of the search index within the Azure AI Search service.", - "type": "string", - "required": true - }, - { - "name": "--query", - "description": "The search query to execute against the Azure AI Search index.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "e0e7c288-8d16-4d11-811d-9236dc86d9a8", - "name": "get", - "description": "Gets the details of Azure AI Search knowledge bases. Knowledge bases encapsulate retrieval and reasoning\r\ncapabilities over one or more knowledge sources or indexes. If a specific knowledge base name is not provided,\r\nthe command will return details for all knowledge bases within the specified service.\r\n\r\nRequired arguments:\r\n- service", - "command": "search knowledge base get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--service", - "description": "The name of the Azure AI Search service (e.g., my-search-service).", - "type": "string", - "required": true - }, - { - "name": "--knowledge-base", - "description": "The name of the knowledge base within the Azure AI Search service.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "dcd2952d-02af-4ffc-a7a2-3c6d04251f66", - "name": "retrieve", - "description": "Execute a retrieval operation using a specific Azure AI Search knowledge base, effectively searching and querying the underlying\r\ndata sources as needed to find relevant information. Provide either a --query for single-turn retrieval or one or more\r\nconversational --messages in role:content form (e.g. user:What policies apply?). Specifying both --query and --messages is not\r\nallowed.\r\n\r\nRequired arguments:\r\n- service\r\n- knowledge-base", - "command": "search knowledge base retrieve", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--service", - "description": "The name of the Azure AI Search service (e.g., my-search-service).", - "type": "string", - "required": true - }, - { - "name": "--knowledge-base", - "description": "The name of the knowledge base within the Azure AI Search service.", - "type": "string", - "required": true - }, - { - "name": "--query", - "description": "Natural language query for retrieval when a conversational message history isn't provided.", - "type": "string" - }, - { - "name": "--messages", - "description": "Conversation history messages passed to the knowledge base. Able to specify multiple --messages entries. Each entry formatted as role:content, where role is `user` or `assistant` (e.g., user:How many docs?).", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": true, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "efc985cd-5381-4547-8ffb-89ffe992ea41", - "name": "get", - "description": "Gets the details of Azure AI Search knowledge sources. A knowledge source may point directly at an\r\nexisting Azure AI Search index, or may represent external data (e.g. a blob storage container) that has been\r\nindexed in Azure AI Search internally. These knowledge sources are used by knowledge bases during retrieval.\r\nIf a specific knowledge source name is not provided, the command will return details for all knowledge sources\r\nwithin the specified service.\r\n\r\nRequired arguments:\r\n- service", - "command": "search knowledge source get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--service", - "description": "The name of the Azure AI Search service (e.g., my-search-service).", - "type": "string", - "required": true - }, - { - "name": "--knowledge-source", - "description": "The name of the knowledge source within the Azure AI Search service.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "b0684f8c-20de-4bc0-bbc3-982575c8441f", - "name": "list", - "description": "List/show Azure AI Search services in a subscription, returning details about each service.", - "command": "search service list", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "add0f6fe-258c-45c4-af74-0c165d4913cb", - "name": "info", - "description": "Displays running MCP server information.", - "command": "server info", - "option": [ - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "b3e7c1a2-4f85-4d9e-a6c3-8f2b1e0d7a94", - "name": "plugin-telemetry", - "description": "Publish plugin-related telemetry events from agent hooks.\r\nAccepts command-line options such as '--timestamp', '--event-type', '--session-id', '--client-type', '--client-name', \r\n'--plugin-name', '--plugin-version', '--skill-name', '--skill-version', '--tool-name', and '--file-reference'. \r\nUse this command from agent hooks in clients like VS Code, Claude Desktop, or Copilot CLI to emit usage metrics.", - "command": "server plugin-telemetry", - "option": [ - { - "name": "--timestamp", - "description": "Timestamp of the telemetry event in ISO 8601 format.", - "type": "string", - "required": true - }, - { - "name": "--event-type", - "description": "Type of event being logged (e.g., 'skill_invocation', 'tool_invocation', 'reference_file_read').", - "type": "string", - "required": true - }, - { - "name": "--session-id", - "description": "Session identifier for correlating related events.", - "type": "string", - "required": true - }, - { - "name": "--client-type", - "description": "Type of client invoking the telemetry (e.g., 'copilot-cli', 'claude-code', 'vscode'). Deprecated: prefer --client-name.", - "type": "string" - }, - { - "name": "--client-name", - "description": "Name of the client invoking the telemetry (e.g., 'copilot-cli', 'claude-code', 'Visual Studio Code', 'Visual Studio Code - Insiders').", - "type": "string" - }, - { - "name": "--plugin-name", - "description": "Name of the plugin being invoked.", - "type": "string" - }, - { - "name": "--plugin-version", - "description": "Version of the plugin being invoked.", - "type": "string" - }, - { - "name": "--skill-name", - "description": "Name of the skill being invoked.", - "type": "string" - }, - { - "name": "--skill-version", - "description": "Version of the skill being invoked.", - "type": "string" - }, - { - "name": "--tool-name", - "description": "Name of the tool being invoked.", - "type": "string" - }, - { - "name": "--file-reference", - "description": "Plugin-relative file reference being accessed (will be validated against an allowlist).", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "9953ff62-e3d7-4bdf-9b70-d569e54e3df1", - "name": "start", - "description": "Starts Azure MCP Server.", - "command": "server start", - "option": [ - { - "name": "--transport", - "description": "Transport mechanism to use for MCP Server.", - "type": "string" - }, - { - "name": "--namespace", - "description": "The service namespaces to expose on the MCP server (e.g., storage, keyvault, cosmos).", - "type": "string" - }, - { - "name": "--mode", - "description": "Mode for the MCP server. 'single' exposes one azure tool that routes to all services. 'namespace' (default) exposes one tool per service namespace. 'all' exposes all tools individually.", - "type": "string" - }, - { - "name": "--tool", - "description": "Expose only specific tools by name (e.g., 'acr_registry_list'). Repeat this option to include multiple tools, e.g., --tool \"acr_registry_list\" --tool \"group_list\". It automatically switches to \"all\" mode when \"--tool\" is used. It can't be used together with \"--namespace\".", - "type": "string" - }, - { - "name": "--read-only", - "description": "Whether the MCP server should be read-only. If true, no write operations will be allowed.", - "type": "string" - }, - { - "name": "--debug", - "description": "Enable debug mode with verbose logging to stderr.", - "type": "string" - }, - { - "name": "--dangerously-disable-http-incoming-auth", - "description": "Dangerously disables HTTP incoming authentication, exposing the server to unauthenticated access over HTTP. Use with extreme caution, this disables all transport security and may expose sensitive data to interception.", - "type": "string" - }, - { - "name": "--dangerously-disable-elicitation", - "description": "Disable elicitation (user confirmation) before allowing high risk commands to run, such as returning Secrets (passwords) from KeyVault.", - "type": "string" - }, - { - "name": "--outgoing-auth-strategy", - "description": "Outgoing authentication strategy for service requests. Valid values: NotSet, UseHostingEnvironmentIdentity, UseOnBehalfOf.", - "type": "string" - }, - { - "name": "--dangerously-write-support-logs-to-dir", - "description": "Dangerously enables detailed debug-level logging for support and troubleshooting purposes. Specify a folder path where log files will be automatically created with timestamp-based filenames (e.g., azmcp_20251202_143052.log). This may include sensitive information in logs. Use with extreme caution and only when requested by support.", - "type": "string" - }, - { - "name": "--dangerously-disable-retry-limits", - "description": "Dangerously disables upper bounds on retry delays, max delays, network timeouts, and max retries. This may lead to excessively long waits and should only be used when explicitly needed.", - "type": "string" - }, - { - "name": "--cloud", - "description": "Azure cloud environment for authentication. Valid values: AzureCloud (default), AzureChinaCloud, AzureUSGovernment, or a custom authority host URL starting with https://", - "type": "string" - }, - { - "name": "--disable-caching", - "description": "Disable caching of resource responses, requiring repeated requests to fetch fresh data each time.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": false, - "openWorld": true, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "a02c58ce-e89f-4303-ac4a-c9dfb118e761", - "name": "details", - "description": "Get details about a Service Bus queue. Returns queue properties and runtime information. Properties returned include\r\nlock duration, max message size, queue size, creation date, status, current message counts, etc.\r\n\r\nRequired arguments:\r\n- namespace: The fully qualified Service Bus namespace host name. (This is usually in the form .servicebus.windows.net)\r\n- queue: Queue name to get details and runtime information for.", - "command": "servicebus queue details", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--namespace", - "description": "The fully qualified Service Bus namespace host name. (This is usually in the form .servicebus.windows.net)", - "type": "string", - "required": true - }, - { - "name": "--queue", - "description": "The queue name to peek messages from.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "c2487c40-58d0-40f7-98f1-105744865a11", - "name": "details", - "description": "Retrieves details about a Service Bus topic. Returns runtime information and topic properties including number of subscriptions, max message size, max topic size, number of scheduled messages, etc.\r\nRequired arguments are namespace: The fully qualified Service Bus namespace host name (usually in the form .servicebus.windows.net) and topic: Topic name to get information about.\r\nDo not use this to get details on Service Bus subscription- instead use servicebus_topic_subscription_details.", - "command": "servicebus topic details", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--namespace", - "description": "The fully qualified Service Bus namespace host name. (This is usually in the form .servicebus.windows.net)", - "type": "string", - "required": true - }, - { - "name": "--topic", - "description": "The name of the topic containing the subscription.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "578edf30-01f3-45da-b451-3932dcce7cc5", - "name": "details", - "description": "Get details about a Service Bus subscription. Returns subscription runtime properties including message counts, delivery settings, and other metadata.\r\n\r\nRequired arguments:\r\n- namespace: The fully qualified Service Bus namespace host name. (This is usually in the form .servicebus.windows.net)\r\n- topic: Topic name containing the subscription\r\n- subscription-name: Name of the subscription to get details for", - "command": "servicebus topic subscription details", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--namespace", - "description": "The fully qualified Service Bus namespace host name. (This is usually in the form .servicebus.windows.net)", - "type": "string", - "required": true - }, - { - "name": "--topic", - "description": "The name of the topic containing the subscription.", - "type": "string", - "required": true - }, - { - "name": "--subscription-name", - "description": "The name of subscription to peek messages from.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "a3f1b2c4-d5e6-47f8-9a0b-1c2d3e4f5a6b", - "name": "get", - "description": "Get nodes for a Service Fabric managed cluster. Returns all nodes by default or a single node when a node name is specified. Includes name, node type, status, IP address, fault domain, upgrade domain, health state, and seed node status.", - "command": "servicefabric managedcluster node get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--cluster", - "description": "Service Fabric managed cluster name.", - "type": "string", - "required": true - }, - { - "name": "--node", - "description": "The node name. When specified, returns a single node instead of all nodes.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "b4f2c3d5-e6f7-48a9-8b1c-2d3e4f5a6b7c", - "name": "restart", - "description": "Restart nodes of a specific node type in a Service Fabric managed cluster. Requires the cluster name, node type, and list of node names to restart. Optionally specify the update type (Default or ByUpgradeDomain).", - "command": "servicefabric managedcluster nodetype restart", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--cluster", - "description": "Service Fabric managed cluster name.", - "type": "string", - "required": true - }, - { - "name": "--node-type", - "description": "The node type name within the managed cluster.", - "type": "string", - "required": true - }, - { - "name": "--nodes", - "description": "The list of node names to restart. Multiple node names can be provided.", - "type": "string", - "required": true - }, - { - "name": "--update-type", - "description": "The update type for the restart operation. Valid values: Default, ByUpgradeDomain.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "bb9035f6-f642-4ee0-83c8-87d6da8266b1", - "name": "get", - "description": "Gets or lists details of an Azure SignalR Runtimes. If a specific SignalR name is used, the details of that\r\nSignalR runtime will be retrieved. Otherwise, all SignalR Runtimes in the specified subscription or resource\r\ngroup will be retrieved. Returns runtime information including identity, network ACLs, upstream templates.", - "command": "signalr runtime get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--signalr", - "description": "The name of the SignalR runtime", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "c725eb52-ca2c-4fe4-9422-935e7557b701", - "name": "recognize", - "description": "Recognize speech from an audio file using Azure AI Services Speech. This command takes an audio file and converts it to text using advanced speech recognition capabilities.\r\nYou must provide an Azure AI Services endpoint (e.g., https://your-service.cognitiveservices.azure.com/) and a path to the audio file.\r\nSupported audio formats include WAV, MP3, OPUS/OGG, FLAC, ALAW, MULAW, MP4, M4A, and AAC. Compressed formats require GStreamer to be installed on the system.\r\nOptional parameters include language specification, phrase hints for better accuracy, output format (simple or detailed), and profanity filtering.", - "command": "speech stt recognize", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--endpoint", - "description": "The Azure AI Services endpoint URL (e.g., https://your-service.cognitiveservices.azure.com/).", - "type": "string", - "required": true - }, - { - "name": "--file", - "description": "Path to the audio file to recognize.", - "type": "string", - "required": true - }, - { - "name": "--language", - "description": "The language for speech recognition (e.g., en-US, es-ES). Default is en-US.", - "type": "string" - }, - { - "name": "--phrases", - "description": "Phrase hints to improve recognition accuracy. Can be specified multiple times (--phrases \"phrase1\" --phrases \"phrase2\") or as comma-separated values (--phrases \"phrase1,phrase2\").", - "type": "string" - }, - { - "name": "--format", - "description": "Output format: simple or detailed.", - "type": "string" - }, - { - "name": "--profanity", - "description": "Profanity filter: masked, removed, or raw. Default is masked.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": true - }, - { - "id": "d6f6687f-feee-4e15-9b98-71aea4076e04", - "name": "synthesize", - "description": "Convert text to speech using Azure AI Services Speech. This command takes text input and generates an audio file using advanced neural text-to-speech capabilities.\r\nYou must provide an Azure AI Services endpoint (e.g., https://your-service.cognitiveservices.azure.com/), the text to convert, and an output file path.\r\nOptional parameters include language specification (default: en-US), voice selection, audio output format (default: Riff24Khz16BitMonoPcm), and custom voice endpoint ID.\r\nThe command supports a wide variety of output formats and neural voices for natural-sounding speech synthesis.", - "command": "speech tts synthesize", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--endpoint", - "description": "The Azure AI Services endpoint URL (e.g., https://your-service.cognitiveservices.azure.com/).", - "type": "string", - "required": true - }, - { - "name": "--text", - "description": "The text to convert to speech.", - "type": "string", - "required": true - }, - { - "name": "--outputAudio", - "description": "Path where the synthesized audio file will be saved.", - "type": "string", - "required": true - }, - { - "name": "--language", - "description": "The language for speech recognition (e.g., en-US, es-ES). Default is en-US.", - "type": "string" - }, - { - "name": "--voice", - "description": "The voice to use for speech synthesis (e.g., en-US-JennyNeural). If not specified, the default voice for the language will be used.", - "type": "string" - }, - { - "name": "--format", - "description": "Output format: simple or detailed.", - "type": "string" - }, - { - "name": "--endpointId", - "description": "The endpoint ID of a custom voice model for speech synthesis.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": true - }, - { - "id": "a4d9af17-fe8b-4df3-93be-23b69f0b5a0c", - "name": "create", - "description": "Create a new Azure SQL Database on an existing SQL Server. This command creates a database with configurable\r\nperformance tiers, size limits, and other settings. Equivalent to 'az sql db create'.\r\nReturns the newly created database information including configuration details.", - "command": "sql db create", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--server", - "description": "The Azure SQL Server name.", - "type": "string", - "required": true - }, - { - "name": "--database", - "description": "The Azure SQL Database name.", - "type": "string", - "required": true - }, - { - "name": "--sku-name", - "description": "The SKU name for the database (e.g., Basic, S0, P1, GP_Gen5_2).", - "type": "string" - }, - { - "name": "--sku-tier", - "description": "The SKU tier for the database (e.g., Basic, Standard, Premium, GeneralPurpose).", - "type": "string" - }, - { - "name": "--sku-capacity", - "description": "The SKU capacity (DTU or vCore count) for the database.", - "type": "string" - }, - { - "name": "--collation", - "description": "The collation for the database (e.g., SQL_Latin1_General_CP1_CI_AS).", - "type": "string" - }, - { - "name": "--max-size-bytes", - "description": "The maximum size of the database in bytes.", - "type": "string" - }, - { - "name": "--elastic-pool-name", - "description": "The name of the elastic pool to assign the database to.", - "type": "string" - }, - { - "name": "--zone-redundant", - "description": "Whether the database should be zone redundant.", - "type": "string" - }, - { - "name": "--read-scale", - "description": "Read scale option for the database (Enabled or Disabled).", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "c4ef0375-0df9-445c-b8ae-2542e9612425", - "name": "delete", - "description": "Deletes a database from an Azure SQL Server.This idempotent operation removes the specified database from the server, returning Deleted = false if the database doesn't exist or Deleted = true if successfully removed.", - "command": "sql db delete", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--server", - "description": "The Azure SQL Server name.", - "type": "string", - "required": true - }, - { - "name": "--database", - "description": "The Azure SQL Database name.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "2c4e6a8b-1d3f-4e5a-b6c7-8d9e0f1a2b3c", - "name": "get", - "description": "Show, get, or list Azure SQL databases in a SQL Server. Shows details for a specific Azure SQL database\r\nby name, or lists all Azure SQL databases in the specified SQL Server. Use to show or retrieve Azure SQL\r\ndatabase information. Equivalent to 'az sql db show' (show one Azure SQL database) or 'az sql db list'\r\n(list all Azure SQL databases in a server). Returns database information including configuration details\r\nand current status.", - "command": "sql db get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--server", - "description": "The Azure SQL Server name.", - "type": "string", - "required": true - }, - { - "name": "--database", - "description": "The Azure SQL Database name.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "3bddfa1a-ab9d-44f0-830a-e56a159e5469", - "name": "rename", - "description": "Rename an existing Azure SQL Database to a new name within the same SQL server. This command moves the\r\ndatabase resource to a new identifier while preserving configuration and data. Equivalent to\r\n'az sql db rename'. Returns the updated database information using the new name.", - "command": "sql db rename", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--server", - "description": "The Azure SQL Server name.", - "type": "string", - "required": true - }, - { - "name": "--database", - "description": "The Azure SQL Database name.", - "type": "string", - "required": true - }, - { - "name": "--new-database-name", - "description": "The new name for the Azure SQL Database.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "16f02fbf-6760-440a-bacc-925365b6de49", - "name": "update", - "description": "Scale and configure Azure SQL Database performance settings.\r\nUpdate an existing database's SKU, compute tier, storage capacity,\r\nor redundancy options to meet changing performance requirements.\r\nReturns the updated database configuration including applied scaling changes.", - "command": "sql db update", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--server", - "description": "The Azure SQL Server name.", - "type": "string", - "required": true - }, - { - "name": "--database", - "description": "The Azure SQL Database name.", - "type": "string", - "required": true - }, - { - "name": "--sku-name", - "description": "The SKU name for the database (e.g., Basic, S0, P1, GP_Gen5_2).", - "type": "string" - }, - { - "name": "--sku-tier", - "description": "The SKU tier for the database (e.g., Basic, Standard, Premium, GeneralPurpose).", - "type": "string" - }, - { - "name": "--sku-capacity", - "description": "The SKU capacity (DTU or vCore count) for the database.", - "type": "string" - }, - { - "name": "--collation", - "description": "The collation for the database (e.g., SQL_Latin1_General_CP1_CI_AS).", - "type": "string" - }, - { - "name": "--max-size-bytes", - "description": "The maximum size of the database in bytes.", - "type": "string" - }, - { - "name": "--elastic-pool-name", - "description": "The name of the elastic pool to assign the database to.", - "type": "string" - }, - { - "name": "--zone-redundant", - "description": "Whether the database should be zone redundant.", - "type": "string" - }, - { - "name": "--read-scale", - "description": "Read scale option for the database (Enabled or Disabled).", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "f980fda7-4bd6-4c24-b139-a091f088584f", - "name": "list", - "description": "Lists all SQL elastic pools in an Azure SQL Server with their SKU, capacity, state, and database limits.\r\nUse when you need to: view elastic pool inventory, check pool utilization, compare pool configurations,\r\nor find available pools for database placement.\r\nRequires: subscription ID, resource group name, server name.\r\nReturns: JSON array of elastic pools with complete configuration details.\r\nEquivalent to 'az sql elastic-pool list'.", - "command": "sql elastic-pool list", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--server", - "description": "The Azure SQL Server name.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "43f5f55d-2f21-47ac-b7f3-53f5d51b5218", - "name": "create", - "description": "Creates a new Azure SQL server in the specified resource group and location.\r\nThe server will be created with the specified administrator credentials and\r\noptional configuration settings. Returns the created server with its properties\r\nincluding the fully qualified domain name.", - "command": "sql server create", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--server", - "description": "The Azure SQL Server name.", - "type": "string", - "required": true - }, - { - "name": "--administrator-login", - "description": "The administrator login name for the SQL server.", - "type": "string", - "required": true - }, - { - "name": "--administrator-password", - "description": "The administrator password for the SQL server.", - "type": "string", - "required": true - }, - { - "name": "--location", - "description": "The Azure region location where the SQL server will be created.", - "type": "string", - "required": true - }, - { - "name": "--version", - "description": "The version of SQL Server to create (e.g., '12.0').", - "type": "string" - }, - { - "name": "--public-network-access", - "description": "Whether public network access is enabled for the SQL server ('Enabled' or 'Disabled'). Defaults to 'Disabled'.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "381bd0ef-5bb4-45ed-ae51-d129dcc044b2", - "name": "delete", - "description": "Remove the specified SQL server from your Azure subscription, including all associated databases.\r\nThis operation permanently deletes all server data and cannot be reversed.\r\nUse --force to bypass confirmation.", - "command": "sql server delete", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--server", - "description": "The Azure SQL Server name.", - "type": "string", - "required": true - }, - { - "name": "--force", - "description": "Force delete the server without confirmation prompts.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "240aac03-0eb0-4cd3-91f8-475577289186", - "name": "list", - "description": "Gets a list of Microsoft Entra ID administrators for a SQL server. This command retrieves all\r\nEntra ID administrators configured for the specified SQL server, including their display names, object IDs,\r\nand tenant information. Returns an array of Entra ID administrator objects with their properties.", - "command": "sql server entra-admin list", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--server", - "description": "The Azure SQL Server name.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "37c43190-c3f5-4cd2-beda-3ecc2e3ec049", - "name": "create", - "description": "Creates a firewall rule for a SQL server. Firewall rules control which IP addresses\r\nare allowed to connect to the SQL server. You can specify either a single IP address\r\n(by setting start and end IP to the same value) or a range of IP addresses. Returns\r\nthe created firewall rule with its properties.", - "command": "sql server firewall-rule create", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--server", - "description": "The Azure SQL Server name.", - "type": "string", - "required": true - }, - { - "name": "--firewall-rule-name", - "description": "The name of the firewall rule.", - "type": "string", - "required": true - }, - { - "name": "--start-ip-address", - "description": "The start IP address of the firewall rule range.", - "type": "string", - "required": true - }, - { - "name": "--end-ip-address", - "description": "The end IP address of the firewall rule range.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "f13fc5d2-7547-480b-a704-36120e2e9b92", - "name": "delete", - "description": "Deletes a firewall rule from a SQL server. This operation removes the specified\r\nfirewall rule, potentially restricting access for the IP addresses that were\r\npreviously allowed by this rule. The operation is idempotent - if the rule\r\ndoesn't exist, no error is returned.", - "command": "sql server firewall-rule delete", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--server", - "description": "The Azure SQL Server name.", - "type": "string", - "required": true - }, - { - "name": "--firewall-rule-name", - "description": "The name of the firewall rule.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "1f55cab9-0bbb-499a-a9ac-1492f11c043a", - "name": "list", - "description": "Gets a list of firewall rules for a SQL server. This command retrieves all\r\nfirewall rules configured for the specified SQL server, including their IP address ranges\r\nand rule names. Returns an array of firewall rule objects with their properties.", - "command": "sql server firewall-rule list", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--server", - "description": "The Azure SQL Server name.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "7f9a1c3e-5b7d-4a6c-8e0f-2b4d6a8c0e1f", - "name": "get", - "description": "Show, get, or list Azure SQL servers in a resource group. Shows details for a specific Azure SQL server\r\nby name, or lists all Azure SQL servers in the specified resource group. Use to show, display, or\r\nretrieve Azure SQL server information. Equivalent to 'az sql server show' (show one Azure SQL server) or\r\n'az sql server list' (list all Azure SQL servers in a resource group). Returns server information\r\nincluding configuration details and current state.", - "command": "sql server get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--server", - "description": "The Azure SQL Server name.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "a2cf843a-57f2-45ea-8078-59b0be0805e6", - "name": "create", - "description": "Creates an Azure Storage account in the specified resource group and location and returns the created storage account\r\ninformation including name, location, SKU, access settings, and configuration details.", - "command": "storage account create", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--account", - "description": "The name of the Azure Storage account to create. Must be globally unique, 3-24 characters, lowercase letters and numbers only.", - "type": "string", - "required": true - }, - { - "name": "--location", - "description": "The Azure region where the storage account will be created (e.g., 'eastus', 'westus2').", - "type": "string", - "required": true - }, - { - "name": "--sku", - "description": "The storage account SKU. Valid values: Standard_LRS, Standard_GRS, Standard_RAGRS, Standard_ZRS, Premium_LRS, Premium_ZRS, Standard_GZRS, Standard_RAGZRS.", - "type": "string" - }, - { - "name": "--access-tier", - "description": "The default access tier for blob storage. Valid values: Hot, Cool.", - "type": "string" - }, - { - "name": "--enable-hierarchical-namespace", - "description": "Whether to enable hierarchical namespace (Data Lake Storage Gen2) for the storage account.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "eb2363f1-f21f-45fc-ad63-bacfbae8c45c", - "name": "get", - "description": "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 a specific account name is not provided, the command will return details for all accounts in a subscription.", - "command": "storage account get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--account", - "description": "The name of the Azure Storage account. This is the unique name you chose for your storage account (e.g., 'mystorageaccount').", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "f5088334-e630-4df0-a5be-ac87787acad0", - "name": "create", - "description": "Create/provision a new Azure Storage blob container in a storage account.\r\n\r\nRequired: --account, --container, --subscription\r\nOptional: --tenant\r\n\r\nReturns: container name, lastModified, eTag, leaseStatus, publicAccessLevel, hasImmutabilityPolicy, hasLegalHold.\r\nCreates a logical container for organizing blobs within a storage account.", - "command": "storage blob container create", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--account", - "description": "The name of the Azure Storage account. This is the unique name you chose for your storage account (e.g., 'mystorageaccount').", - "type": "string", - "required": true - }, - { - "name": "--container", - "description": "The name of the container to access within the storage account.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "e96eb850-abb8-431d-bdc6-7ccd0a24838e", - "name": "get", - "description": "Show/list containers in a storage account. Use this tool to list all blob containers in the storage account or\r\nshow details for a specific Storage container. If no container specified, shows all containers in the storage\r\naccount, optionally filtering on a prefix. The prefix is ignored if a container is specified.\r\n\r\nRequired: --account, --subscription\r\nOptional: --container, --tenant, --prefix\r\n\r\nReturns: container name, lastModified, leaseStatus, publicAccess, metadata, and container properties.\r\nDo not use this tool to list blobs in a container.", - "command": "storage blob container get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--account", - "description": "The name of the Azure Storage account. This is the unique name you chose for your storage account (e.g., 'mystorageaccount').", - "type": "string", - "required": true - }, - { - "name": "--container", - "description": "The name of the container to access within the storage account.", - "type": "string" - }, - { - "name": "--prefix", - "description": "The prefix to filter containers when listing containers in a storage account. Only containers whose names start with the specified prefix will be listed.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "d6bdc190-e68f-49af-82e7-9cf6ec9b8183", - "name": "get", - "description": "List/get/show blobs in a blob container in Storage account. Use this tool to list the blobs in a container or\r\nget details for a specific blob. If no blob specified, lists all blobs present in the container, optionally\r\nfiltering on a prefix. The prefix is ignored if a blob is specified.\r\n\r\nRequired: --account, --container, --subscription\r\nOptional: --blob, --tenant, --prefix\r\n\r\nReturns: blob name, size, lastModified, contentType, contentHash, metadata, and blob properties.\r\nDo not use this tool to list containers in the storage account.", - "command": "storage blob get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--account", - "description": "The name of the Azure Storage account. This is the unique name you chose for your storage account (e.g., 'mystorageaccount').", - "type": "string", - "required": true - }, - { - "name": "--container", - "description": "The name of the container to access within the storage account.", - "type": "string", - "required": true - }, - { - "name": "--blob", - "description": "The name of the blob to access within the container. This should be the full path within the container (e.g., 'file.txt' or 'folder/file.txt').", - "type": "string" - }, - { - "name": "--prefix", - "description": "The prefix to filter blobs when listing blobs in a container. Only blobs whose names start with the specified prefix will be listed.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "aafb82ac-e35a-4800-b362-c642a3ac1e17", - "name": "upload", - "description": "Uploads a local file to an Azure Storage blob, only if the blob does not exist, returning the last modified time,\r\nETag, and content hash of the uploaded blob.", - "command": "storage blob upload", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--account", - "description": "The name of the Azure Storage account. This is the unique name you chose for your storage account (e.g., 'mystorageaccount').", - "type": "string", - "required": true - }, - { - "name": "--container", - "description": "The name of the container to access within the storage account.", - "type": "string", - "required": true - }, - { - "name": "--blob", - "description": "The name of the blob to access within the container. This should be the full path within the container (e.g., 'file.txt' or 'folder/file.txt').", - "type": "string", - "required": true - }, - { - "name": "--local-file-path", - "description": "The local file path to read content from or to write content to. This should be the full path to the file on your local system.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": true - }, - { - "id": "1236ad1d-baf1-4b95-8c1d-420637ce08da", - "name": "list", - "description": "List all tables in an Azure Storage account. Shows table names for the specified storage account. Required: account, subscription. Optional: tenant. Returns: table names. Do not use this tool for Cosmos DB tables or Kusto/Data Explorer tables.", - "command": "storage table list", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--account", - "description": "The name of the Azure Storage account. This is the unique name you chose for your storage account (e.g., 'mystorageaccount').", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "96f096a2-d36f-4361-aa74-4e393e7f48a5", - "name": "changedetection", - "description": "Trigger change detection on a cloud endpoint to sync file changes.", - "command": "storagesync cloudendpoint changedetection", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--name", - "description": "The name of the storage sync service", - "type": "string", - "required": true - }, - { - "name": "--sync-group-name", - "description": "The name of the sync group", - "type": "string", - "required": true - }, - { - "name": "--cloud-endpoint-name", - "description": "The name of the cloud endpoint", - "type": "string", - "required": true - }, - { - "name": "--directory-path", - "description": "Relative path to a directory on the Azure File share for which change detection is to be performed", - "type": "string", - "required": true - }, - { - "name": "--change-detection-mode", - "description": "Change detection mode: 'Default' (directory only) or 'Recursive' (directory and subdirectories). Applies to the directory specified in directory-path", - "type": "string" - }, - { - "name": "--paths", - "description": "Array of relative paths on the Azure File share to be included in change detection. Can be files and directories", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "df0d4ae3-519a-44f1-ad30-d25a0985e9c2", - "name": "create", - "description": "Add a cloud endpoint to a sync group by connecting an Azure File Share. Cloud endpoints represent the Azure storage side of the sync relationship.", - "command": "storagesync cloudendpoint create", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--name", - "description": "The name of the storage sync service", - "type": "string", - "required": true - }, - { - "name": "--sync-group-name", - "description": "The name of the sync group", - "type": "string", - "required": true - }, - { - "name": "--cloud-endpoint-name", - "description": "The name of the cloud endpoint", - "type": "string", - "required": true - }, - { - "name": "--storage-account-resource-id", - "description": "The resource ID of the Azure storage account", - "type": "string", - "required": true - }, - { - "name": "--azure-file-share-name", - "description": "The name of the Azure file share", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "f5e76906-cc2a-41a4-b4f9-498221aaaf2e", - "name": "delete", - "description": "Delete a cloud endpoint from a sync group.", - "command": "storagesync cloudendpoint delete", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--name", - "description": "The name of the storage sync service", - "type": "string", - "required": true - }, - { - "name": "--sync-group-name", - "description": "The name of the sync group", - "type": "string", - "required": true - }, - { - "name": "--cloud-endpoint-name", - "description": "The name of the cloud endpoint", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "25dd8bb3-5ba3-4c0d-993d-54917f63d52e", - "name": "get", - "description": "List all cloud endpoints in a sync group or retrieve details about a specific cloud endpoint. Returns cloud endpoint properties including Azure File Share configuration, storage account details, and provisioning state. Use --cloud-endpoint-name for a specific endpoint.", - "command": "storagesync cloudendpoint get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--name", - "description": "The name of the storage sync service", - "type": "string", - "required": true - }, - { - "name": "--sync-group-name", - "description": "The name of the sync group", - "type": "string", - "required": true - }, - { - "name": "--cloud-endpoint-name", - "description": "The name of the cloud endpoint", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "fe3b07c3-9a11-465e-bfb6-6461b85b2e52", - "name": "get", - "description": "List all registered servers in a Storage Sync service or retrieve details about a specific registered server. Returns server properties including server ID, registration status, agent version, OS version, and last heartbeat. Use --server-id for a specific server.", - "command": "storagesync registeredserver get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--name", - "description": "The name of the storage sync service", - "type": "string", - "required": true - }, - { - "name": "--server-id", - "description": "The ID/name of the registered server", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "346661e1-64be-463a-96c6-3626966f55fa", - "name": "unregister", - "description": "Unregister a server from a Storage Sync service.", - "command": "storagesync registeredserver unregister", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--name", - "description": "The name of the storage sync service", - "type": "string", - "required": true - }, - { - "name": "--server-id", - "description": "The ID/name of the registered server", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "c443ed00-f17f-46a8-a5d3-df128aa1606b", - "name": "update", - "description": "Update properties of a registered server.", - "command": "storagesync registeredserver update", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--name", - "description": "The name of the storage sync service", - "type": "string", - "required": true - }, - { - "name": "--server-id", - "description": "The ID/name of the registered server", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "fcbdf461-6fde-4cfb-a944-4a56a2be90e4", - "name": "create", - "description": "Add a server endpoint to a sync group by specifying a local server path to sync. Server endpoints represent the on-premises side of the sync relationship and include cloud tiering configuration.", - "command": "storagesync serverendpoint create", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--name", - "description": "The name of the storage sync service", - "type": "string", - "required": true - }, - { - "name": "--sync-group-name", - "description": "The name of the sync group", - "type": "string", - "required": true - }, - { - "name": "--server-endpoint-name", - "description": "The name of the server endpoint", - "type": "string", - "required": true - }, - { - "name": "--server-resource-id", - "description": "The resource ID of the registered server", - "type": "string", - "required": true - }, - { - "name": "--server-local-path", - "description": "The local folder path on the server for syncing", - "type": "string", - "required": true - }, - { - "name": "--cloud-tiering", - "description": "Enable cloud tiering on this endpoint", - "type": "string" - }, - { - "name": "--volume-free-space-percent", - "description": "Volume free space percentage to maintain (1-99, default 20)", - "type": "string" - }, - { - "name": "--tier-files-older-than-days", - "description": "Archive files not accessed for this many days", - "type": "string" - }, - { - "name": "--local-cache-mode", - "description": "Local cache mode: DownloadNewAndModifiedFiles, UpdateLocallyCachedFiles", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "ef6c2aa9-bb64-4f94-b18b-018e04b504c9", - "name": "delete", - "description": "Delete a server endpoint from a sync group.", - "command": "storagesync serverendpoint delete", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--name", - "description": "The name of the storage sync service", - "type": "string", - "required": true - }, - { - "name": "--sync-group-name", - "description": "The name of the sync group", - "type": "string", - "required": true - }, - { - "name": "--server-endpoint-name", - "description": "The name of the server endpoint", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "cf197b94-6aa6-403b-8679-3a1ce5440ca3", - "name": "get", - "description": "List all server endpoints in a sync group or retrieve details about a specific server endpoint. Returns server endpoint properties including local path, cloud tiering status, sync health, and provisioning state. Use --name for a specific endpoint.", - "command": "storagesync serverendpoint get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--name", - "description": "The name of the storage sync service", - "type": "string", - "required": true - }, - { - "name": "--sync-group-name", - "description": "The name of the sync group", - "type": "string", - "required": true - }, - { - "name": "--server-endpoint-name", - "description": "The name of the server endpoint", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "7b35bb46-0a34-4e44-9d7c-148e9992b445", - "name": "update", - "description": "Update properties of a server endpoint.", - "command": "storagesync serverendpoint update", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--name", - "description": "The name of the storage sync service", - "type": "string", - "required": true - }, - { - "name": "--sync-group-name", - "description": "The name of the sync group", - "type": "string", - "required": true - }, - { - "name": "--server-endpoint-name", - "description": "The name of the server endpoint", - "type": "string", - "required": true - }, - { - "name": "--cloud-tiering", - "description": "Enable cloud tiering on this endpoint", - "type": "string" - }, - { - "name": "--volume-free-space-percent", - "description": "Volume free space percentage to maintain (1-99, default 20)", - "type": "string" - }, - { - "name": "--tier-files-older-than-days", - "description": "Archive files not accessed for this many days", - "type": "string" - }, - { - "name": "--local-cache-mode", - "description": "Local cache mode: DownloadNewAndModifiedFiles, UpdateLocallyCachedFiles", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "7c76387f-c62e-48d1-af3b-d444d6b3b79c", - "name": "create", - "description": "Create a new Azure Storage Sync service resource in a resource group. This is the top-level service container that manages sync groups, registered servers, and synchronization workflows.", - "command": "storagesync service create", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--name", - "description": "The name of the storage sync service", - "type": "string", - "required": true - }, - { - "name": "--location", - "description": "The Azure region/location name (e.g., EastUS, WestEurope)", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "a7dcf4e2-fd1d-4d0a-acd3-f56ea5eceef6", - "name": "delete", - "description": "Delete an Azure Storage Sync service and all its associated resources.", - "command": "storagesync service delete", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--name", - "description": "The name of the storage sync service", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "77734a55-8290-4c16-8b37-cf37277f018f", - "name": "get", - "description": "Retrieve Azure Storage Sync service details or list all Storage Sync services. Use --name to get a specific service, or omit it to list all services in the subscription or resource group. Shows service properties, location, provisioning state, and configuration.", - "command": "storagesync service get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--name", - "description": "The name of the storage sync service", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "15db4769-1941-4b1e-9514-867b0f68eb2c", - "name": "update", - "description": "Update properties of an existing Azure Storage Sync service.", - "command": "storagesync service update", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--name", - "description": "The name of the storage sync service", - "type": "string", - "required": true - }, - { - "name": "--incoming-traffic-policy", - "description": "Incoming traffic policy for the service (AllowAllTraffic or AllowVirtualNetworksOnly)", - "type": "string" - }, - { - "name": "--tags", - "description": "Tags to assign to the service (space-separated key=value pairs)", - "type": "string" - }, - { - "name": "--identity-type", - "description": "Managed service identity type (None, SystemAssigned, UserAssigned, SystemAssigned,UserAssigned)", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "3572833c-4fc2-4bb9-9eed-52ae8b8899b8", - "name": "create", - "description": "Create a sync group within an existing Storage Sync service. Sync groups define a sync topology and contain cloud endpoints (Azure File Shares) and server endpoints (local server paths) that sync together.", - "command": "storagesync syncgroup create", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--name", - "description": "The name of the storage sync service", - "type": "string", - "required": true - }, - { - "name": "--sync-group-name", - "description": "The name of the sync group", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "c8f91bd7-ea1d-4af4-9703-fe83c43b34b5", - "name": "delete", - "description": "Remove a sync group from a Storage Sync service. Deleting a sync group also removes all associated cloud endpoints and server endpoints within that group.", - "command": "storagesync syncgroup delete", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--name", - "description": "The name of the storage sync service", - "type": "string", - "required": true - }, - { - "name": "--sync-group-name", - "description": "The name of the sync group", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "95ce2336-19e6-40fb-a3ea-e2a76772036b", - "name": "get", - "description": "Get details about a specific sync group or list all sync groups. If --sync-group-name is provided, returns a specific sync group; otherwise, lists all sync groups in the Storage Sync service.", - "command": "storagesync syncgroup get", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--name", - "description": "The name of the storage sync service", - "type": "string", - "required": true - }, - { - "name": "--sync-group-name", - "description": "The name of the sync group", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "72bbe80e-ca42-4a43-8f02-45495bca1179", - "name": "list", - "description": "List all Azure subscriptions for the current account. Returns subscriptionId, displayName, state, tenantId, and isDefault for each subscription. The isDefault field indicates the user's default subscription as resolved from the Azure CLI profile (configured via 'az account set') or, if not set there, from the AZURE_SUBSCRIPTION_ID environment variable. When the user has not specified a subscription, prefer the subscription where isDefault is true. If no default can be determined from either source and multiple subscriptions exist, ask the user which subscription to use.", - "command": "subscription list", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "63de05a7-047d-4f8a-86ea-cebd64527e2b", - "name": "list", - "description": "List all available commands and their tools in a hierarchical structure. This command returns detailed information\r\nabout each command, including its name, description, full command path, available subcommands, and all supported\r\narguments. Use --name-only to return only tool names, and --namespace to filter by specific namespaces.", - "command": "tools list", - "option": [ - { - "name": "--namespace-mode", - "description": "If specified, returns a list of top-level service namespaces instead of individual tools.", - "type": "string" - }, - { - "name": "--namespace", - "description": "Filter tools by namespace (e.g., 'storage', 'keyvault'). Can be specified multiple times to include multiple namespaces.", - "type": "string" - }, - { - "name": "--name-only", - "description": "If specified, returns only tool names without descriptions or metadata.", - "type": "string" - }, - { - "name": "--include-hidden", - "description": "If specified, includes hidden commands in the output.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "6f543101-3c70-41bd-a6ed-5cc4af716081", - "name": "list", - "description": "List all SessionHosts in a hostpool. This command retrieves all Azure Virtual Desktop SessionHost objects available\r\nin the specified --subscription and hostpool. Results include SessionHost details and are\r\nreturned as a JSON array.", - "command": "virtualdesktop hostpool host list", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--hostpool", - "description": "The name of the Azure Virtual Desktop host pool. This is the unique name you chose for your hostpool.", - "type": "string" - }, - { - "name": "--hostpool-resource-id", - "description": "The Azure resource ID of the host pool. When provided, this will be used instead of searching by name.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "1653a208-ac9f-4e51-996f-fe2d29a79b2b", - "name": "user-list", - "description": "List all user sessions on a specific session host in a host pool. This command retrieves all Azure Virtual Desktop\r\nuser session objects available on the specified session host. Results include user session details such as\r\nuser principal name, session state, application type, and creation time.", - "command": "virtualdesktop hostpool host user-list", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--hostpool", - "description": "The name of the Azure Virtual Desktop host pool. This is the unique name you chose for your hostpool.", - "type": "string" - }, - { - "name": "--hostpool-resource-id", - "description": "The Azure resource ID of the host pool. When provided, this will be used instead of searching by name.", - "type": "string" - }, - { - "name": "--sessionhost", - "description": "The name of the session host. This is the computer name of the virtual machine in the host pool.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "bf0ae005-7dfd-4f96-8f45-3d0ba07f81ed", - "name": "list", - "description": "List all hostpools in a subscription or resource group. This command retrieves all Azure Virtual Desktop hostpool objects available\r\nin the specified --subscription. If a resource group is specified, only hostpools in that resource group are returned.\r\nResults include hostpool names and are returned as a JSON array.", - "command": "virtualdesktop hostpool list", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "a7d4e9f2-8c3b-4a1e-9f5d-6b2c8e4a7d3f", - "name": "get", - "description": "Get Azure Well-Architected Framework guidance for a specific Azure service, or list all supported services when no service is specified. When a service is provided, returns architectural best practices, design patterns, and recommendations based on the five pillars: reliability, security, cost optimization, operational excellence, and performance efficiency.\r\nOptional: --service: A single Azure service name. Service name format: case-insensitive; hyphens, underscores, spaces, and name variations allowed; use double quotes (not single quotes) for names with spaces. e.g., cosmos-db, Cosmos_DB, \"Cosmos DB\", cosmosdb, cosmos-database, cosmosdatabase", - "command": "wellarchitectedframework serviceguide get", - "option": [ - { - "name": "--service", - "description": "A single Azure service name. Service name format: case-insensitive; hyphens, underscores, spaces, and name variations allowed; use double quotes (not single quotes) for names with spaces. e.g., cosmos-db, Cosmos_DB, \"Cosmos DB\", cosmosdb, cosmos-database, cosmosdatabase", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "a49c650d-8568-4b63-8bad-35eb6d9ab0a7", - "name": "create", - "description": "Create a new workbook in the specified resource group and subscription.\r\nYou can set the display name and serialized data JSON content for the workbook.\r\nReturns the created workbook information upon successful completion.", - "command": "workbooks create", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - { - "name": "--display-name", - "description": "The display name of the workbook.", - "type": "string", - "required": true - }, - { - "name": "--serialized-content", - "description": "The serialized JSON content of the workbook.", - "type": "string", - "required": true - }, - { - "name": "--source-id", - "description": "The linked resource ID for the workbook. By default, this is 'azure monitor'.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "17bb94ef-9df1-45d2-a1a0-ed57656ca067", - "name": "delete", - "description": "Delete one or more workbooks by their Azure resource IDs.\r\nThis command soft deletes workbooks: they will be retained for 90 days.\r\nIf needed, you can restore them from the Recycle Bin through the Azure Portal.\r\n\r\nBATCH: Accepts multiple --workbook-ids values. Partial failures are reported per-workbook.\r\nIndividual failures do not fail the entire batch operation.\r\n\r\nTo learn more, visit: https://learn.microsoft.com/azure/azure-monitor/visualize/workbooks-manage", - "command": "workbooks delete", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--workbook-ids", - "description": "The Azure Resource IDs of the workbooks to operate on (supports multiple values for batch operations).", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "c4c90435-fbc0-4598-ba82-3b9213d58b26", - "name": "list", - "description": "Search Azure Workbooks using Resource Graph (fast metadata query).\r\n\r\nUSE FOR: Discovery, filtering, counting workbooks across scopes.\r\nRETURNS: Workbook metadata (id, name, location, category, timestamps).\r\nDOES NOT RETURN: Full workbook content (serializedData) by default - use 'show' for that or set --output-format=full.\r\n\r\nSCOPE: By default searches workbooks in your current Azure context (tenant/subscription). Use --subscription and --resource-group to explicitly control scope.\r\nTOTAL COUNT: Returns server-side total count by default (not just returned items).\r\nMAX RESULTS: Default 50, max 1000. Use --max-results to adjust.\r\nOUTPUT FORMAT: Use --output-format=summary for minimal tokens, --output-format=full for serializedData.\r\n\r\nFILTERS: --name-contains, --category, --kind, --source-id, --modified-after for semantic filtering.", - "command": "workbooks list", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--kind", - "description": "Filter workbooks by kind (e.g., 'shared', 'user'). If not specified, all kinds will be returned.", - "type": "string" - }, - { - "name": "--category", - "description": "Filter workbooks by category (e.g., 'workbook', 'sentinel', 'TSG'). If not specified, all categories will be returned.", - "type": "string" - }, - { - "name": "--source-id", - "description": "Filter workbooks by source resource ID (e.g., Application Insights resource, Log Analytics workspace). If not specified, all workbooks will be returned.", - "type": "string" - }, - { - "name": "--name-contains", - "description": "Filter workbooks where display name contains this text (case-insensitive).", - "type": "string" - }, - { - "name": "--modified-after", - "description": "Filter workbooks modified after this date (ISO 8601 format, e.g., '2024-01-15').", - "type": "string" - }, - { - "name": "--output-format", - "description": "Output format: 'summary' (id+name only, minimal tokens), 'standard' (metadata without content, default), 'full' (includes serializedData).", - "type": "string" - }, - { - "name": "--max-results", - "description": "Maximum number of results to return (default: 50, max: 1000).", - "type": "string" - }, - { - "name": "--include-total-count", - "description": "Include total count of all matching workbooks in the response (default: true).", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "a7a882cd-1729-49ed-b349-2a79f8c7de56", - "name": "show", - "description": "Retrieve full workbook details via ARM API (includes serializedData content).\r\n\r\nUSE FOR: Getting complete workbook definition including visualization JSON.\r\nRETURNS: Full workbook properties, serializedData, tags, etag.\r\n\r\nBATCH: Accepts multiple --workbook-ids values. Partial failures reported per-workbook.\r\nPERFORMANCE: Use 'list' first for discovery, then 'show' for specific workbooks.", - "command": "workbooks show", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--workbook-ids", - "description": "The Azure Resource IDs of the workbooks to operate on (supports multiple values for batch operations).", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "9efdc32c-22bc-4b85-8b5c-2fbefc0e927e", - "name": "update", - "description": "Updates properties of an existing Azure Workbook by adding new steps, modifying content, or changing the display name. Returns the updated workbook details. Requires the workbook resource ID and either new serialized content or a new display name.", - "command": "workbooks update", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--workbook-id", - "description": "The Azure Resource ID of the workbook to retrieve.", - "type": "string", - "required": true - }, - { - "name": "--display-name", - "description": "The display name of the workbook.", - "type": "string" - }, - { - "name": "--serialized-content", - "description": "The JSON serialized content/data of the workbook.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - } -] +{ + "commonOptions": { + "--auth-method": { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + "--filesystem-name": { + "name": "--filesystem-name", + "description": "The name of the Azure Managed Lustre filesystem", + "type": "string", + "required": true + }, + "--learn": { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + }, + "--name": { + "name": "--name", + "description": "The name of the storage sync service", + "type": "string", + "required": true + }, + "--resource-group": { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string", + "required": true + }, + "--retry-delay": { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + "--retry-max-delay": { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + "--retry-max-retries": { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + "--retry-mode": { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + "--retry-network-timeout": { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + "--server": { + "name": "--server", + "description": "The Azure SQL Server name.", + "type": "string", + "required": true + }, + "--subscription": { + "name": "--subscription", + "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", + "type": "string" + }, + "--tenant": { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + "--vault": { + "name": "--vault", + "description": "The name of the backup vault (Recovery Services vault or Backup vault).", + "type": "string", + "required": true + }, + "--vault-type": { + "name": "--vault-type", + "description": "The type of backup vault: 'rsv' (Recovery Services vault) or 'dpp' (Backup vault / Data Protection). Required for vault create; optional elsewhere (auto-detected if omitted).", + "type": "string" + } + }, + "tools": [ + { + "id": "796f8778-2fa7-4343-87ad-06bdcf6b296c", + "name": "list", + "description": "List Azure Container Registries in a subscription. Optionally filter by resource group. Each registry result\r\nincludes: name, location, loginServer, skuName, skuTier. If no registries are found the tool returns null results\r\n(consistent with other list commands).", + "command": "acr registry list", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "adc6eb20-ad98-4624-954d-61581f6fbca9", + "name": "list", + "description": "List repositories in Azure Container Registries. By default, lists repositories for all registries in the subscription.\r\nYou can narrow the scope using --resource-group and/or --registry to list repositories for a specific registry only.", + "command": "acr registry repository list", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--registry", + "description": "The name of the Azure Container Registry. This is the unique name you chose for your container registry.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "e3f09221-523a-4107-a715-823cebd97902", + "name": "list", + "description": "List Azure advisor recommendations in a subscription.", + "command": "advisor recommendation list", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "34e0d3d3-cbc5-4df8-8244-1439b97f3de5", + "name": "get", + "description": "List/enumerate all AKS (Azure Kubernetes Service) clusters in a subscription. Get/retrieve/show the details of a specific cluster if a name is provided.", + "command": "aks cluster get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--cluster", + "description": "AKS Cluster name.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "9abb0904-2ffc-4aab-b4ea-fc454b6351b1", + "name": "get", + "description": "List/enumerate all AKS (Azure Kubernetes Service) node pools in a cluster. Get/retrieve/show the details of a specific node pool if a name is provided.", + "command": "aks nodepool get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--cluster", + "description": "AKS Cluster name.", + "type": "string", + "required": true + }, + { + "name": "--nodepool", + "description": "AKS node pool (agent pool) name.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "e403c988-b57b-4ac1-afb7-25ba3fdd6e6a", + "name": "list", + "description": "List all App Configuration stores in a subscription. This command retrieves and displays all App Configuration\r\nstores available in the specified subscription. Results include store names returned as a JSON array.", + "command": "appconfig account list", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "f885a499-82ec-4897-a788-fb6b4615ab06", + "name": "delete", + "description": "Delete a key-value pair from an App Configuration store. This command removes the specified key-value pair from the store.\r\nIf a label is specified, only the labeled version is deleted. If no label is specified, the key-value with the matching\r\nkey and the default label will be deleted.", + "command": "appconfig kv delete", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--account", + "description": "The name of the App Configuration store (e.g., my-appconfig).", + "type": "string", + "required": true + }, + { + "name": "--key", + "description": "The name of the key to access within the App Configuration store.", + "type": "string", + "required": true + }, + { + "name": "--label", + "description": "The label to apply to the configuration key. Labels are used to group and organize settings.", + "type": "string" + }, + { + "name": "--content-type", + "description": "The content type of the configuration value. This is used to indicate how the value should be interpreted or parsed.", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "abc28800-ae4a-4369-9ec0-2653a578e82a", + "name": "get", + "description": "Gets key-values in an App Configuration store. This command can either retrieve a specific key-value by its key\r\nand optional label, or list key-values if no key is provided. Listing key-values can optionally be filtered by a\r\nkey filter and label filter. Each key-value includes its key, value, label, content type, ETag, last modified time,\r\nand lock status.", + "command": "appconfig kv get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--account", + "description": "The name of the App Configuration store (e.g., my-appconfig).", + "type": "string", + "required": true + }, + { + "name": "--key", + "description": "The name of the key to access within the App Configuration store.", + "type": "string" + }, + { + "name": "--label", + "description": "The label to apply to the configuration key. Labels are used to group and organize settings.", + "type": "string" + }, + { + "name": "--key-filter", + "description": "Specifies the key filter, if any, to be used when retrieving key-values. The filter can be an exact match, for example a filter of 'foo' would get all key-values with a key of 'foo', or the filter can include a '*' character at the end of the string for wildcard searches (e.g., 'App*'). If omitted all keys will be retrieved.", + "type": "string" + }, + { + "name": "--label-filter", + "description": "Specifies the label filter, if any, to be used when retrieving key-values. The filter can be an exact match, for example a filter of 'foo' would get all key-values with a label of 'foo', or the filter can include a '*' character at the end of the string for wildcard searches (e.g., 'Prod*'). This filter is case-sensitive. If omitted, all labels will be retrieved.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "b48fd781-d74a-4dfd-a29c-421ded9a6ce9", + "name": "set", + "description": "Sets the lock state of a key-value in an App Configuration store. This command can lock and unlock key-values.\r\nLocking sets a key-value to read-only mode, preventing any modifications to its value. Unlocking removes the\r\nread-only mode from a key-value setting, allowing modifications to its value. You must specify an account name\r\nand key. Optionally, you can specify a label to lock or unlock a specific labeled version of the key-value.\r\nDefault is unlocking the key-value.", + "command": "appconfig kv lock set", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--account", + "description": "The name of the App Configuration store (e.g., my-appconfig).", + "type": "string", + "required": true + }, + { + "name": "--key", + "description": "The name of the key to access within the App Configuration store.", + "type": "string", + "required": true + }, + { + "name": "--label", + "description": "The label to apply to the configuration key. Labels are used to group and organize settings.", + "type": "string" + }, + { + "name": "--content-type", + "description": "The content type of the configuration value. This is used to indicate how the value should be interpreted or parsed.", + "type": "string" + }, + { + "name": "--lock", + "description": "Whether a key-value will be locked (set to read-only) or unlocked (read-only removed).", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "a89086eb-acf4-4168-9d32-de5cd7384030", + "name": "set", + "description": "Set a key-value setting in an App Configuration store. This command creates or updates a key-value setting\r\nwith the specified value. You must specify an account name, key, and value. Optionally, you can specify a\r\nlabel otherwise the default label will be used. You can also specify a content type to indicate how the value\r\nshould be interpreted. You can add tags in the format 'key=value' to associate metadata with the setting.", + "command": "appconfig kv set", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--account", + "description": "The name of the App Configuration store (e.g., my-appconfig).", + "type": "string", + "required": true + }, + { + "name": "--key", + "description": "The name of the key to access within the App Configuration store.", + "type": "string", + "required": true + }, + { + "name": "--label", + "description": "The label to apply to the configuration key. Labels are used to group and organize settings.", + "type": "string" + }, + { + "name": "--content-type", + "description": "The content type of the configuration value. This is used to indicate how the value should be interpreted or parsed.", + "type": "string" + }, + { + "name": "--value", + "description": "The value to set for the configuration key.", + "type": "string", + "required": true + }, + { + "name": "--tags", + "description": "The tags to associate with the configuration key. Tags should be in the format 'key=value'. Multiple tags can be specified.", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "92fb5b7d-f1d7-4834-a61a-e170ad8594ac", + "name": "diagnose", + "description": "Get diagnostic help from App Lens for Azure application and service issues to identify what's wrong with a service. Ask questions about performance, slowness, failures, errors, application state, availability to receive expert analysis and solutions which can help when performing diagnostics and to address issues about performance and failures. Returns analysis, insights, and recommended solutions. Always use this tool before manually checking metrics or logs when users report performance or functionality issues. Only the resource name and question are required - subscription, resource group, and resource type are optional and used to narrow down results when multiple resources share the same name.", + "command": "applens resource diagnose", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--learn" + ], + "options": [ + { + "name": "--subscription", + "description": "Azure subscription ID or name. Provide this when disambiguating between multiple resources of the same name.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "Azure resource group name. Provide this when disambiguating between multiple resources of the same name.", + "type": "string" + }, + { + "name": "--resource-type", + "description": "Resource type. Provide this when disambiguating between multiple resources of the same name.", + "type": "string" + }, + { + "name": "--resource", + "description": "The name of the resource to investigate or diagnose", + "type": "string", + "required": true + }, + { + "name": "--question", + "description": "User question", + "type": "string", + "required": true + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "8d259f21-43b3-4962-bec8-de616b8b5f0d", + "name": "list", + "description": "List Application Insights Code Optimization Recommendations in a subscription. Optionally filter by resource group when --resource-group is provided.\r\nReturns the code optimization recommendations based on the profiler data.", + "command": "applicationinsights recommendation list", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "14be1264-82c8-4a4c-8271-7cfe1fbebbc8", + "name": "add", + "description": "Add a database connection for an App Service using connection string for an existing database. This command configures database connection\r\nsettings for the specified App Service, allowing it to connect to a database server name. You must specify the App Service name, database name,\r\ndatabase type, database server name, connection string, resource group name and subscription.", + "command": "appservice database add", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--app", + "description": "The name of the Azure App Service (e.g., my-webapp).", + "type": "string", + "required": true + }, + { + "name": "--database-type", + "description": "The type of database (e.g., SqlServer, MySQL, PostgreSQL, CosmosDB).", + "type": "string", + "required": true + }, + { + "name": "--database-server", + "description": "The server name or endpoint for the database (e.g., myserver.database.windows.net).", + "type": "string", + "required": true + }, + { + "name": "--database", + "description": "The name of the database to connect to (e.g., mydb).", + "type": "string", + "required": true + }, + { + "name": "--connection-string", + "description": "The connection string for the database. If not provided, a default will be generated.", + "type": "string" + } + ], + "destructive": false, + "idempotent": false, + "openWorld": true, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "8d9cd2af-cd79-4101-968b-501d9f0b217c", + "name": "change-state", + "description": "Updates the running state of an Azure App Service web app using one of the following states:\r\n\r\n- \"start\": Starts a stopped web app.\r\n- \"stop\": Stops a running web app.\r\n- \"restart\": Restarts a running web app.\r\n\r\nRestart has additional options to specify whether to perform a soft restart and whether to synchronously wait\r\nfor the restart to complete before returning.\r\n\r\nReturns a message indicating the result of the operation.", + "command": "appservice webapp change-state", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--app", + "description": "The name of the Azure App Service (e.g., my-webapp).", + "type": "string", + "required": true + }, + { + "name": "--state-change", + "description": "The state change action to perform. Valid values are: start, stop, restart.", + "type": "string", + "required": true + }, + { + "name": "--soft-restart", + "description": "When state-change is restart, indicates whether to perform a soft restart.", + "type": "string" + }, + { + "name": "--wait-for-completion", + "description": "When state-change is restart, indicates whether to synchronously wait for the state change operation to complete before returning.", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "17c59409-5382-4419-aef4-0058ffe2c6ec", + "name": "get", + "description": "Retrieves detailed information about Azure App Service web app deployments, including deployment name,\r\nif deployment is actively happening, when the deployment started and ended, who authored and deployed the\r\ndeployment, and the type of deployment. If a specific deployment ID is not provided, the command will return\r\ndetails for all deployments in the web app. You can specify a deployment ID to get details for a specific\r\ndeployment.", + "command": "appservice webapp deployment get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--app", + "description": "The name of the Azure App Service (e.g., my-webapp).", + "type": "string", + "required": true + }, + { + "name": "--deployment-id", + "description": "The ID of the deployment.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "a8aa0966-4c0c-4e22-8854-cced583f0fb2", + "name": "diagnose", + "description": "Runs a specific diagnostic detector on an App Service Web App to troubleshoot issues with performance, availability,\r\nconfiguration, or errors. Returns detailed analysis results including insights and recommendations. Use this to investigate\r\nwhy a web app is slow, failing, restarting, or unhealthy. Requires a detector ID from 'azmcp appservice webapp diagnostic list'.\r\nSupports optional time range filtering for historical analysis.", + "command": "appservice webapp diagnostic diagnose", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--app", + "description": "The name of the Azure App Service (e.g., my-webapp).", + "type": "string", + "required": true + }, + { + "name": "--detector-id", + "description": "The ID of the diagnostic detector to run. Use the 'id' field from 'azmcp appservice webapp diagnostic list' output (e.g., LinuxContainerRecycle, LinuxMemoryDrillDown).", + "type": "string", + "required": true + }, + { + "name": "--start-time", + "description": "The start time in ISO format (e.g., 2023-01-01T00:00:00Z).", + "type": "string" + }, + { + "name": "--end-time", + "description": "The end time in ISO format (e.g., 2023-01-01T00:00:00Z).", + "type": "string" + }, + { + "name": "--interval", + "description": "The time interval (e.g., PT1H for 1 hour, PT5M for 5 minutes).", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "7807fdb6-4b92-4361-8042-be61dd342e17", + "name": "list", + "description": "Lists all available diagnostic detectors for an App Service Web App. Use this to discover which diagnostics\r\nare available before running a specific detector. Returns the detector ID, name, type, description, category,\r\nand analysis types for each detector. Useful for troubleshooting app service issues, checking available\r\nhealth checks, and finding the right detector for performance, availability, or configuration analysis.", + "command": "appservice webapp diagnostic list", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--app", + "description": "The name of the Azure App Service (e.g., my-webapp).", + "type": "string", + "required": true + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "4412f1af-16e7-46db-8305-33e3d7ae06de", + "name": "get", + "description": "Retrieves detailed information about Azure App Service web apps, including app name, resource group, location,\r\nstate, hostnames, etc. If a specific app name is not provided, the command will return details for all web apps\r\nin a subscription or resource group in a subscription. You can specify the app name, resource group name, and\r\nsubscription to get details for a specific web app.", + "command": "appservice webapp get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--app", + "description": "The name of the Azure App Service (e.g., my-webapp).", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "825ef21f-392f-4cd4-8272-7e7dce12e293", + "name": "get-appsettings", + "description": "Retrieves the application settings for an App Service web app, returning key-value pairs that represent the\r\nsetting. Application settings may contain sensitive information.", + "command": "appservice webapp settings get-appsettings", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--app", + "description": "The name of the Azure App Service (e.g., my-webapp).", + "type": "string", + "required": true + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": true, + "localRequired": false + }, + { + "id": "08ca52a3-f766-4c62-9597-702f629efaf6", + "name": "update-appsettings", + "description": "Updates the application setting for an App Service web app. Three types of updating are available:\r\n\r\n- Add: adds a new application setting with the specified name and value. If the application setting already exists, the operation will fail and return an error message.\r\n- Set: sets the value of an application setting. If the application setting does not exist, this is equivalent to add. If the application setting already exists, the value will be overwritten.\r\n- Delete: deletes an application setting with the specified name. If the application setting does not exist, nothing happens.\r\n\r\nFor add and set update types, both the application setting name and value are required. For delete update type, only the application setting name is required.", + "command": "appservice webapp settings update-appsettings", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--app", + "description": "The name of the Azure App Service (e.g., my-webapp).", + "type": "string", + "required": true + }, + { + "name": "--setting-name", + "description": "The name of the application setting.", + "type": "string", + "required": true + }, + { + "name": "--setting-value", + "description": "The value of the application setting. Required for add and set update types.", + "type": "string" + }, + { + "name": "--setting-update-type", + "description": "The type of update to perform on the application setting. Valid values are: add, set, delete.", + "type": "string", + "required": true + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "f5612c55-054d-4fd8-964c-952e8e6b87f8", + "name": "status", + "description": "Checks the backup status of an Azure resource and returns whether it is protected,\r\nalong with vault and policy details. Use this to verify if a VM, disk, storage account,\r\nor other datasource is currently backed up. Requires the datasource ARM resource ID\r\nand the Azure region (location) where the resource exists.", + "command": "azurebackup backup status", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--datasource-id", + "description": "The datasource identifier. For VM/FileShare/DPP workloads, use the ARM resource ID (e.g., '/subscriptions/.../virtualMachines/myvm'). For RSV in-guest workloads (SQL/SAPHANA), use the protectable item name from 'protectableitem list' (e.g., 'SAPHanaDatabase;instance;dbname').", + "type": "string", + "required": true + }, + { + "name": "--location", + "description": "The Azure region (e.g., 'eastus', 'westus2').", + "type": "string", + "required": true + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "917b66e5-483f-43ac-9620-9403e1689dbe", + "name": "enable-crr", + "description": "Enables Cross-Region Restore on a GRS-enabled vault.", + "command": "azurebackup disasterrecovery enable-crr", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--vault", + "--vault-type", + "--learn" + ], + "options": [], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "73b050ca-2e20-448c-a76c-08e8cd5bbe25", + "name": "find-unprotected", + "description": "Scans the subscription to find Azure resources that are not currently protected by any\r\nbackup policy. Optionally filter by resource type, resource group, or tags.", + "command": "azurebackup governance find-unprotected", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--resource-type-filter", + "description": "Resource types to filter (comma-separated).", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--tag-filter", + "description": "Tag-based filter in key=value format (e.g., 'environment=production').", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "a0ac7596-9a80-4b53-b459-06f27598a2e2", + "name": "immutability", + "description": "Configures the immutability state for a backup vault. States include 'Disabled', 'Enabled',\r\nor 'Locked'. Warning: 'Locked' state is irreversible.", + "command": "azurebackup governance immutability", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--vault", + "--vault-type", + "--learn" + ], + "options": [ + { + "name": "--immutability-state", + "description": "Immutability state: 'Disabled', 'Enabled', or 'Locked' (irreversible).", + "type": "string", + "required": true + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "b3f1ea2d-5535-4155-849c-61f2fc49f1d9", + "name": "soft-delete", + "description": "Configures the soft delete settings for a backup vault. Set the state to 'AlwaysOn', 'On',\r\nor 'Off', and optionally specify the retention period in days (14-180).", + "command": "azurebackup governance soft-delete", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--vault", + "--vault-type", + "--learn" + ], + "options": [ + { + "name": "--soft-delete", + "description": "Soft delete state: 'AlwaysOn', 'On', or 'Off'.", + "type": "string", + "required": true + }, + { + "name": "--soft-delete-retention-days", + "description": "Soft delete retention period (14-180 days).", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "f1291650-8ff2-413c-8001-e4b33f157a3b", + "name": "get", + "description": "Retrieves backup job information. When --job is specified, returns detailed information\r\nabout a single job including operation type, status, start/end times, error codes, and\r\ndatasource details. When omitted, lists all backup jobs in the vault.", + "command": "azurebackup job get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--vault", + "--vault-type", + "--learn" + ], + "options": [ + { + "name": "--job", + "description": "The backup job ID.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "bc5e600b-c414-4bce-8b7d-a6021cfd3d23", + "name": "create", + "description": "Creates a backup policy for a specified workload type with schedule and retention rules.", + "command": "azurebackup policy create", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--vault", + "--vault-type", + "--learn" + ], + "options": [ + { + "name": "--policy", + "description": "The name of the backup policy.", + "type": "string", + "required": true + }, + { + "name": "--workload-type", + "description": "Workload type: VM, SQL, SAPHANA, SAPASE, AzureFileShare (RSV types); AzureDisk, AzureBlob, AKS, ElasticSAN, PostgreSQLFlexible, ADLS, CosmosDB (DPP types). Also accepts aliases like AzureVM, SQLDatabase, etc.", + "type": "string", + "required": true + }, + { + "name": "--schedule-time", + "description": "Backup time in UTC (e.g., '02:00').", + "type": "string" + }, + { + "name": "--daily-retention-days", + "description": "Daily recovery point retention in days. Defaults to datasource-specific value if omitted.", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "5f7ef3ae-72f3-4fe8-bd1e-ea56e4db86df", + "name": "get", + "description": "Retrieves backup policy information. When --policy is specified, returns detailed\r\ninformation about a single policy including datasource types and protected items count.\r\nWhen omitted, lists all backup policies configured in the vault.", + "command": "azurebackup policy get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--vault", + "--vault-type", + "--learn" + ], + "options": [ + { + "name": "--policy", + "description": "The name of the backup policy.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "a3f7d2c1-9e84-4b6a-8d3c-5f1e7a2b9c04", + "name": "update", + "description": "Modifies an existing RSV backup policy. Updates the backup schedule time and daily retention days for VM, SQL, SAP HANA, and file share workload policies. The named policy must already exist in the vault.", + "command": "azurebackup policy update", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--vault", + "--vault-type", + "--learn" + ], + "options": [ + { + "name": "--policy", + "description": "The name of the backup policy.", + "type": "string", + "required": true + }, + { + "name": "--schedule-time", + "description": "Backup time in UTC (e.g., '02:00').", + "type": "string" + }, + { + "name": "--daily-retention-days", + "description": "Daily recovery point retention in days. Defaults to datasource-specific value if omitted.", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "9f6b0a1e-1c2d-4e5f-8a9b-7c6d5e4f3a21", + "name": "list", + "description": "Lists items that can be backed up (protectable items) in a Recovery Services vault,\r\nsuch as SQL databases and SAP HANA databases discovered on registered VMs.\r\nUse this to find databases and workloads available for backup protection.\r\nOnly supported for RSV vaults; DPP datasources are protected by ARM resource ID directly.\r\nFilter results by --workload-type (e.g., SQL, SAPHana) or --container.", + "command": "azurebackup protectableitem list", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--vault", + "--vault-type", + "--learn" + ], + "options": [ + { + "name": "--workload-type", + "description": "Workload type: VM, SQL, SAPHANA, SAPASE, AzureFileShare (RSV types); AzureDisk, AzureBlob, AKS, ElasticSAN, PostgreSQLFlexible, ADLS, CosmosDB (DPP types). Also accepts aliases like AzureVM, SQLDatabase, etc.", + "type": "string" + }, + { + "name": "--container", + "description": "The RSV protection container name. Only applicable for Recovery Services vaults.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "bc985e4f-8945-447a-9aba-ef13df309001", + "name": "get", + "description": "Retrieves protected item information. When --protected-item is specified, returns\r\ndetailed information about a single backup instance including protection status,\r\ndatasource details, policy assignment, and last backup time. Specify --container\r\nfor RSV workload items. When --protected-item is omitted, lists all protected items\r\n(backup instances) in the vault.", + "command": "azurebackup protecteditem get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--vault", + "--vault-type", + "--learn" + ], + "options": [ + { + "name": "--protected-item", + "description": "The name of the protected item or backup instance.", + "type": "string" + }, + { + "name": "--container", + "description": "The RSV protection container name. Only applicable for Recovery Services vaults.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "7a6fc193-ca3c-4309-97c5-ee1e7fe90e69", + "name": "protect", + "description": "Enables or configures backup protection for an Azure resource by creating a\r\nprotected item or backup instance. Protects VMs, disks, file shares, SQL databases,\r\nSAP HANA databases, and other supported datasources.\r\nFor VMs: pass the VM ARM resource ID as --datasource-id.\r\nFor workloads (SQL/HANA): pass the protectable item name from 'protectableitem list'\r\nas --datasource-id (e.g., 'SAPHanaDatabase;instance;dbname'), and specify --container.\r\nRequires a backup policy name via --policy. The operation is asynchronous;\r\nuse 'azurebackup job get' to monitor the protection job progress.", + "command": "azurebackup protecteditem protect", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--vault", + "--vault-type", + "--learn" + ], + "options": [ + { + "name": "--datasource-id", + "description": "The datasource identifier. For VM/FileShare/DPP workloads, use the ARM resource ID (e.g., '/subscriptions/.../virtualMachines/myvm'). For RSV in-guest workloads (SQL/SAPHANA), use the protectable item name from 'protectableitem list' (e.g., 'SAPHanaDatabase;instance;dbname').", + "type": "string", + "required": true + }, + { + "name": "--policy", + "description": "The name of the backup policy.", + "type": "string", + "required": true + }, + { + "name": "--container", + "description": "The RSV protection container name. Only applicable for Recovery Services vaults.", + "type": "string" + }, + { + "name": "--datasource-type", + "description": "The workload type hint: VM, SQL, SAPHANA, SAPASE, AzureFileShare (RSV types); AzureDisk, AzureBlob, AKS, ElasticSAN, PostgreSQLFlexible, ADLS, CosmosDB (DPP types). Also accepts aliases like AzureVM, SQLDatabase, etc.", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "d8e3a1b7-5c42-4f9e-b6d1-7a2e9c3f4b58", + "name": "undelete", + "description": "Undeletes or restores a soft-deleted backup item to an active protection state.\r\nUse this when a backup or protected item was accidentally deleted and needs to be recovered.\r\nFor RSV vaults: pass the datasource ARM resource ID as --datasource-id.\r\nFor DPP vaults: pass the datasource ARM resource ID as --datasource-id.\r\nOptionally specify --container for RSV workload items (SQL/HANA).\r\nThe operation is asynchronous; use 'azurebackup job get' to monitor progress.", + "command": "azurebackup protecteditem undelete", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--vault", + "--vault-type", + "--learn" + ], + "options": [ + { + "name": "--datasource-id", + "description": "The datasource identifier. For VM/FileShare/DPP workloads, use the ARM resource ID (e.g., '/subscriptions/.../virtualMachines/myvm'). For RSV in-guest workloads (SQL/SAPHANA), use the protectable item name from 'protectableitem list' (e.g., 'SAPHanaDatabase;instance;dbname').", + "type": "string", + "required": true + }, + { + "name": "--container", + "description": "The RSV protection container name. Only applicable for Recovery Services vaults.", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "e930bbb6-b495-454b-bae4-46b9da14eb1c", + "name": "get", + "description": "Retrieves recovery point information for a protected item. When --recovery-point is\r\nspecified, returns detailed information about a single recovery point including time\r\nand type. When omitted, lists all available recovery points for the protected item.", + "command": "azurebackup recoverypoint get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--vault", + "--vault-type", + "--learn" + ], + "options": [ + { + "name": "--protected-item", + "description": "The name of the protected item or backup instance.", + "type": "string", + "required": true + }, + { + "name": "--container", + "description": "The RSV protection container name. Only applicable for Recovery Services vaults.", + "type": "string" + }, + { + "name": "--recovery-point", + "description": "The recovery point ID.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "1dccdb24-d81c-4bde-9437-577a7bd0cf09", + "name": "create", + "description": "Creates a new backup vault. Specify --vault-type as 'rsv' for a Recovery Services vault\r\nor 'dpp' for a Backup vault (Data Protection). For DPP vaults a System-Assigned\r\nManaged Identity is enabled by default so the vault can authenticate to protected\r\ndatasources (storage accounts, disks, PG Flex, etc.) - change later with\r\n'azurebackup vault update --identity-type ...' if needed. Returns the created\r\nvault details.", + "command": "azurebackup vault create", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--vault", + "--vault-type", + "--learn" + ], + "options": [ + { + "name": "--location", + "description": "The Azure region (e.g., 'eastus', 'westus2').", + "type": "string", + "required": true + }, + { + "name": "--sku", + "description": "The vault SKU.", + "type": "string" + }, + { + "name": "--storage-type", + "description": "Storage redundancy: 'GeoRedundant', 'LocallyRedundant', or 'ZoneRedundant'.", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "4a1084d5-50d9-489f-9e4c-acc594441b1f", + "name": "get", + "description": "Retrieves backup vault information. When --vault and --resource-group are specified,\r\nreturns detailed information about a single vault including type, location, SKU, and\r\nstorage redundancy. When omitted, lists all backup vaults (RSV and Backup vaults) in\r\nthe subscription. Optionally filter by --vault-type ('rsv' or 'dpp') and/or\r\n--resource-group to narrow the listing results.", + "command": "azurebackup vault get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--vault-type", + "--learn" + ], + "options": [ + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--vault", + "description": "The name of the backup vault (Recovery Services vault or Backup vault).", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "da7f163e-471c-4d7d-ae00-d41f5f4b939e", + "name": "update", + "description": "Updates vault-level settings including storage redundancy, soft delete, immutability, and managed identity.", + "command": "azurebackup vault update", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--vault", + "--vault-type", + "--learn" + ], + "options": [ + { + "name": "--redundancy", + "description": "Storage redundancy: 'GeoRedundant', 'LocallyRedundant', 'ZoneRedundant', or 'ReadAccessGeoZoneRedundant'.", + "type": "string" + }, + { + "name": "--soft-delete", + "description": "Soft delete state: 'AlwaysOn', 'On', or 'Off'.", + "type": "string" + }, + { + "name": "--soft-delete-retention-days", + "description": "Soft delete retention period (14-180 days).", + "type": "string" + }, + { + "name": "--immutability-state", + "description": "Immutability state: 'Disabled', 'Enabled', or 'Locked' (irreversible).", + "type": "string" + }, + { + "name": "--identity-type", + "description": "Managed identity type: 'SystemAssigned', 'UserAssigned', or 'None'.", + "type": "string" + }, + { + "name": "--tags", + "description": "Resource tags as JSON key-value object.", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "d4e8c9b2-5f3a-4d1c-8b7e-2a9f1c6d5e4b", + "name": "getguidance", + "description": "Get how-to guidance for modifying, configuring, or customizing an existing Platform Landing Zone.\r\nUse this tool when user asks \"how do I\", \"show me how to\", \"get guidance for\", or asks about \r\ndisabling, enabling, turning off, changing, or modifying Landing Zone settings.\r\n\r\n**Use this tool for questions about:**\r\n- How to turn off or disable Bastion, DDoS, DNS, gateways, Defender, or monitoring\r\n- How to change IP addresses, CIDR ranges, network topology, or regions\r\n- How to modify policies, enable zero trust, or update management groups\r\n- How to change resource naming patterns or conventions\r\n- Finding or searching for specific policies within a Landing Zone\r\n- Listing all available policies by archetype\r\n\r\n**Available scenarios:**\r\n- bastion: Turn off Bastion host\r\n- ddos: Enable or disable DDoS protection plan\r\n- dns: Turn off Private DNS zones and resolvers\r\n- gateways: Turn off Virtual Network Gateways (VPN/ExpressRoute)\r\n- ip-addresses: Adjust CIDR ranges and IP address space\r\n- regions: Add or remove secondary regions\r\n- resource-names: Update resource naming prefixes and suffixes\r\n- management-groups: Customize management group names and IDs\r\n- policy-enforcement: Change policy enforcement mode to DoNotEnforce\r\n- policy-assignment: Remove or disable a policy assignment\r\n- ama: Turn off Azure Monitoring Agent\r\n- amba: Deploy Azure Monitoring Baseline Alerts\r\n- defender: Turn off Defender Plans\r\n- zero-trust: Implement Zero Trust Networking\r\n- slz: Implement Sovereign Landing Zone controls\r\n\r\n**For policy searches:**\r\n- Use policy-name to search for a specific policy\r\n- Use list-policies=true to list ALL policies by archetype", + "command": "azuremigrate platformlandingzone getguidance", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--learn" + ], + "options": [ + { + "name": "--scenario", + "description": "The modification scenario key. Valid values: resource-names, management-groups, ddos, bastion, dns, gateways, regions, ip-addresses, policy-enforcement, policy-assignment, ama, amba, defender, zero-trust, slz.", + "type": "string", + "required": true + }, + { + "name": "--policy-name", + "description": "The policy assignment name to look up (e.g., 'Enable-DDoS-VNET'). Used with policy-enforcement or policy-assignment scenarios.", + "type": "string" + }, + { + "name": "--list-policies", + "description": "Set to true to list all available policies organized by archetype. Useful for finding the exact policy name.", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": true, + "readOnly": false, + "secret": false, + "localRequired": true + }, + { + "id": "a7f3b8c1-9e2d-4f6a-8b3c-5d1e7f9a2c4b", + "name": "request", + "description": "Generate and download platform landing zone configurations for Azure Migrate projects.\r\nUpdates parameters, check existing landing zones, and view parameters status.\r\n\r\n**Actions:**\r\n- createmigrateproject: Create a new Azure Migrate project if one doesn't exist (requires location parameter)\r\n- check: Check if a platform landing zone already exists\r\n- update: Update all parameters for generation (collect ALL params in one call)\r\n- generate: Generate the platform landing zone\r\n- download: Download generated files to local workspace\r\n- status: View cached parameters\r\n\r\n**Context (required for most actions):**\r\n- subscription, resourceGroup, migrateProjectName\r\n\r\n**Create Azure Migrate Parameters (for 'createmigrateproject' action):**\r\n- subscription, resourceGroup, migrateProjectName, location\r\n\r\n**Generation Parameters (for 'update' action - collect ALL at once from user):**\r\n| Parameter | Options | Default |\r\n|-----------|---------|----------|\r\n| regionType | single, multi | single |\r\n| firewallType | azurefirewall, nva | azurefirewall |\r\n| networkArchitecture | hubspoke, vwan | hubspoke |\r\n| versionControlSystem | local, github, azuredevops | local |\r\n| regions | comma-separated (e.g., eastus,westus) | eastus |\r\n| environmentName | any string | prod |\r\n| organizationName | any string | contoso |\r\n| identitySubscriptionId | GUID | (uses main subscription) |\r\n| managementSubscriptionId | GUID | (uses main subscription) |\r\n| connectivitySubscriptionId | GUID | (uses main subscription) |\r\n\r\n**Workflow:**\r\n1. Ask the user if they want to create a new Azure Migrate project or use an existing one. If creating, collect location parameter and create the project.\r\n2. action='createmigrateproject' - Create a new Azure Migrate project only if the user doesn't have one already. Requires location parameter.\r\n3. action='check' - See if one already exists\r\n4. action='update' with ALL parameters - Ask user to confirm defaults or provide values\r\n5. action='generate' - Create the landing zone\r\n6. action='download' - Get the files\r\n7. Extract zip to workspace root\r\n\r\n**IMPORTANT:** When using 'update', collect ALL parameters from the user in ONE call.\r\nShow them the defaults and ask which ones they want to change.", + "command": "azuremigrate platformlandingzone request", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--action", + "description": "The action to perform: 'update' (set parameters), 'check' (check existing platform landing zone), 'generate' (generate platform landing zone), 'download' (get download instructions), 'status' (view parameter status).", + "type": "string", + "required": true + }, + { + "name": "--region-type", + "description": "The region type for the Platform Landing Zone. Valid values: 'single', 'multi'.", + "type": "string" + }, + { + "name": "--firewall-type", + "description": "The firewall type for the Platform Landing Zone. Valid values: 'azurefirewall', 'nva'.", + "type": "string" + }, + { + "name": "--network-architecture", + "description": "The network architecture for the Platform Landing Zone. Valid values: 'hubspoke', 'vwan'.", + "type": "string" + }, + { + "name": "--identity-subscription-id", + "description": "The Azure subscription ID for the identity management group in Platform Landing Zone (GUID format).", + "type": "string" + }, + { + "name": "--management-subscription-id", + "description": "The Azure subscription ID for the management group in Platform Landing Zone (GUID format).", + "type": "string" + }, + { + "name": "--connectivity-subscription-id", + "description": "The Azure subscription ID for the connectivity group in Platform Landing Zone (GUID format).", + "type": "string" + }, + { + "name": "--security-subscription-id", + "description": "The Azure subscription ID for security resources in Platform Landing Zone (GUID format).", + "type": "string" + }, + { + "name": "--regions", + "description": "Comma-separated list of Azure regions for Platform Landing Zone (e.g., 'eastus,westus2').", + "type": "string" + }, + { + "name": "--environment-name", + "description": "The environment name for the Platform Landing Zone.", + "type": "string" + }, + { + "name": "--version-control-system", + "description": "The version control system for the Platform Landing Zone. Valid values: 'local', 'github', 'azuredevops'.", + "type": "string" + }, + { + "name": "--organization-name", + "description": "The organization name for the Platform Landing Zone.", + "type": "string" + }, + { + "name": "--migrate-project-name", + "description": "The Azure Migrate project name for Platform Landing Zone generation context.", + "type": "string", + "required": true + }, + { + "name": "--migrate-project-resource-id", + "description": "The full resource ID of the Azure Migrate project for Platform Landing Zone (alternative to subscription/resourceGroup/migrateProjectName).", + "type": "string" + }, + { + "name": "--location", + "description": "The Azure region location for creating new resources (e.g., 'eastus', 'westus2'). Required for 'createmigrateproject' action.", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": true + }, + { + "id": "e5f6a7b8-c9d0-1234-ef01-456789012cde", + "name": "get", + "description": "Retrieves the documentation (README.md) for a specific version of an Azure Verified Module (AVM).\r\nReturns the full module documentation including usage examples, input variables,\r\noutput values, and resource descriptions. Use --module-name and --module-version\r\nto specify the module and version (e.g., --module-name avm-res-storage-storageaccount --module-version 0.4.0).", + "command": "azureterraform avm get", + "commonOptions": [ + "--learn" + ], + "options": [ + { + "name": "--module-name", + "description": "The name of the Azure Verified Module (e.g., avm-res-storage-storageaccount).", + "type": "string", + "required": true + }, + { + "name": "--module-version", + "description": "The version of the Azure Verified Module (e.g., 0.4.0).", + "type": "string", + "required": true + } + ], + "destructive": false, + "idempotent": true, + "openWorld": true, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "c3d4e5f6-a7b8-9012-cdef-234567890abc", + "name": "list", + "description": "Retrieves all available Azure Verified Modules (AVM) for Terraform.\r\nReturns a list of modules with their name, description, source reference, and repository URL.\r\nThe source field can be used directly in Terraform module blocks.", + "command": "azureterraform avm list", + "commonOptions": [ + "--learn" + ], + "options": [], + "destructive": false, + "idempotent": true, + "openWorld": true, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "d4e5f6a7-b8c9-0123-def0-345678901bcd", + "name": "versions", + "description": "Retrieves all available versions of a specified Azure Verified Module (AVM).\r\nReturns version tags with creation dates, sorted from newest to oldest.\r\nThe first version in the list is the latest. Use --module-name to specify\r\nthe module (e.g., avm-res-storage-storageaccount).", + "command": "azureterraform avm versions", + "commonOptions": [ + "--learn" + ], + "options": [ + { + "name": "--module-name", + "description": "The name of the Azure Verified Module (e.g., avm-res-storage-storageaccount).", + "type": "string", + "required": true + } + ], + "destructive": false, + "idempotent": true, + "openWorld": true, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "f6a7b8c9-d0e1-2345-bcde-678901234ef0", + "name": "get", + "description": "Retrieves AzAPI Terraform provider documentation and schema for a specified Azure resource type.\r\nReturns the resource schema in HCL format suitable for azapi_resource blocks, including property\r\ndefinitions with types and requirements, parent resource information, and Terraform usage examples.\r\nUse --resource-type to specify the Azure resource type in ARM format\r\n(e.g., Microsoft.Compute/virtualMachines, Microsoft.Storage/storageAccounts).\r\nOptionally specify --api-version to target a specific API version.\r\nThis tool reuses Azure Bicep type definitions to generate accurate AzAPI schemas.", + "command": "azureterraform azapi get", + "commonOptions": [ + "--learn" + ], + "options": [ + { + "name": "--resource-type", + "description": "The Azure resource type in ARM format (e.g., Microsoft.Compute/virtualMachines, Microsoft.Storage/storageAccounts).", + "type": "string", + "required": true + }, + { + "name": "--api-version", + "description": "The API version to use for the resource schema. If omitted, the latest stable version is used.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": true, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "b8c9d0e1-f2a3-4567-1234-789012345f01", + "name": "query", + "description": "Generates an aztfexport command to export Azure resources matching an Azure Resource Graph query\r\nto Terraform configuration. Returns the command and arguments for the agent to execute locally.\r\nSpecify --query with a KQL WHERE clause for Azure Resource Graph (e.g., \"type =~ 'Microsoft.Storage/storageAccounts'\").\r\nOptionally configure the Terraform provider (azurerm or azapi), naming pattern, output folder,\r\nparallelism, and whether to include role assignments.\r\nIf aztfexport is not installed locally, returns installation instructions instead.", + "command": "azureterraform aztfexport query", + "commonOptions": [ + "--learn" + ], + "options": [ + { + "name": "--query", + "description": "Azure Resource Graph KQL WHERE clause to select resources for export (e.g., \"type =~ 'Microsoft.Storage/storageAccounts'\").", + "type": "string", + "required": true + }, + { + "name": "--output-folder", + "description": "Output folder name for the generated Terraform files.", + "type": "string" + }, + { + "name": "--provider", + "description": "Terraform provider to use: 'azurerm' (default) or 'azapi'.", + "type": "string" + }, + { + "name": "--name-pattern", + "description": "Pattern for naming resources in the generated Terraform configuration.", + "type": "string" + }, + { + "name": "--include-role-assignment", + "description": "Include role assignments in the export.", + "type": "string" + }, + { + "name": "--parallelism", + "description": "Number of parallel operations (default: 10, max: 50).", + "type": "string" + }, + { + "name": "--continue-on-error", + "description": "Continue export even if some resources fail (default: true).", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": true, + "readOnly": true, + "secret": false, + "localRequired": true + }, + { + "id": "f6a7b8c9-d0e1-2345-f012-567890123def", + "name": "resource", + "description": "Generates an aztfexport command to export a single Azure resource to Terraform configuration.\r\nReturns the command and arguments for the agent to execute locally.\r\nSpecify --resource-id with the full Azure resource ID. Optionally configure the Terraform provider\r\n(azurerm or azapi), custom resource name, output folder, parallelism, and whether to include role assignments.\r\nIf aztfexport is not installed locally, returns installation instructions instead.", + "command": "azureterraform aztfexport resource", + "commonOptions": [ + "--learn" + ], + "options": [ + { + "name": "--resource-id", + "description": "The full Azure resource ID to export (e.g., /subscriptions/.../resourceGroups/.../providers/Microsoft.Storage/storageAccounts/mystorageaccount).", + "type": "string", + "required": true + }, + { + "name": "--output-folder", + "description": "Output folder name for the generated Terraform files.", + "type": "string" + }, + { + "name": "--provider", + "description": "Terraform provider to use: 'azurerm' (default) or 'azapi'.", + "type": "string" + }, + { + "name": "--terraform-resource-name", + "description": "Custom resource name to use in the generated Terraform configuration.", + "type": "string" + }, + { + "name": "--include-role-assignment", + "description": "Include role assignments in the export.", + "type": "string" + }, + { + "name": "--parallelism", + "description": "Number of parallel operations (default: 10, max: 50).", + "type": "string" + }, + { + "name": "--continue-on-error", + "description": "Continue export even if some resources fail (default: true).", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": true, + "readOnly": true, + "secret": false, + "localRequired": true + }, + { + "id": "a7b8c9d0-e1f2-3456-0123-678901234ef0", + "name": "resourcegroup", + "description": "Generates an aztfexport command to export an Azure resource group and all its resources to Terraform configuration.\r\nReturns the command and arguments for the agent to execute locally.\r\nSpecify --resource-group with the name of the resource group. Optionally configure the Terraform provider\r\n(azurerm or azapi), naming pattern, output folder, parallelism, and whether to include role assignments.\r\nIf aztfexport is not installed locally, returns installation instructions instead.", + "command": "azureterraform aztfexport resourcegroup", + "commonOptions": [ + "--learn" + ], + "options": [ + { + "name": "--resource-group", + "description": "The name of the Azure resource group to export.", + "type": "string", + "required": true + }, + { + "name": "--output-folder", + "description": "Output folder name for the generated Terraform files.", + "type": "string" + }, + { + "name": "--provider", + "description": "Terraform provider to use: 'azurerm' (default) or 'azapi'.", + "type": "string" + }, + { + "name": "--name-pattern", + "description": "Pattern for naming resources in the generated Terraform configuration.", + "type": "string" + }, + { + "name": "--include-role-assignment", + "description": "Include role assignments in the export.", + "type": "string" + }, + { + "name": "--parallelism", + "description": "Number of parallel operations (default: 10, max: 50).", + "type": "string" + }, + { + "name": "--continue-on-error", + "description": "Continue export even if some resources fail (default: true).", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": true, + "readOnly": true, + "secret": false, + "localRequired": true + }, + { + "id": "d4e5f6a7-b8c9-0123-abcd-567890123def", + "name": "get", + "description": "Retrieves comprehensive AzureRM Terraform provider documentation for a specified resource type.\r\nReturns the resource summary, arguments with descriptions and requirements, attributes,\r\nusage examples, and important notes. Use --resource-type to specify the resource\r\n(e.g., azurerm_resource_group). Optionally filter by --doc-type (resource or data-source),\r\n--argument, or --attribute.", + "command": "azureterraform azurerm get", + "commonOptions": [ + "--learn" + ], + "options": [ + { + "name": "--resource-type", + "description": "The AzureRM Terraform resource type name (e.g., azurerm_resource_group, azurerm_storage_account). The 'azurerm_' prefix is optional.", + "type": "string", + "required": true + }, + { + "name": "--doc-type", + "description": "The documentation type to retrieve. Options: 'resource' (default), 'data-source'.", + "type": "string" + }, + { + "name": "--argument", + "description": "Filter results to a specific argument name.", + "type": "string" + }, + { + "name": "--attribute", + "description": "Filter results to a specific attribute name.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": true, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "b2c3d4e5-f6a7-8901-bcde-f01234567890", + "name": "plan", + "description": "Generates a conftest command to validate a Terraform plan JSON file against Azure policies.\r\nReturns the command and arguments for the agent to execute locally.\r\nUses the Azure policy library (policy-library-avm) for validation with configurable policy sets.\r\nSpecify --plan-folder with the path to the folder containing tfplan.json. Optionally configure the policy set\r\n('all', 'Azure-Proactive-Resiliency-Library-v2', or 'avmsec'), severity filter (for avmsec), and custom policy paths.\r\nIf conftest is not installed locally, returns installation instructions instead.", + "command": "azureterraform conftest plan", + "commonOptions": [ + "--learn" + ], + "options": [ + { + "name": "--plan-folder", + "description": "Path to the folder containing the Terraform plan JSON file (tfplan.json) to validate.", + "type": "string", + "required": true + }, + { + "name": "--policy-set", + "description": "Policy set to use for validation: 'all' (default), 'Azure-Proactive-Resiliency-Library-v2', or 'avmsec'.", + "type": "string" + }, + { + "name": "--severity-filter", + "description": "Severity filter for avmsec policies: 'high', 'medium', 'low', or 'info'. Only applicable when policy-set is 'avmsec'.", + "type": "string" + }, + { + "name": "--custom-policies", + "description": "Comma-separated list of custom policy paths to include in validation.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": true, + "readOnly": true, + "secret": false, + "localRequired": true + }, + { + "id": "a1b2c3d4-e5f6-7890-abcd-ef0123456789", + "name": "workspace", + "description": "Generates a conftest command to validate Terraform .tf files in a workspace against Azure policies.\r\nReturns the command and arguments for the agent to execute locally.\r\nUses the Azure policy library (policy-library-avm) for validation with configurable policy sets.\r\nSpecify --workspace-folder with the path to the Terraform workspace. Optionally configure the policy set\r\n('all', 'Azure-Proactive-Resiliency-Library-v2', or 'avmsec'), severity filter (for avmsec), and custom policy paths.\r\nIf conftest is not installed locally, returns installation instructions instead.", + "command": "azureterraform conftest workspace", + "commonOptions": [ + "--learn" + ], + "options": [ + { + "name": "--workspace-folder", + "description": "Path to the Terraform workspace folder containing .tf files to validate.", + "type": "string", + "required": true + }, + { + "name": "--policy-set", + "description": "Policy set to use for validation: 'all' (default), 'Azure-Proactive-Resiliency-Library-v2', or 'avmsec'.", + "type": "string" + }, + { + "name": "--severity-filter", + "description": "Severity filter for avmsec policies: 'high', 'medium', 'low', or 'info'. Only applicable when policy-set is 'avmsec'.", + "type": "string" + }, + { + "name": "--custom-policies", + "description": "Comma-separated list of custom policy paths to include in validation.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": true, + "readOnly": true, + "secret": false, + "localRequired": true + }, + { + "id": "5bd36575-6313-4bf4-aa26-a79fe0fa32a8", + "name": "get", + "description": "Returns Terraform best practices for Azure. Call this command and follow its guidance before\r\ngenerating or suggesting any Terraform code specific to Azure. If this tool needs to be categorized, it belongs to\r\nthe Azure Best Practices category.", + "command": "azureterraformbestpractices get", + "commonOptions": [ + "--learn" + ], + "options": [], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "553c003a-7cdf-4382-b833-94fe8bbb7386", + "name": "get", + "description": "Provides the Bicep schema definition of any Azure resource type (latest service version). Use this to get the schema needed to write Bicep IaC (infrasturcture as code) for Azure resources such as AI models, storage accounts, databases, virtual machines, app services, key vaults, and more. Do not use this tool for resource deployment, deployment guidelines, or getting best practices.", + "command": "bicepschema get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--learn" + ], + "options": [ + { + "name": "--resource-type", + "description": "The name of the Bicep Resource Type and must be in the full Azure Resource Manager format '{ResourceProvider}/{ResourceType}'. (e.g., 'Microsoft.KeyVault/vaults', 'Microsoft.Storage/storageAccounts', 'Microsoft.Compute/virtualMachines')(e.g., Microsoft.Storage/storageAccounts).", + "type": "string", + "required": true + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "aa7c2a8b-c664-423b-8fb5-8edfbdadc783", + "name": "design", + "description": "Recommends architecture design for cloud services/apps/solutions, such as: file storage, banking, video streaming, e-commerce, SaaS, and more. Use as follows:\r\n1. Ask about user role, business goals, etc (1-2 questions at a time).\r\n2. Track confidence returned by service and update requirements (explicit/implicit/assumed).\r\n3. Repeat steps 1 and 2 as needed until confidence >= 0.7\r\n4. Present architecture with table format, visual organization, ASCII diagrams.\r\n5. Follow Azure Well-Architected Framework principles.\r\n6. Cover all tiers: infrastructure, platform, application, data, security, operations.\r\n7. Provide actionable advice and high-level overview. Note: State tracks components, requirements by category, and confidence factors. Be conservative with suggestions.", + "command": "cloudarchitect design", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--learn" + ], + "options": [ + { + "name": "--question", + "description": "The current question being asked", + "type": "string" + }, + { + "name": "--question-number", + "description": "Current question number", + "type": "string" + }, + { + "name": "--total-questions", + "description": "Estimated total questions needed", + "type": "string" + }, + { + "name": "--answer", + "description": "The user's response to the question", + "type": "string" + }, + { + "name": "--next-question-needed", + "description": "Whether another question is needed", + "type": "string" + }, + { + "name": "--confidence-score", + "description": "A value between 0.0 and 1.0 representing confidence in understanding requirements. When this reaches 0.7 or higher, nextQuestionNeeded should be set to false.", + "type": "string" + }, + { + "name": "--state", + "description": "The complete architecture state from the previous request as JSON, State input schema:\n{\n\"state\":{\n\"type\":\"object\",\n\"description\":\"The complete architecture state from the previous request\",\n\"properties\":{\n\"architectureComponents\":{\n\"type\":\"array\",\n\"description\":\"All architecture components suggested so far\",\n\"items\":{\n\"type\":\"string\"\n}\n},\n\"architectureTiers\":{\n\"type\":\"object\",\n\"description\":\"Components organized by architecture tier\",\n\"additionalProperties\":{\n\"type\":\"array\",\n\"items\":{\n\"type\":\"string\"\n}\n}\n},\n\"thought\":{\n\"type\":\"string\",\n\"description\":\"The calling agent's thoughts on the next question or reasoning process. The calling agent should use the requirements it has gathered to reason about the next question.\"\n},\n\"suggestedHint\":{\n\"type\":\"string\",\n\"description\":\"A suggested interaction hint to show the user, such as 'Ask me to create an ASCII art diagram of this architecture' or 'Ask about how this design handles disaster recovery'.\"\n},\n\"requirements\":{\n\"type\":\"object\",\n\"description\":\"Tracked requirements organized by type\",\n\"properties\":{\n\"explicit\":{\n\"type\":\"array\",\n\"description\":\"Requirements explicitly stated by the user\",\n\"items\":{\n\"type\":\"object\",\n\"properties\":{\n\"category\":{\n\"type\":\"string\"\n},\n\"description\":{\n\"type\":\"string\"\n},\n\"source\":{\n\"type\":\"string\"\n},\n\"importance\":{\n\"type\":\"string\",\n\"enum\":[\n\"high\",\n\"medium\",\n\"low\"\n]\n},\n\"confidence\":{\n\"type\":\"number\"\n}\n}\n}\n},\n\"implicit\":{\n\"type\":\"array\",\n\"description\":\"Requirements implied by user responses\",\n\"items\":{\n\"type\":\"object\",\n\"properties\":{\n\"category\":{\n\"type\":\"string\"\n},\n\"description\":{\n\"type\":\"string\"\n},\n\"source\":{\n\"type\":\"string\"\n},\n\"importance\":{\n\"type\":\"string\",\n\"enum\":[\n\"high\",\n\"medium\",\n\"low\"\n]\n},\n\"confidence\":{\n\"type\":\"number\"\n}\n}\n}\n},\n\"assumed\":{\n\"type\":\"array\",\n\"description\":\"Requirements assumed based on context/best practices\",\n\"items\":{\n\"type\":\"object\",\n\"properties\":{\n\"category\":{\n\"type\":\"string\"\n},\n\"description\":{\n\"type\":\"string\"\n},\n\"source\":{\n\"type\":\"string\"\n},\n\"importance\":{\n\"type\":\"string\",\n\"enum\":[\n\"high\",\n\"medium\",\n\"low\"\n]\n},\n\"confidence\":{\n\"type\":\"number\"\n}\n}\n}\n}\n}\n},\n\"confidenceFactors\":{\n\"type\":\"object\",\n\"description\":\"Factors that contribute to the overall confidence score\",\n\"properties\":{\n\"explicitRequirementsCoverage\":{\n\"type\":\"number\"\n},\n\"implicitRequirementsCertainty\":{\n\"type\":\"number\"\n},\n\"assumptionRisk\":{\n\"type\":\"number\"\n}\n}\n}\n}\n}\n}", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "60f79b69-9e90-4f07-9bf4-bd4452f1143d", + "name": "send", + "description": "Send emails to one or multiple recipients to the given email-address. The emails can be plain text or HTML formatted. You can include a subject, custom sender name, CC and BCC recipients, and reply-to addresses.", + "command": "communication email send", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--learn" + ], + "options": [ + { + "name": "--endpoint", + "description": "The Communication Services URI endpoint (e.g., https://myservice.communication.azure.com). Required for credential authentication.", + "type": "string", + "required": true + }, + { + "name": "--from", + "description": "The email address to send from (must be from a verified domain)", + "type": "string", + "required": true + }, + { + "name": "--sender-name", + "description": "The display name of the sender", + "type": "string" + }, + { + "name": "--to", + "description": "The recipient email address(es) to send the email to.", + "type": "string", + "required": true + }, + { + "name": "--cc", + "description": "CC recipient email addresses", + "type": "string" + }, + { + "name": "--bcc", + "description": "BCC recipient email addresses", + "type": "string" + }, + { + "name": "--subject", + "description": "The email subject", + "type": "string", + "required": true + }, + { + "name": "--message", + "description": "The email message content to send to the recipient(s).", + "type": "string", + "required": true + }, + { + "name": "--is-html", + "description": "Flag indicating whether the message content is HTML", + "type": "string" + }, + { + "name": "--reply-to", + "description": "Reply-to email addresses", + "type": "string" + } + ], + "destructive": false, + "idempotent": false, + "openWorld": true, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "a0dc94f3-25ac-4971-a552-0d90fd57e902", + "name": "send", + "description": "Sends SMS messages to one or more recipients to the given phone-number. You can enable delivery reports and receipt tracking, broadcast SMS, and tag messages for easier tracking.\r\nReturns message IDs and delivery status for each sent message.", + "command": "communication sms send", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--learn" + ], + "options": [ + { + "name": "--endpoint", + "description": "The Communication Services URI endpoint (e.g., https://myservice.communication.azure.com). Required for credential authentication.", + "type": "string", + "required": true + }, + { + "name": "--from", + "description": "The SMS-enabled phone number associated with your Communication Services resource (in E.164 format, e.g., +14255550123). Can also be a short code or alphanumeric sender ID.", + "type": "string", + "required": true + }, + { + "name": "--to", + "description": "The recipient phone number(s) in E.164 international standard format (e.g., +14255550123). Multiple numbers can be provided.", + "type": "string", + "required": true + }, + { + "name": "--message", + "description": "The SMS message content to send to the recipient(s).", + "type": "string", + "required": true + }, + { + "name": "--enable-delivery-report", + "description": "Whether to enable delivery reporting for the SMS message. When enabled, events are emitted when delivery is successful.", + "type": "string" + }, + { + "name": "--tag", + "description": "Optional custom tag to apply to the SMS message for tracking purposes.", + "type": "string" + } + ], + "destructive": false, + "idempotent": false, + "openWorld": true, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "3f8a1b2c-5d6e-4a7b-8c9d-0e1f2a3b4c5d", + "name": "create", + "description": "Creates a new Azure managed disk in the specified resource group. Supports creating empty disks (specify --size-gb), disks from a source such as a snapshot, another managed disk, or a blob URI (specify --source), disks from a Shared Image Gallery image version (specify --gallery-image-reference), or disks ready for upload (specify --upload-type and --upload-size-bytes). If location is not specified, defaults to the resource group's location. Supports configuring disk size, storage SKU (e.g., Premium_LRS, Standard_LRS, UltraSSD_LRS), OS type, availability zone, hypervisor generation, tags, encryption settings, performance tier, shared disk, on-demand bursting, and IOPS/throughput limits for UltraSSD disks. Create a disk with network access policy DenyAll, AllowAll, or AllowPrivate and associate a disk access resource during creation.", + "command": "compute disk create", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--disk-name", + "description": "The name of the disk", + "type": "string", + "required": true + }, + { + "name": "--source", + "description": "Source to create the disk from, including a resource ID of a snapshot or disk, or a blob URI of a VHD. When a source is provided, --size-gb is optional and defaults to the source size.", + "type": "string" + }, + { + "name": "--location", + "description": "The Azure region/location. Defaults to the resource group's location if not specified.", + "type": "string" + }, + { + "name": "--size-gb", + "description": "Size of the disk in GB. Max size: 4095 GB.", + "type": "string" + }, + { + "name": "--sku", + "description": "Underlying storage SKU. Accepted values: Premium_LRS, PremiumV2_LRS, Premium_ZRS, StandardSSD_LRS, StandardSSD_ZRS, Standard_LRS, UltraSSD_LRS.", + "type": "string" + }, + { + "name": "--os-type", + "description": "The Operating System type of the disk. Accepted values: Linux, Windows.", + "type": "string" + }, + { + "name": "--zone", + "description": "Availability zone into which to provision the resource.", + "type": "string" + }, + { + "name": "--hyper-v-generation", + "description": "The hypervisor generation of the Virtual Machine. Applicable to OS disks only. Accepted values: V1, V2.", + "type": "string" + }, + { + "name": "--max-shares", + "description": "The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a shared disk.", + "type": "string" + }, + { + "name": "--network-access-policy", + "description": "Policy for accessing the disk via network. Accepted values: AllowAll, AllowPrivate, DenyAll.", + "type": "string" + }, + { + "name": "--enable-bursting", + "description": "Enable on-demand bursting beyond the provisioned performance target of the disk. Does not apply to Ultra disks. Accepted values: true, false.", + "type": "string" + }, + { + "name": "--tags", + "description": "Space-separated tags in 'key=value' format. Use '' to clear existing tags.", + "type": "string" + }, + { + "name": "--disk-encryption-set", + "description": "Resource ID of the disk encryption set to use for enabling encryption at rest.", + "type": "string" + }, + { + "name": "--encryption-type", + "description": "Encryption type of the disk. Accepted values: EncryptionAtRestWithCustomerKey, EncryptionAtRestWithPlatformAndCustomerKeys, EncryptionAtRestWithPlatformKey.", + "type": "string" + }, + { + "name": "--disk-access", + "description": "Resource ID of the disk access resource for using private endpoints on disks.", + "type": "string" + }, + { + "name": "--tier", + "description": "Performance tier of the disk (e.g., P10, P15, P20, P30, P40, P50, P60, P70, P80). Applicable to Premium SSD disks only.", + "type": "string" + }, + { + "name": "--gallery-image-reference", + "description": "Resource ID of a Shared Image Gallery image version to use as the source for the disk. Format: /subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.Compute/galleries/{gallery}/images/{image}/versions/{version}.", + "type": "string" + }, + { + "name": "--gallery-image-reference-lun", + "description": "LUN (Logical Unit Number) of the data disk in the gallery image version. If specified, the disk is created from the data disk at this LUN. If not specified, the disk is created from the OS disk of the image.", + "type": "string" + }, + { + "name": "--disk-iops-read-write", + "description": "The number of IOPS allowed for this disk. Only settable for UltraSSD disks.", + "type": "string" + }, + { + "name": "--disk-mbps-read-write", + "description": "The bandwidth allowed for this disk in MBps. Only settable for UltraSSD disks.", + "type": "string" + }, + { + "name": "--upload-type", + "description": "Type of upload for the disk. Accepted values: Upload, UploadWithSecurityData. When specified, the disk is created in a ReadyToUpload state.", + "type": "string" + }, + { + "name": "--upload-size-bytes", + "description": "The size in bytes (including the VHD footer of 512 bytes) of the content to be uploaded. Required when --upload-type is specified.", + "type": "string" + }, + { + "name": "--security-type", + "description": "Security type of the managed disk. Accepted values: ConfidentialVM_DiskEncryptedWithCustomerKey, ConfidentialVM_DiskEncryptedWithPlatformKey, ConfidentialVM_VMGuestStateOnlyEncryptedWithPlatformKey, Standard, TrustedLaunch. Required when --upload-type is UploadWithSecurityData.", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "a7c3e9f1-4b82-4d5a-9e6c-1f3d8b2a7c4e", + "name": "delete", + "description": "Deletes an Azure managed disk from the specified resource group. This is an idempotent operation that returns Deleted = true if the disk was successfully removed, or Deleted = false if the disk was not found. The disk must not be attached to a virtual machine; detach it first before deleting.", + "command": "compute disk delete", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--disk-name", + "description": "The name of the disk", + "type": "string", + "required": true + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": true, + "localRequired": false + }, + { + "id": "01ab6f7e-2b27-4d6e-b0cc-b29043efac8e", + "name": "get", + "description": "Lists available Azure managed disks or retrieves detailed information about a specific disk. Shows all disks in a subscription or resource group, including disk size, SKU, provisioning state, and OS type. Supports wildcard patterns in disk names (e.g., 'win_OsDisk*'). When disk name is provided without resource group, searches across the entire subscription. When resource group is specified, scopes the search to that resource group. Both parameters are optional.", + "command": "compute disk get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--disk-name", + "description": "The name of the disk", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "4a9b2c3d-6e7f-5b8c-9d0e-1f2a3b4c5d6e", + "name": "update", + "description": "Updates or modifies properties of an existing Azure managed disk that was previously created. If resource group is not specified, the disk is located by name within the subscription. Supports changing disk size (can only increase), storage SKU, IOPS and throughput limits (UltraSSD only), max shares for shared disk attachments, on-demand bursting, tags, encryption settings, disk access, and performance tier. Modify the network access policy to DenyAll, AllowAll, or AllowPrivate on an existing disk. Only specified properties are updated; unspecified properties remain unchanged.", + "command": "compute disk update", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--disk-name", + "description": "The name of the disk", + "type": "string", + "required": true + }, + { + "name": "--size-gb", + "description": "Size of the disk in GB. Max size: 4095 GB.", + "type": "string" + }, + { + "name": "--sku", + "description": "Underlying storage SKU. Accepted values: Premium_LRS, PremiumV2_LRS, Premium_ZRS, StandardSSD_LRS, StandardSSD_ZRS, Standard_LRS, UltraSSD_LRS.", + "type": "string" + }, + { + "name": "--disk-iops-read-write", + "description": "The number of IOPS allowed for this disk. Only settable for UltraSSD disks.", + "type": "string" + }, + { + "name": "--disk-mbps-read-write", + "description": "The bandwidth allowed for this disk in MBps. Only settable for UltraSSD disks.", + "type": "string" + }, + { + "name": "--max-shares", + "description": "The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a shared disk.", + "type": "string" + }, + { + "name": "--network-access-policy", + "description": "Policy for accessing the disk via network. Accepted values: AllowAll, AllowPrivate, DenyAll.", + "type": "string" + }, + { + "name": "--enable-bursting", + "description": "Enable on-demand bursting beyond the provisioned performance target of the disk. Does not apply to Ultra disks. Accepted values: true, false.", + "type": "string" + }, + { + "name": "--tags", + "description": "Space-separated tags in 'key=value' format. Use '' to clear existing tags.", + "type": "string" + }, + { + "name": "--disk-encryption-set", + "description": "Resource ID of the disk encryption set to use for enabling encryption at rest.", + "type": "string" + }, + { + "name": "--encryption-type", + "description": "Encryption type of the disk. Accepted values: EncryptionAtRestWithCustomerKey, EncryptionAtRestWithPlatformAndCustomerKeys, EncryptionAtRestWithPlatformKey.", + "type": "string" + }, + { + "name": "--disk-access", + "description": "Resource ID of the disk access resource for using private endpoints on disks.", + "type": "string" + }, + { + "name": "--tier", + "description": "Performance tier of the disk (e.g., P10, P15, P20, P30, P40, P50, P60, P70, P80). Applicable to Premium SSD disks only.", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "b765ab9c-788d-4422-80aa-54488f6be648", + "name": "create", + "description": "Create, deploy, or provision a single Azure Virtual Machine (VM).\r\nUse this to launch a new Linux or Windows VM with SSH key or password authentication.\r\nAutomatically creates networking resources (VNet, subnet, NSG, NIC, public IP) when not specified.\r\nEquivalent to 'az vm create'. Defaults to Standard_D2s_v5 VM size when not specified.\r\nThe --image option is required and has no default; if the user does not specify an image, ask them which image to use\r\n(an alias such as 'Ubuntu2404' or 'Win2022Datacenter', a marketplace URN like 'publisher:offer:sku:version',\r\nor a shared gallery image ID starting with '/sharedGalleries/').\r\nFor Linux VMs with SSH, read the user's public key file (e.g., ~/.ssh/id_rsa.pub) and pass its content.\r\nDo not use this for creating Virtual Machine Scale Sets with multiple identical instances (use VMSS create instead).", + "command": "compute vm create", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--vm-name", + "description": "The name of the virtual machine", + "type": "string", + "required": true + }, + { + "name": "--location", + "description": "The Azure region/location. Defaults to the resource group's location if not specified.", + "type": "string", + "required": true + }, + { + "name": "--admin-username", + "description": "The admin username for the VM. Required for VM creation", + "type": "string", + "required": true + }, + { + "name": "--admin-password", + "description": "The admin password for Windows VMs or when SSH key is not provided for Linux VMs", + "type": "string" + }, + { + "name": "--ssh-public-key", + "description": "SSH public key for Linux VMs. Can be the key content or path to a file", + "type": "string" + }, + { + "name": "--image", + "description": "The OS image to use. Can be a URN (publisher:offer:sku:version), a shared gallery image ID (starting with '/sharedGalleries/'), or an alias such as 'Ubuntu2404' or 'Win2022Datacenter'.", + "type": "string", + "required": true + }, + { + "name": "--vm-size", + "description": "The VM size (e.g., Standard_D2s_v3, Standard_B2s). Defaults to Standard_D2s_v5 if not specified", + "type": "string" + }, + { + "name": "--os-type", + "description": "The Operating System type of the disk. Accepted values: Linux, Windows.", + "type": "string" + }, + { + "name": "--virtual-network", + "description": "Name of an existing virtual network to use. If not specified, a new one will be created", + "type": "string" + }, + { + "name": "--subnet", + "description": "Name of the subnet within the virtual network", + "type": "string" + }, + { + "name": "--public-ip-address", + "description": "Name of the public IP address to use or create", + "type": "string" + }, + { + "name": "--network-security-group", + "description": "Name of the network security group to use or create", + "type": "string" + }, + { + "name": "--no-public-ip", + "description": "Do not create or assign a public IP address", + "type": "string" + }, + { + "name": "--source-address-prefix", + "description": "Source IP address range for NSG inbound rules (e.g., '203.0.113.0/24' or a specific IP). Defaults to '*' (any source)", + "type": "string" + }, + { + "name": "--zone", + "description": "Availability zone into which to provision the resource.", + "type": "string" + }, + { + "name": "--os-disk-size-gb", + "description": "OS disk size in GB. Defaults based on image requirements", + "type": "string" + }, + { + "name": "--os-disk-type", + "description": "OS disk type: 'Premium_LRS', 'StandardSSD_LRS', 'Standard_LRS'. Defaults based on VM size", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": true, + "localRequired": false + }, + { + "id": "d4e2c8a1-6f3b-4d9e-b8c7-1a2e3f4d5e6f", + "name": "delete", + "description": "Delete, remove, or destroy an Azure Virtual Machine (VM).\r\nUse this to permanently remove a VM that is no longer needed.\r\nEquivalent to 'az vm delete'. This operation is irreversible and the VM data will be lost.\r\nUse --force-deletion to force delete the VM even if it is in a running or failed state\r\n(passes forceDeletion=true to the Azure API).\r\nAssociated resources like disks, NICs, and public IPs are NOT automatically deleted.\r\nDo not use this to delete Virtual Machine Scale Sets (use VMSS delete instead).", + "command": "compute vm delete", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--vm-name", + "description": "The name of the virtual machine", + "type": "string", + "required": true + }, + { + "name": "--force-deletion", + "description": "Force delete the resource even if it is in a running or failed state (passes forceDeletion=true to the Azure API)", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": true, + "localRequired": false + }, + { + "id": "c1a8b3e5-4f2d-4a6e-8c7b-9d2e3f4a5b6c", + "name": "get", + "description": "List or get Azure Virtual Machine (VM) configuration and properties in a resource group. By default, returns VM details including name, location, size, provisioning state, and OS type. When retrieving a specific VM with --vm-name and --instance-view, the response also includes power state (running/stopped/deallocated). Use this tool to retrieve VM configuration details.", + "command": "compute vm get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--vm-name", + "description": "The name of the virtual machine", + "type": "string" + }, + { + "name": "--instance-view", + "description": "Include instance view details (only available when retrieving a specific VM)", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "f330138e-8048-4a4a-8170-d8b6f958eaa4", + "name": "update", + "description": "Update, modify, or reconfigure an existing Azure Virtual Machine (VM).\r\nUse this to resize a VM, update tags, configure boot diagnostics, or change user data.\r\nEquivalent to 'az vm update'. The VM may need to be deallocated before resizing to certain sizes.\r\nDo not use this to create a new VM (use VM create) or to update Virtual Machine Scale Sets (use VMSS update).", + "command": "compute vm update", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--vm-name", + "description": "The name of the virtual machine", + "type": "string", + "required": true + }, + { + "name": "--vm-size", + "description": "The VM size (e.g., Standard_D2s_v3, Standard_B2s). Defaults to Standard_D2s_v5 if not specified", + "type": "string" + }, + { + "name": "--tags", + "description": "Space-separated tags in 'key=value' format. Use '' to clear existing tags.", + "type": "string" + }, + { + "name": "--license-type", + "description": "License type for Azure Hybrid Benefit: 'Windows_Server', 'Windows_Client', 'RHEL_BYOS', 'SLES_BYOS', or 'None' to disable", + "type": "string" + }, + { + "name": "--boot-diagnostics", + "description": "Enable or disable boot diagnostics: 'true' or 'false'", + "type": "string" + }, + { + "name": "--user-data", + "description": "Base64-encoded user data for the VM. Use to update custom data scripts", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "c46a4bc5-cba6-4d99-991b-a9109fc689ad", + "name": "create", + "description": "Create, deploy, or provision an Azure Virtual Machine Scale Set (VMSS) for running multiple identical VM instances.\r\nUse this to deploy workloads that need horizontal scaling, load balancing, or high availability across instances.\r\nEquivalent to 'az vmss create'. Defaults to 2 instances and Standard_D2s_v5 size when not specified.\r\nThe --image option is required and has no default; if the user does not specify an image, ask them which image to use\r\n(an alias such as 'Ubuntu2404' or 'Win2022Datacenter', a marketplace URN like 'publisher:offer:sku:version',\r\nor a shared gallery image ID starting with '/sharedGalleries/').\r\nFor Linux VMSS with SSH, read the user's public key file (e.g., ~/.ssh/id_rsa.pub) and pass its content.\r\nDo not use this for creating a single standalone VM (use VM create instead).", + "command": "compute vmss create", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--vmss-name", + "description": "The name of the virtual machine scale set", + "type": "string", + "required": true + }, + { + "name": "--location", + "description": "The Azure region/location. Defaults to the resource group's location if not specified.", + "type": "string", + "required": true + }, + { + "name": "--admin-username", + "description": "The admin username for the VM. Required for VM creation", + "type": "string", + "required": true + }, + { + "name": "--admin-password", + "description": "The admin password for Windows VMs or when SSH key is not provided for Linux VMs", + "type": "string" + }, + { + "name": "--ssh-public-key", + "description": "SSH public key for Linux VMs. Can be the key content or path to a file", + "type": "string" + }, + { + "name": "--image", + "description": "The OS image to use. Can be a URN (publisher:offer:sku:version), a shared gallery image ID (starting with '/sharedGalleries/'), or an alias such as 'Ubuntu2404' or 'Win2022Datacenter'.", + "type": "string", + "required": true + }, + { + "name": "--vm-size", + "description": "The VM size (e.g., Standard_D2s_v3, Standard_B2s). Defaults to Standard_D2s_v5 if not specified", + "type": "string" + }, + { + "name": "--os-type", + "description": "The Operating System type of the disk. Accepted values: Linux, Windows.", + "type": "string" + }, + { + "name": "--instance-count", + "description": "Number of VM instances in the scale set. Default is 2", + "type": "string" + }, + { + "name": "--upgrade-policy", + "description": "Upgrade policy mode: 'Automatic', 'Manual', or 'Rolling'. Default is 'Manual'", + "type": "string" + }, + { + "name": "--virtual-network", + "description": "Name of an existing virtual network to use. If not specified, a new one will be created", + "type": "string" + }, + { + "name": "--subnet", + "description": "Name of the subnet within the virtual network", + "type": "string" + }, + { + "name": "--zone", + "description": "Availability zone into which to provision the resource.", + "type": "string" + }, + { + "name": "--os-disk-size-gb", + "description": "OS disk size in GB. Defaults based on image requirements", + "type": "string" + }, + { + "name": "--os-disk-type", + "description": "OS disk type: 'Premium_LRS', 'StandardSSD_LRS', 'Standard_LRS'. Defaults based on VM size", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": true, + "localRequired": false + }, + { + "id": "e5f3d9b2-7a4c-4e8f-c9d8-2b3f4a5e6d7c", + "name": "delete", + "description": "Delete, remove, or destroy an Azure Virtual Machine Scale Set (VMSS) and all its VM instances.\r\nUse this to permanently remove a scale set that is no longer needed.\r\nEquivalent to 'az vmss delete'. This operation is irreversible and all VMSS instances will be lost.\r\nUse --force-deletion to force delete the VMSS even if it is in a running or failed state\r\n(passes forceDeletion=true to the Azure API).\r\nDo not use this to delete a single VM (use VM delete instead).", + "command": "compute vmss delete", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--vmss-name", + "description": "The name of the virtual machine scale set", + "type": "string", + "required": true + }, + { + "name": "--force-deletion", + "description": "Force delete the resource even if it is in a running or failed state (passes forceDeletion=true to the Azure API)", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": true, + "localRequired": false + }, + { + "id": "a5e2f7i9-8j6h-8e0i-2g1f-3h6i7j8e9f0g", + "name": "get", + "description": "List or get Azure Virtual Machine Scale Sets (VMSS) and their instances in a subscription or resource group. Returns scale set details including name, location, SKU, capacity, upgrade policy, and individual VM instance information.", + "command": "compute vmss get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--vmss-name", + "description": "The name of the virtual machine scale set", + "type": "string" + }, + { + "name": "--instance-id", + "description": "The instance ID of the virtual machine in the scale set", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "aaa0ad51-3c16-4ec2-99e2-b24f28a1e7d0", + "name": "update", + "description": "Update, modify, or reconfigure an existing Azure Virtual Machine Scale Set (VMSS).\r\nUse this to scale instance count, resize VMs, change upgrade policy, or update tags on a scale set.\r\nEquivalent to 'az vmss update'. Changes may require 'update-instances' to roll out to existing VMs.\r\nDo not use this to create a new VMSS (use VMSS create) or to update a single VM (use VM update).", + "command": "compute vmss update", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--vmss-name", + "description": "The name of the virtual machine scale set", + "type": "string", + "required": true + }, + { + "name": "--upgrade-policy", + "description": "Upgrade policy mode: 'Automatic', 'Manual', or 'Rolling'. Default is 'Manual'", + "type": "string" + }, + { + "name": "--capacity", + "description": "Number of VM instances (capacity) in the scale set", + "type": "string" + }, + { + "name": "--vm-size", + "description": "The VM size (e.g., Standard_D2s_v3, Standard_B2s). Defaults to Standard_D2s_v5 if not specified", + "type": "string" + }, + { + "name": "--overprovision", + "description": "Enable or disable overprovisioning. When enabled, Azure provisions more VMs than requested and deletes extra VMs after deployment", + "type": "string" + }, + { + "name": "--enable-auto-os-upgrade", + "description": "Enable automatic OS image upgrades. Requires health probes or Application Health extension", + "type": "string" + }, + { + "name": "--scale-in-policy", + "description": "Scale-in policy to determine which VMs to remove: 'Default', 'NewestVM', or 'OldestVM'", + "type": "string" + }, + { + "name": "--tags", + "description": "Space-separated tags in 'key=value' format. Use '' to clear existing tags.", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "94fec47b-eb44-4d20-862f-24c284328956", + "name": "append", + "description": "Appends a tamper-proof entry to a Confidential Ledger instance and returns the transaction identifier.", + "command": "confidentialledger entries append", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--learn" + ], + "options": [ + { + "name": "--ledger", + "description": "The name of the Confidential Ledger instance (e.g., 'myledger').", + "type": "string", + "required": true + }, + { + "name": "--content", + "description": "The JSON or text payload to append as a tamper-proof ledger entry.", + "type": "string", + "required": true + }, + { + "name": "--collection-id", + "description": "Optional ledger collection identifier. If omitted the default collection is used.", + "type": "string" + } + ], + "destructive": false, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "f1281e49-6392-455d-8caf-eb58428e8f5e", + "name": "get", + "description": "Retrieves the Confidential Ledger entry and its recorded contents for the specified transaction ID, optionally scoped to a collection.", + "command": "confidentialledger entries get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--learn" + ], + "options": [ + { + "name": "--ledger", + "description": "The name of the Confidential Ledger instance (e.g., 'myledger').", + "type": "string", + "required": true + }, + { + "name": "--transaction-id", + "description": "The Confidential Ledger transaction identifier (for example: '2.199').", + "type": "string", + "required": true + }, + { + "name": "--collection-id", + "description": "Optional ledger collection identifier. If omitted the default collection is used.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "d4e5f6a7-b8c9-0d1e-2f3a-4b5c6d7e8f90", + "name": "list", + "description": "List Azure Container Apps in a subscription. Optionally filter by resource group. Each container app result\r\nincludes: name, location, resourceGroup, managedEnvironmentId, provisioningState. If no container apps are\r\nfound the tool returns an empty list of results (consistent with other list commands).", + "command": "containerapps list", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "5c19a92a-4e0c-44dc-b1e7-5560a0d277b5", + "name": "query", + "description": "List items from a Cosmos DB container by specifying the account name, database name, and container name, optionally providing a custom SQL query to filter results.", + "command": "cosmos database container item query", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--account", + "description": "The name of the Cosmos DB account to query (e.g., my-cosmos-account).", + "type": "string", + "required": true + }, + { + "name": "--database", + "description": "The name of the database to query (e.g., my-database).", + "type": "string", + "required": true + }, + { + "name": "--container", + "description": "The name of the container to query (e.g., my-container).", + "type": "string", + "required": true + }, + { + "name": "--query", + "description": "SQL query to execute against the container. Uses Cosmos DB SQL syntax.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "name": "list", + "description": "List Cosmos DB accounts, databases, or containers. Returns all accounts in the subscription by default. Specify --account to list databases in that account, or --account and --database to list containers in a specific database.", + "command": "cosmos list", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--account", + "description": "The name of the Cosmos DB account (optional). When not specified, lists all accounts in the subscription. Specify this to list databases, or combine with --database to list containers.", + "type": "string" + }, + { + "name": "--database", + "description": "The name of the database (optional). Requires --account to be specified. When provided, lists containers within this database.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "bbd026b6-df96-4c52-8b72-13734984a600", + "name": "list", + "description": "List monitored resources in Datadog for a datadog resource taken as input from the user.\r\nThis command retrieves all monitored azure resources available.\r\nRequires `datadog-resource`, `resource-group` and `subscription`.\r\nResult is a list of monitored resources as a JSON array.", + "command": "datadog monitoredresources list", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--datadog-resource", + "description": "The name of the Datadog resource to use. This is the unique name you chose for your Datadog resource in Azure.", + "type": "string", + "required": true + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "ce9d648d-7c76-48a0-8cba-b9b57c6fd00b", + "name": "get", + "description": "Shows application logs for Azure Developer CLI (azd) deployed applications from their associated Log Analytics workspace. Supports Container Apps, App Services, and Function Apps deployed via 'azd up'. Requires local workspace access to read the azure.yaml project file. Automatically discovers the correct Log Analytics workspace and resources based on azd environment configuration. Returns console log entries for checking deployment status or troubleshooting post-deployment issues.", + "command": "deploy app logs get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--workspace-folder", + "description": "The full path of the workspace folder.", + "type": "string", + "required": true + }, + { + "name": "--azd-env-name", + "description": "The name of the environment created by azd (AZURE_ENV_NAME) during `azd init` or `azd up`. If not provided in context, try to find it in the .azure directory in the workspace or use 'azd env list'.", + "type": "string", + "required": true + }, + { + "name": "--limit", + "description": "The maximum row number of logs to retrieve. Use this to get a specific number of logs or to avoid the retrieved logs from reaching token limit. Default is 200.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": true + }, + { + "id": "34d7ec6a-e229-4775-8af3-85f81ae3e6d3", + "name": "generate", + "description": "Generates a Mermaid architecture diagram showing recommended Azure services and their connections for an application. Input is a structured AppTopology JSON built by scanning the workspace: detect services, frameworks, ports, Docker settings, and dependencies from connection strings and environment variables. For .NET Aspire applications, check aspireManifest.json. Returns a Mermaid diagram string. Supported compute types include AppService, FunctionApp, ContainerApp, StaticWebApp, and AKS. Supported dependency types include SQL, Cosmos, Redis, Storage, ServiceBus, KeyVault, and other supported Azure services.", + "command": "deploy architecture diagram generate", + "commonOptions": [ + "--learn" + ], + "options": [ + { + "name": "--raw-mcp-tool-input", + "description": "{\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"workspaceFolder\": {\r\n \"type\": \"string\",\r\n \"description\": \"The full path of the workspace folder.\"\r\n },\r\n \"projectName\": {\r\n \"type\": \"string\",\r\n \"description\": \"The name of the project. This is used to generate the resource names.\"\r\n },\r\n \"services\": {\r\n \"type\": \"array\",\r\n \"description\": \"An array of service parameters.\",\r\n \"items\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"name\": {\r\n \"type\": \"string\",\r\n \"description\": \"The name of the service.\"\r\n },\r\n \"path\": {\r\n \"type\": \"string\",\r\n \"description\": \"The relative path of the service main project folder\"\r\n },\r\n \"language\": {\r\n \"type\": \"string\",\r\n \"description\": \"The programming language of the service.\"\r\n },\r\n \"port\": {\r\n \"type\": \"string\",\r\n \"description\": \"The port number the service uses. Get this from Dockerfile for container apps. If not available, default to '80'.\"\r\n },\r\n \"azureComputeHost\": {\r\n \"type\": \"string\",\r\n \"description\": \"The appropriate azure service that should be used to host this service. Use containerapp if the service is containerized and has a Dockerfile.\",\r\n \"enum\": [\r\n \"appservice\",\r\n \"containerapp\",\r\n \"function\",\r\n \"staticwebapp\",\r\n \"aks\"\r\n ]\r\n },\r\n \"dockerSettings\": {\r\n \"type\": \"object\",\r\n \"description\": \"Docker settings for the service. This is only needed if the service's azureComputeHost is containerapp.\",\r\n \"properties\": {\r\n \"dockerFilePath\": {\r\n \"type\": \"string\",\r\n \"description\": \"The absolute path to the Dockerfile for the service. If the service's azureComputeHost is not containerapp, leave blank.\"\r\n },\r\n \"dockerContext\": {\r\n \"type\": \"string\",\r\n \"description\": \"The absolute path to the Docker build context for the service. If the service's azureComputeHost is not containerapp, leave blank.\"\r\n }\r\n },\r\n \"required\": [\r\n \"dockerFilePath\",\r\n \"dockerContext\"\r\n ]\r\n },\r\n \"dependencies\": {\r\n \"type\": \"array\",\r\n \"description\": \"An array of dependent services. A compute service may have a dependency on another compute service.\",\r\n \"items\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"name\": {\r\n \"type\": \"string\",\r\n \"description\": \"The name of the dependent service. Can be arbitrary, or must reference another service in the services array if referencing appservice, containerapp, staticwebapps, aks, or functionapp.\"\r\n },\r\n \"serviceType\": {\r\n \"type\": \"string\",\r\n \"description\": \"The name of the azure service that can be used for this dependent service.\",\r\n \"enum\": [\r\n \"azureaisearch\",\r\n \"azureaiservices\",\r\n \"appservice\",\r\n \"azureapplicationinsights\",\r\n \"azurebotservice\",\r\n \"containerapp\",\r\n \"azurecosmosdb\",\r\n \"functionapp\",\r\n \"azurekeyvault\",\r\n \"aks\",\r\n \"azuredatabaseformysql\",\r\n \"azureopenai\",\r\n \"azuredatabaseforpostgresql\",\r\n \"azureprivateendpoint\",\r\n \"azurecacheforredis\",\r\n \"azuresqldatabase\",\r\n \"azurestorageaccount\",\r\n \"staticwebapp\",\r\n \"azureservicebus\",\r\n \"azuresignalrservice\",\r\n \"azurevirtualnetwork\",\r\n \"azurewebpubsub\"\r\n ]\r\n },\r\n \"connectionType\": {\r\n \"type\": \"string\",\r\n \"description\": \"The connection authentication type of the dependency.\",\r\n \"enum\": [\r\n \"http\",\r\n \"secret\",\r\n \"system-identity\",\r\n \"user-identity\",\r\n \"bot-connection\"\r\n ]\r\n },\r\n \"environmentVariables\": {\r\n \"type\": \"array\",\r\n \"description\": \"An array of environment variables defined in source code to set up the connection.\",\r\n \"items\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"required\": [\r\n \"name\",\r\n \"serviceType\",\r\n \"connectionType\",\r\n \"environmentVariables\"\r\n ]\r\n }\r\n },\r\n \"settings\": {\r\n \"type\": \"array\",\r\n \"description\": \"An array of environment variables needed to run this service. Please search the entire codebase to find environment variables.\",\r\n \"items\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"required\": [\r\n \"name\",\r\n \"path\",\r\n \"azureComputeHost\",\r\n \"language\",\r\n \"port\",\r\n \"dependencies\",\r\n \"settings\"\r\n ]\r\n }\r\n }\r\n },\r\n \"required\": [\r\n \"workspaceFolder\",\r\n \"services\"\r\n ]\r\n}", + "type": "string", + "required": true + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "942b5c00-01dd-4ca0-9596-4cf650ff7934", + "name": "get", + "description": "Retrieves curated IaC rules and best practices for creating Bicep or Terraform files compatible with Azure Developer CLI (azd) or Azure CLI deployments. Covers Azure resource configuration standards, naming requirements, and deployment tool constraints that differ from generic IaC guidance. Returns a formatted rules document. Specify deployment tool (AzCli or AZD), IaC type (bicep or terraform), and target resource types.", + "command": "deploy iac rules get", + "commonOptions": [ + "--learn" + ], + "options": [ + { + "name": "--deployment-tool", + "description": "The deployment tool to use. Valid values: AzCli, AZD", + "type": "string", + "required": true + }, + { + "name": "--iac-type", + "description": "The type of IaC file used for deployment. Valid values: bicep, terraform. Leave empty ONLY if user wants to use AzCli command script and no IaC file.", + "type": "string" + }, + { + "name": "--resource-types", + "description": "List of Azure resource types to generate rules for. Get the value from context and use the same resources defined in plan. Valid value: 'appservice','containerapp','function','aks','azuredatabaseforpostgresql','azuredatabaseformysql','azuresqldatabase','azurecosmosdb','azurestorageaccount','azurekeyvault'", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "8aec84f9-e884-4119-a386-53b7cfbe9e00", + "name": "get", + "description": "Provides the recommended Azure-specific rules for generating CI/CD pipeline files (GitHub Actions or Azure DevOps) for deploying to Azure. Call this tool before writing pipeline/workflow YAML when the user asks to set up CI/CD pipelines or workflows. It returns current authentication patterns (e.g., OIDC with managed identity), multi-environment configuration, and deployment constraints that vary by platform and are not covered by general best practices. Determine the pipeline platform (github-actions or azure-devops) and deployment scope (deploy-only or provision-and-deploy) from project context before calling. Handles both azd-based and Azure CLI-based deployments.", + "command": "deploy pipeline guidance get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--is-azd-project", + "description": "Whether to use azd tool in the deployment pipeline. Set to true ONLY if azure.yaml is provided or the context suggests AZD tools.", + "type": "string" + }, + { + "name": "--pipeline-platform", + "description": "The platform for the deployment pipeline. Valid values: github-actions, azure-devops.", + "type": "string" + }, + { + "name": "--deploy-option", + "description": "Valid values: deploy-only, provision-and-deploy. Default to deploy-only. Set to 'provision-and-deploy' ONLY WHEN user explicitly wants infra provisioning pipeline using local provisioning scripts.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "92ca95b2-cde6-407c-ac67-9743db40dfc4", + "name": "get", + "description": "Retrieves an Azure-specific deployment plan template for deploying an application to Azure using deployment options provided by the caller. Use this tool when the user wants a formatted, step-by-step deployment plan, including suggested Azure resources, infrastructure as code (IaC) templates, and deployment instructions, for a target Azure hosting service such as Container Apps, App Service, or AKS and a chosen provisioning tool such as Azure Developer CLI (azd) or Azure CLI with Bicep or Terraform. Before calling, determine the services, frameworks, and dependencies to deploy, select the appropriate Azure hosting service, provisioning tool, IaC type, and deployment option, and then pass those chosen values into this tool to generate the deployment plan.", + "command": "deploy plan get", + "commonOptions": [ + "--learn" + ], + "options": [ + { + "name": "--workspace-folder", + "description": "The full path of the workspace folder.", + "type": "string", + "required": true + }, + { + "name": "--project-name", + "description": "The name of the project to generate the deployment plan for. If not provided, will be inferred from the workspace.", + "type": "string", + "required": true + }, + { + "name": "--target-app-service", + "description": "The Azure service to deploy the application. Valid values: ContainerApp, WebApp, FunctionApp, AKS. If not specified, defaults to ContainerApp. Recommend one based on the user application when possible.", + "type": "string" + }, + { + "name": "--provisioning-tool", + "description": "The tool to use for provisioning Azure resources. Valid values: AzCli, AZD.", + "type": "string" + }, + { + "name": "--iac-options", + "description": "The Infrastructure as Code option. Valid values: bicep, terraform. Leave empty if user wants to use azcli command script.", + "type": "string" + }, + { + "name": "--source-type", + "description": "The source of the plan to generate from. Valid values: 'from-project', 'from-azure', 'from-context'. If user doesn't have existing resources, set 'from-project' and generating deploy plan based on the project files in the workspace. If user mentions Azure resources exist, set 'from-azure' and ask for existing Azure resources details to generate plan. If the user have no existing resource but declare the expected Azure resources, use 'from-context' and the deploy plan should be based on the user's input.", + "type": "string" + }, + { + "name": "--deploy-option", + "description": "Set the value based on project and user's input. Valid values: 'provision-and-deploy', 'deploy-only', 'provision-only'. Use 'deploy-only' if user mentions they want to deploy to existing Azure resources or Iac files already exist in project, get Azure resource group from project files or from user. Use 'provision-only' if user only wants to provision Azure resource. Use 'provision-and-deploy' if user wants to deploy application and doesn't have existing infrastructure resources, or are starting from an empty resource group.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "9c42f93b-2d4e-4fb3-b98b-2ef119b46c94", + "name": "list", + "description": "Lists Azure Device Registry namespaces in a subscription or resource group. Returns namespace details including\r\nname, location, provisioning state, and UUID. If a resource group is specified, only namespaces within that\r\nresource group are returned. Otherwise, all namespaces in the subscription are listed.", + "command": "deviceregistry namespace list", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "d5f216a4-c45e-4c29-a414-d3feaa5929e2", + "name": "publish", + "description": "Publish custom events to Event Grid topics for event-driven architectures. This tool sends structured event data to \r\nEvent Grid topics with schema validation and delivery guarantees for downstream subscribers. Returns publish operation \r\nstatus. Requires topic, data, and optional schema.", + "command": "eventgrid events publish", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--topic", + "description": "The name of the Event Grid topic.", + "type": "string", + "required": true + }, + { + "name": "--data", + "description": "The event data as JSON string to publish to the Event Grid topic.", + "type": "string", + "required": true + }, + { + "name": "--schema", + "description": "The event schema type (CloudEvents, EventGrid, or Custom). Defaults to EventGrid.", + "type": "string" + } + ], + "destructive": false, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "716a33e5-755c-4168-87ed-8a4651476c6e", + "name": "list", + "description": "Show all available Event Grid subscriptions with optional topic filtering. This tool displays active event subscriptions including webhook endpoints, event filters, and delivery retry policies. Use this when you need to show, list, or get Event Grid subscriptions for topics. Requires either topic name OR subscription. If only topic is provided, searches all accessible subscriptions for a topic with that name. Resource group and location filters can be applied, but only when used with a subscription or topic.", + "command": "eventgrid subscription list", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--topic", + "description": "The name of the Event Grid topic.", + "type": "string" + }, + { + "name": "--location", + "description": "The Azure region to filter resources by (e.g., 'eastus', 'westus2').", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "42390294-2856-4980-a057-095c91355650", + "name": "list", + "description": "List or show all Event Grid topics in a subscription, optionally filtered by resource group, returning endpoints, access keys, provisioning state, and subscription details for event publishing and management. A subscription or topic name is required.", + "command": "eventgrid topic list", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "08980fd4-c7c2-41cd-a3c2-eda5303bd458", + "name": "delete", + "description": "Delete a Consumer Group. This tool will delete a pre-existing Consumer Group from the specified \r\nEvent Hub. This tool will remove existing configurations, and is considered to be destructive.\r\n\r\nThe tool requires specifying the resource group, Namespace name, Event Hub name, and Consumer\r\nGroup name to identify the Consumer Group to delete.", + "command": "eventhubs eventhub consumergroup delete", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--namespace", + "description": "The name of the Event Hubs namespace to retrieve. Must be used with --resource-group option.", + "type": "string", + "required": true + }, + { + "name": "--eventhub", + "description": "The name of the Event Hub within the namespace.", + "type": "string", + "required": true + }, + { + "name": "--consumer-group", + "description": "The name of the consumer group within the Event Hub.", + "type": "string", + "required": true + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "604fda48-2438-419d-a819-5f9d2f3b21f8", + "name": "get", + "description": "Get consumer groups from Azure Event Hub. This command can either:\r\n\r\n1) List all consumer groups in an Event Hub\r\n2) Get a single consumer group by name\r\n\r\nThe EventHub, Namespace, and ResourceGroup parameters are required (for both get and list)\r\nThe Consumer Group parameter is only required for getting a specific consumer-group\r\nWhen retrieving a single consumer group and when listing all available consumer groups, return all available metadata on the consumer group.", + "command": "eventhubs eventhub consumergroup get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--namespace", + "description": "The name of the Event Hubs namespace to retrieve. Must be used with --resource-group option.", + "type": "string", + "required": true + }, + { + "name": "--eventhub", + "description": "The name of the Event Hub within the namespace.", + "type": "string", + "required": true + }, + { + "name": "--consumer-group", + "description": "The name of the consumer group within the Event Hub.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "859871ba-b8dc-439c-a607-11b0d89f5112", + "name": "update", + "description": "Create or Update a Consumer Group. This tool will either create a Consumer Group resource \r\nor update a pre-existing Consumer Group resource within the specified Event Hub, depending \r\non whether or not the specified Consumer Group already exists. This tool may modify existing \r\nconfigurations, and is considered to be destructive. \r\n\r\nThe tool requires specifying the resource group, namespace name, event hub name, and consumer \r\ngroup name. Optionally, you can provide user metadata for the consumer group.", + "command": "eventhubs eventhub consumergroup update", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--namespace", + "description": "The name of the Event Hubs namespace to retrieve. Must be used with --resource-group option.", + "type": "string", + "required": true + }, + { + "name": "--eventhub", + "description": "The name of the Event Hub within the namespace.", + "type": "string", + "required": true + }, + { + "name": "--consumer-group", + "description": "The name of the consumer group within the Event Hub.", + "type": "string", + "required": true + }, + { + "name": "--user-metadata", + "description": "User metadata for the consumer group.", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "108ffeab-8d37-4c29-98c9-aa99eb8f61c7", + "name": "delete", + "description": "Delete an Event Hub from an Azure Event Hubs namespace. This operation permanently removes\r\nthe specified Event Hub and all its data. This is a destructive operation.\r\n\r\nThe operation is idempotent - if the Event Hub doesn't exist, the command reports success\r\nwith Deleted = false. If the Event Hub is successfully deleted, Deleted = true is returned.\r\nWarning: This operation cannot be undone. All messages and consumer groups in the Event Hub\r\nwill be permanently deleted.", + "command": "eventhubs eventhub delete", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--namespace", + "description": "The name of the Event Hubs namespace to retrieve. Must be used with --resource-group option.", + "type": "string", + "required": true + }, + { + "name": "--eventhub", + "description": "The name of the Event Hub within the namespace.", + "type": "string", + "required": true + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "ab774777-76ac-4e24-ba19-da67254441a9", + "name": "get", + "description": "Get Event Hubs from Azure namespace. This command can either:\r\n1. List all Event Hubs in a namespace\r\n2. Get a single Event Hub by name\r\n\r\nWhen retrieving a single Event Hub or listing multiple Event Hubs, detailed information including\r\npartition count, settings, and metadata is returned for all Event Hubs.", + "command": "eventhubs eventhub get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--namespace", + "description": "The name of the Event Hubs namespace to retrieve. Must be used with --resource-group option.", + "type": "string", + "required": true + }, + { + "name": "--eventhub", + "description": "The name of the Event Hub within the namespace.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "1df73670-9de5-4d4b-bdd8-9d2d9e16f732", + "name": "update", + "description": "Create or update an Event Hub within an Azure Event Hubs namespace. This command can either:\r\n1. Create a new Event Hub if it doesn't exist\r\n2. Update an existing Event Hub's configuration\r\n\r\nYou can configure:\r\n- Partition count (number of partitions for parallel processing)\r\n- Message retention time (how long messages are retained in hours)\r\n\r\nNote: Some properties like partition count cannot be changed after creation.\r\nThis is a potentially long-running operation that waits for completion.", + "command": "eventhubs eventhub update", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--namespace", + "description": "The name of the Event Hubs namespace to retrieve. Must be used with --resource-group option.", + "type": "string", + "required": true + }, + { + "name": "--eventhub", + "description": "The name of the Event Hub within the namespace.", + "type": "string", + "required": true + }, + { + "name": "--partition-count", + "description": "The number of partitions for the event hub. Must be between 1 and 32 (or higher based on namespace tier).", + "type": "string" + }, + { + "name": "--message-retention-in-hours", + "description": "The message retention time in hours. Minimum is 1 hour, maximum depends on the namespace tier.", + "type": "string" + }, + { + "name": "--status", + "description": "The status of the event hub (Active, Disabled, etc.). Note: Status may be read-only in some operations.", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "187ffc25-1e32-4e39-a7d4-94859852ac50", + "name": "delete", + "description": "Delete Event Hubs namespace. This tool will delete a pre-existing Namespace from the \r\nspecified resource group. This tool will remove existing configurations, and is \r\nconsidered to be destructive.\r\n\r\nWARNING: This operation is irreversible. All Event Hubs, Consumer Groups, and\r\nconfigurations within the namespace will be permanently deleted.\r\n\r\nThe namespace must exist in the specified resource group. If the namespace is not found,\r\nan error will be returned.", + "command": "eventhubs namespace delete", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--namespace", + "description": "The name of the Event Hubs namespace to retrieve. Must be used with --resource-group option.", + "type": "string", + "required": true + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "71ec6c5b-b6e4-4c64-b31b-2d61dfad3b5c", + "name": "get", + "description": "Get Event Hubs namespaces from Azure. This command supports three modes of operation:\r\n1. List all Event Hubs namespaces in a subscription \r\n2. List all Event Hubs namespaces in a specific resource group \r\n3. Get a single namespace by name \r\n\r\nWhen retrieving a single namespace, detailed information including SKU, settings, and metadata \r\nis returned. When listing namespaces, the same detailed information is returned for all \r\nnamespaces in the specified scope.\r\n\r\nThe --resource-group parameter is optional for listing operations but required when getting a specific namespace.", + "command": "eventhubs namespace get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--namespace", + "description": "The name of the Event Hubs namespace to retrieve. Must be used with --resource-group option.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "225eb25d-52c5-4c3a-9eb4-066cf2b9da84", + "name": "update", + "description": "Create or Update a Namespace. This tool will either create a Namespace resource or \r\nupdate a pre-existing Namespace resource within the specified resource group, depending on \r\nwhether or not the specified Namespace already exists. This tool may modify existing \r\nconfigurations, and is considered to be destructive. This is a potentially long-running operation.\r\n\r\nWhen updating an existing namespace, you only need to provide the properties you want to change.\r\nUnspecified properties will retain their existing values. At least one update property must be provided.\r\n\r\nCommon update scenarios:\r\n- Scale up/down by changing SKU tier or capacity\r\n- Enable/disable auto-inflate and set maximum throughput units\r\n- Enable/disable Kafka support\r\n- Modify tags for resource management\r\n- Enable/disable zone redundancy (Premium SKU only)", + "command": "eventhubs namespace update", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--namespace", + "description": "The name of the Event Hubs namespace to retrieve. Must be used with --resource-group option.", + "type": "string", + "required": true + }, + { + "name": "--location", + "description": "The Azure region where the namespace is located (e.g., 'eastus', 'westus2').", + "type": "string" + }, + { + "name": "--sku-name", + "description": "The SKU name for the namespace. Valid values: 'Basic', 'Standard', 'Premium'.", + "type": "string" + }, + { + "name": "--sku-tier", + "description": "The SKU tier for the namespace. Valid values: 'Basic', 'Standard', 'Premium'.", + "type": "string" + }, + { + "name": "--sku-capacity", + "description": "The SKU capacity (throughput units) for the namespace. Valid range depends on the SKU.", + "type": "string" + }, + { + "name": "--is-auto-inflate-enabled", + "description": "Enable or disable auto-inflate for the namespace.", + "type": "string" + }, + { + "name": "--maximum-throughput-units", + "description": "The maximum throughput units when auto-inflate is enabled.", + "type": "string" + }, + { + "name": "--kafka-enabled", + "description": "Enable or disable Kafka for the namespace.", + "type": "string" + }, + { + "name": "--zone-redundant", + "description": "Enable or disable zone redundancy for the namespace.", + "type": "string" + }, + { + "name": "--tags", + "description": "Tags for the namespace in JSON format (e.g., '{\"key1\":\"value1\",\"key2\":\"value2\"}').", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "e7ef18a3-2730-4300-bad3-dc766f47dd2a", + "name": "azqr", + "description": "Runs Azure Quick Review CLI (azqr) commands to generate compliance and security reports for Azure resources, identifying non-compliant configurations or areas for improvement. Requires a subscription id and optionally a resource group name. Returns the generated report file path. Note: azqr is different from Azure CLI (az).", + "command": "extension azqr", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "3de4ef37-90bf-41f1-8385-5e870c3ae911", + "name": "generate", + "description": "Generate Azure CLI (az) commands used to accomplish a goal described by the user. This tool incorporates CLI knowledge beyond what you know. Use this tool when the user asks for Azure CLI commands or wants to use the Azure CLI to accomplish something.", + "command": "extension cli generate", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--learn" + ], + "options": [ + { + "name": "--intent", + "description": "The user intent of the task to be solved by using the CLI tool. This user intent will be used to generate the appropriate CLI command to accomplish the desirable goal.", + "type": "string", + "required": true + }, + { + "name": "--cli-type", + "description": "The type of CLI tool to use. Supported values are 'az' for Azure CLI.", + "type": "string", + "required": true + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "464626d0-b9be-4a3b-9f29-858637ab8c10", + "name": "install", + "description": "Provide installation instructions for Azure CLI (az), Azure Developer CLI (azd), and Azure Functions Core Tools CLI (func). This tool incorporates CLI knowledge beyond what you know. Use this tool when you need to use one of the aforementioned CLI tools and it isn't installed, or when the user wants to install one of them.", + "command": "extension cli install", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--learn" + ], + "options": [ + { + "name": "--cli-type", + "description": "The type of CLI tool to use. Supported values are 'az' for Azure CLI, 'azd' for Azure Developer CLI, and 'func' for Azure Functions Core Tools CLI.", + "type": "string", + "required": true + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": true + }, + { + "id": "a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d", + "name": "check-name-availability", + "description": "Check if a file share name is available", + "command": "fileshares fileshare check-name-availability", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--name", + "description": "The name of the file share", + "type": "string", + "required": true + }, + { + "name": "--location", + "description": "The Azure region/location name (e.g., EastUS, WestEurope)", + "type": "string", + "required": true + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "b3c4d5e6-f7a8-4b9c-0d1e-2f3a4b5c6d7e", + "name": "create", + "description": "Create a new Azure managed file share resource in a resource group. This creates a high-performance, fully managed file share accessible via NFS protocol.", + "command": "fileshares fileshare create", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--name", + "description": "The name of the file share", + "type": "string", + "required": true + }, + { + "name": "--location", + "description": "The Azure region/location name (e.g., EastUS, WestEurope)", + "type": "string", + "required": true + }, + { + "name": "--mount-name", + "description": "The mount name of the file share as seen by end users", + "type": "string" + }, + { + "name": "--media-tier", + "description": "The storage media tier (e.g., SSD)", + "type": "string" + }, + { + "name": "--redundancy", + "description": "The redundancy level (e.g., Local, Zone)", + "type": "string" + }, + { + "name": "--protocol", + "description": "The file sharing protocol (e.g., NFS)", + "type": "string" + }, + { + "name": "--provisioned-storage-in-gib", + "description": "The desired provisioned storage size of the share in GiB", + "type": "string" + }, + { + "name": "--provisioned-io-per-sec", + "description": "The provisioned IO operations per second", + "type": "string" + }, + { + "name": "--provisioned-throughput-mib-per-sec", + "description": "The provisioned throughput in MiB per second", + "type": "string" + }, + { + "name": "--public-network-access", + "description": "Public network access setting (Enabled or Disabled)", + "type": "string" + }, + { + "name": "--nfs-root-squash", + "description": "NFS root squash setting (NoRootSquash, RootSquash, or AllSquash)", + "type": "string" + }, + { + "name": "--allowed-subnets", + "description": "Comma-separated list of subnet IDs allowed to access the file share", + "type": "string" + }, + { + "name": "--tags", + "description": "Resource tags as JSON (e.g., {\"key1\":\"value1\",\"key2\":\"value2\"})", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "e9f0a1b2-c3d4-4e5f-6a7b-8c9d0e1f2a3b", + "name": "delete", + "description": "Delete a file share", + "command": "fileshares fileshare delete", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--name", + "description": "The name of the file share", + "type": "string", + "required": true + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "c5d6e7f8-a9b0-4c1d-2e3f-4a5b6c7d8e9f", + "name": "get", + "description": "Get details of a specific file share or list all file shares. If --name is provided, returns a specific file share; otherwise, lists all file shares in the subscription or resource group.", + "command": "fileshares fileshare get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--name", + "description": "The name of the file share", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "a8e9f7d6-c5b4-4a3d-9e2f-1c0b8a7d6e5f", + "name": "get", + "description": "Get details of a specific private endpoint connection or list all private endpoint connections for a file share. If --connection-name is provided, returns a specific connection; otherwise, lists all connections.", + "command": "fileshares fileshare peconnection get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--file-share-name", + "description": "The name of the file share", + "type": "string", + "required": true + }, + { + "name": "--connection-name", + "description": "The name of the private endpoint connection", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "c6d7e8f9-a0b1-4c2d-3e4f-5a6b7c8d9e0f", + "name": "update", + "description": "Update the state of a private endpoint connection for a file share. Use this to approve or reject private endpoint connection requests.", + "command": "fileshares fileshare peconnection update", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--file-share-name", + "description": "The name of the file share", + "type": "string", + "required": true + }, + { + "name": "--connection-name", + "description": "The name of the private endpoint connection", + "type": "string", + "required": true + }, + { + "name": "--status", + "description": "The connection status (Approved, Rejected, or Pending)", + "type": "string", + "required": true + }, + { + "name": "--description", + "description": "Description for the connection state change", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "f1a2b3c4-d5e6-4f7a-8b9c-0d1e2f3a4b5c", + "name": "create", + "description": "Create a snapshot of an Azure managed file share. Snapshots are read-only point-in-time copies used for backup and recovery.", + "command": "fileshares fileshare snapshot create", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--file-share-name", + "description": "The name of the parent file share", + "type": "string", + "required": true + }, + { + "name": "--snapshot-name", + "description": "The name of the snapshot", + "type": "string", + "required": true + }, + { + "name": "--metadata", + "description": "Custom metadata for the snapshot as a JSON object (e.g., {\"key1\":\"value1\",\"key2\":\"value2\"})", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "c7d8e9f0-a1b2-4c3d-4e5f-6a7b8c9d0e1f", + "name": "delete", + "description": "Delete a file share snapshot permanently. This operation cannot be undone.", + "command": "fileshares fileshare snapshot delete", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--file-share-name", + "description": "The name of the parent file share", + "type": "string", + "required": true + }, + { + "name": "--snapshot-name", + "description": "The name of the snapshot", + "type": "string", + "required": true + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "a3b4c5d6-e7f8-4a9b-0c1d-2e3f4a5b6c7d", + "name": "get", + "description": "Get details of a specific file share snapshot or list all snapshots. If --snapshot-name is provided, returns a specific snapshot; otherwise, lists all snapshots for the file share.", + "command": "fileshares fileshare snapshot get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--file-share-name", + "description": "The name of the parent file share", + "type": "string", + "required": true + }, + { + "name": "--snapshot-name", + "description": "The name of the snapshot", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "b5c6d7e8-f9a0-4b1c-2d3e-4f5a6b7c8d9e", + "name": "update", + "description": "Update properties and metadata of an Azure managed file share snapshot, such as tags or retention policies.", + "command": "fileshares fileshare snapshot update", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--file-share-name", + "description": "The name of the parent file share", + "type": "string", + "required": true + }, + { + "name": "--snapshot-name", + "description": "The name of the snapshot", + "type": "string", + "required": true + }, + { + "name": "--metadata", + "description": "Custom metadata for the snapshot as a JSON object (e.g., {\"key1\":\"value1\",\"key2\":\"value2\"})", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "d7e8f9a0-b1c2-4d3e-4f5a-6b7c8d9e0f1a", + "name": "update", + "description": "Update an existing Azure managed file share resource. Allows updating mutable properties like provisioned storage, IOPS, throughput, and network access settings.", + "command": "fileshares fileshare update", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--name", + "description": "The name of the file share", + "type": "string", + "required": true + }, + { + "name": "--provisioned-storage-in-gib", + "description": "The desired provisioned storage size of the share in GiB", + "type": "string" + }, + { + "name": "--provisioned-io-per-sec", + "description": "The provisioned IO operations per second", + "type": "string" + }, + { + "name": "--provisioned-throughput-mib-per-sec", + "description": "The provisioned throughput in MiB per second", + "type": "string" + }, + { + "name": "--public-network-access", + "description": "Public network access setting (Enabled or Disabled)", + "type": "string" + }, + { + "name": "--nfs-root-squash", + "description": "NFS root squash setting (NoRootSquash, RootSquash, or AllSquash)", + "type": "string" + }, + { + "name": "--allowed-subnets", + "description": "Comma-separated list of subnet IDs allowed to access the file share", + "type": "string" + }, + { + "name": "--tags", + "description": "Resource tags as JSON (e.g., {\"key1\":\"value1\",\"key2\":\"value2\"})", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "a9e1f0b2-c3d4-4e5f-a6b7-c8d9e0f1a2b3", + "name": "limits", + "description": "Get file share limits for a subscription and location", + "command": "fileshares limits", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--location", + "description": "The Azure region/location name (e.g., eastus, westeurope)", + "type": "string", + "required": true + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "3c5e1fb2-3a8d-4f8e-8b0a-1c2d3e4f5a6b", + "name": "rec", + "description": "Get provisioning parameter recommendations for a file share based on desired storage size", + "command": "fileshares rec", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--location", + "description": "The Azure region/location name (e.g., eastus, westeurope)", + "type": "string", + "required": true + }, + { + "name": "--provisioned-storage-in-gib", + "description": "The desired provisioned storage size of the share in GiB", + "type": "string", + "required": true + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "93d14ba8-5e75-4190-93dd-f47e932b849b", + "name": "usage", + "description": "Get file share usage data for a subscription and location", + "command": "fileshares usage", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--location", + "description": "The Azure region/location name (e.g., eastus, westeurope)", + "type": "string", + "required": true + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "b2c3d4e5-2345-6789-bcde-f01234567890", + "name": "list", + "description": "Retrieves a list of knowledge indexes from Microsoft Foundry.\r\n\r\nThis function is used when a user requests information about the available knowledge indexes in Microsoft Foundry. It provides an overview of the knowledge bases and search indexes that are currently deployed and available for use with AI agents and applications.\r\n\r\nRequires the project endpoint URL (format: https://.services.ai.azure.com/api/projects/).\r\n\r\nUsage:\r\n Use this function when a user wants to explore the available knowledge indexes in Microsoft Foundry. This can help users understand what knowledge bases are currently operational and how they can be utilized for retrieval-augmented generation (RAG) scenarios.\r\n\r\nNotes:\r\n - The indexes listed are knowledge indexes specifically created within Microsoft Foundry projects.\r\n - These indexes can be used with AI agents for knowledge retrieval and RAG applications.\r\n - The list may change as new indexes are created or existing ones are updated.", + "command": "foundryextensions knowledge index list", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--learn" + ], + "options": [ + { + "name": "--endpoint", + "description": "The endpoint URL for the Microsoft Foundry project/service. The endpoint follows this pattern https://.services.ai.azure.com/api/projects/.", + "type": "string", + "required": true + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "c3d4e5f6-3456-789a-cdef-012345678901", + "name": "schema", + "description": "Retrieves the detailed schema configuration of a specific knowledge index from Microsoft Foundry.\r\n\r\nThis function provides comprehensive information about the structure and configuration of a knowledge index, including field definitions, data types, searchable attributes, and other schema properties. The schema information is essential for understanding how the index is structured and how data is indexed and searchable.\r\n\r\nUsage:\r\n Use this function when you need to examine the detailed configuration of a specific knowledge index. This is helpful for troubleshooting search issues, understanding index capabilities, planning data mapping, or when integrating with the index programmatically.\r\n\r\nNotes:\r\n - Returns the index schema.", + "command": "foundryextensions knowledge index schema", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--learn" + ], + "options": [ + { + "name": "--endpoint", + "description": "The endpoint URL for the Microsoft Foundry project/service. The endpoint follows this pattern https://.services.ai.azure.com/api/projects/.", + "type": "string", + "required": true + }, + { + "name": "--index", + "description": "The name of the knowledge index.", + "type": "string", + "required": true + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "d4e5f6a7-4567-89ab-def0-123456789012", + "name": "chat-completions-create", + "description": "Create chat completions using Azure OpenAI in Microsoft Foundry. Send messages to Azure OpenAI chat models deployed\r\nin your Microsoft Foundry resource and receive AI-generated conversational responses. Supports multi-turn conversations\r\nwith message history, system instructions, and response customization. Use this when you need to create chat\r\ncompletions, have AI conversations, get conversational responses, or build interactive dialogues with Azure OpenAI.\r\nRequires resource-name, deployment-name, and message-array.", + "command": "foundryextensions openai chat-completions-create", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--resource-name", + "description": "The name of the Azure OpenAI resource.", + "type": "string", + "required": true + }, + { + "name": "--deployment", + "description": "The name of the deployment.", + "type": "string", + "required": true + }, + { + "name": "--message-array", + "description": "Array of messages in the conversation (JSON format). Each message should have 'role' and 'content' properties.", + "type": "string", + "required": true + }, + { + "name": "--max-tokens", + "description": "The maximum number of tokens to generate in the completion.", + "type": "string" + }, + { + "name": "--temperature", + "description": "Controls randomness in the output. Lower values make it more deterministic.", + "type": "string" + }, + { + "name": "--top-p", + "description": "Controls diversity via nucleus sampling (0.0 to 1.0). Default is 1.0.", + "type": "string" + }, + { + "name": "--frequency-penalty", + "description": "Penalizes new tokens based on their frequency (-2.0 to 2.0). Default is 0.", + "type": "string" + }, + { + "name": "--presence-penalty", + "description": "Penalizes new tokens based on presence (-2.0 to 2.0). Default is 0.", + "type": "string" + }, + { + "name": "--stop", + "description": "Up to 4 sequences where the API will stop generating further tokens.", + "type": "string" + }, + { + "name": "--stream", + "description": "Whether to stream back partial progress. Default is false.", + "type": "string" + }, + { + "name": "--seed", + "description": "If specified, the system will make a best effort to sample deterministically.", + "type": "string" + }, + { + "name": "--user", + "description": "Optional user identifier for tracking and abuse monitoring.", + "type": "string" + } + ], + "destructive": false, + "idempotent": false, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "e5f6a7b8-5678-9abc-ef01-234567890123", + "name": "create-completion", + "description": "Create text completions using Azure OpenAI in Microsoft Foundry. Send a prompt or question to Azure OpenAI models\r\ndeployed in your Microsoft Foundry resource and receive generated text answers. Use this when you need to create\r\ncompletions, get AI-generated content, generate answers to questions, or produce text completions from Azure\r\nOpenAI based on any input prompt. Supports customization with temperature and max tokens.\r\nRequires resource-name, deployment-name, and prompt-text.", + "command": "foundryextensions openai create-completion", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--resource-name", + "description": "The name of the Azure OpenAI resource.", + "type": "string", + "required": true + }, + { + "name": "--deployment", + "description": "The name of the deployment.", + "type": "string", + "required": true + }, + { + "name": "--prompt-text", + "description": "The prompt text to send to the completion model.", + "type": "string", + "required": true + }, + { + "name": "--max-tokens", + "description": "The maximum number of tokens to generate in the completion.", + "type": "string" + }, + { + "name": "--temperature", + "description": "Controls randomness in the output. Lower values make it more deterministic.", + "type": "string" + } + ], + "destructive": false, + "idempotent": false, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "f6a7b8c9-6789-abcd-f012-345678901234", + "name": "embeddings-create", + "description": "Create embeddings using Azure OpenAI in Microsoft Foundry. Generate vector embeddings from text using Azure OpenAI\r\ndeployments in your Microsoft Foundry resource for semantic search, similarity comparisons, clustering, or machine\r\nlearning. Use this when you need to create foundry embeddings, generate vectors from text, or convert text to\r\nnumerical representations using Azure OpenAI. Requires resource-name, deployment-name, and input-text.", + "command": "foundryextensions openai embeddings-create", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--resource-name", + "description": "The name of the Azure OpenAI resource.", + "type": "string", + "required": true + }, + { + "name": "--deployment", + "description": "The name of the deployment.", + "type": "string", + "required": true + }, + { + "name": "--input-text", + "description": "The input text to generate embeddings for.", + "type": "string", + "required": true + }, + { + "name": "--user", + "description": "Optional user identifier for tracking and abuse monitoring.", + "type": "string" + }, + { + "name": "--encoding-format", + "description": "The format to return embeddings in (float or base64).", + "type": "string" + }, + { + "name": "--dimensions", + "description": "The number of dimensions for the embedding output. Only supported in some models.", + "type": "string" + } + ], + "destructive": false, + "idempotent": false, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "a7b8c9d0-7890-bcde-0123-456789012345", + "name": "models-list", + "description": "List Azure OpenAI model deployments in a Microsoft Foundry resource, including deployment names, model names,\r\nversions, capabilities, and deployment status. Use this to show model deployments, check which OpenAI models\r\nare deployed, or see available models in a specific Foundry resource. Requires resource-name and resource-group.\r\nFor Foundry resource-level details like endpoint URL, location, or SKU, use the resource get command instead.", + "command": "foundryextensions openai models-list", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--resource-name", + "description": "The name of the Azure OpenAI resource.", + "type": "string", + "required": true + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "b8c9d0e1-8901-cdef-1234-567890123456", + "name": "get", + "description": "Gets detailed information about Microsoft Foundry (Cognitive Services) resources, including endpoint URL,\r\nlocation, SKU, and provisioning state. If a specific resource name is provided, returns details for that\r\nresource only. If no resource name is provided, lists all Microsoft Foundry resources in the subscription\r\nor resource group. Use this tool when users need endpoint information, want to discover available AI\r\nresources, or need to check the configuration of a Foundry account. To list OpenAI model deployments\r\nwithin a resource, use the openai models-list command instead.", + "command": "foundryextensions resource get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--resource-name", + "description": "The name of the Azure OpenAI resource.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "5249839c-a3c6-4f9e-b62b-afde801d95a6", + "name": "get", + "description": "Gets Azure Function App details. Lists all Function Apps in the subscription or resource group. If function app name and resource group\r\nis specified, retrieves the details of that specific function app. Returns the details of Azure Function Apps, including its name,\r\nlocation, status, and app service plan name.", + "command": "functionapp get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--function-app", + "description": "The name of the Function App.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "f7c8d9e0-a1b2-4c3d-8e5f-6a7b8c9d0e1f", + "name": "list", + "description": "Answer questions about what programming languages Azure Functions supports with up-to-date runtime versions and tooling details. Returns the current list of supported languages with runtime versions, prerequisites, development tools, and CLI commands for init/run/build. Provides authoritative data that may differ from general knowledge. Call this tool first when users ask about Azure Functions languages or before generating code with functions_project_get or functions_template_get.", + "command": "functions language list", + "commonOptions": [ + "--learn" + ], + "options": [], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "b2c3d4e5-f6a7-8901-bcde-f12345678901", + "name": "get", + "description": "Get project scaffolding information for a new Azure Functions app. Call this tool when the user wants to create, initialize, or set up a new Azure Functions project. Returns the complete project structure, required files configurations and setup instructions for the specific language that agents use to create files. Use after functions language list and before functions template get.", + "command": "functions project get", + "commonOptions": [ + "--learn" + ], + "options": [ + { + "name": "--language", + "description": "Programming language for the Azure Functions project. Valid values: python, typescript, javascript, java, csharp, powershell.", + "type": "string", + "required": true + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "c3d4e5f6-a7b8-9012-cdef-234567890123", + "name": "get", + "description": "Lists available Azure Functions templates or generates function code for Timer (cron schedules), HTTP, Blob, Queue, Event Hub, Cosmos DB, Service Bus, Durable, event-driven, and MCP tool triggers with input and output bindings, orchestrations, and serverless infrastructure. Create trigger functions, activity functions, or MCP server functions in C#, Python, JavaScript, TypeScript, Java, or PowerShell. Without --template, lists all available triggers, bindings, and templates for the selected language. With --template, generates function code files with azd infrastructure support (Bicep, Terraform, ARM). Select one trigger (required) and zero or more input or output bindings.", + "command": "functions template get", + "commonOptions": [ + "--learn" + ], + "options": [ + { + "name": "--language", + "description": "Programming language for the Azure Functions project. Valid values: python, typescript, javascript, java, csharp, powershell.", + "type": "string", + "required": true + }, + { + "name": "--template", + "description": "Name of the function template to retrieve (e.g., HttpTrigger, BlobTrigger). Omit to list all available templates for the specified language.", + "type": "string" + }, + { + "name": "--runtime-version", + "description": "Optional runtime version for Java or TypeScript/JavaScript. When provided, template placeholders like {{javaVersion}} or {{nodeVersion}} are replaced automatically. See 'functions language list' for supported versions.", + "type": "string" + }, + { + "name": "--output", + "description": "Output format. 'New' (default) returns all files in a single 'files' list for creating complete projects. 'Add' separates files into 'functionFiles' and 'projectFiles' with merge instructions for adding to existing projects.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "6c29659e-406d-4b9b-8150-e3d4fd7ba31c", + "name": "ai_app", + "description": "Returns best practices and code generation guidance for building AI applications in Azure.\r\nUse this command when you need recommendations on how to write code for AI agents, chatbots, workflows, or any AI / LLM features.\r\nThis command also provides guidance for code generation on Microsoft Foundry for application development.\r\nWhen the request involves code generation of AI components or AI applications in any capacity, use this command instead of calling the general code generation best practices command.", + "command": "get azure bestpractices ai app", + "commonOptions": [ + "--learn" + ], + "options": [], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "ff12e8fb-f7ce-446a-884b-996dac118b83", + "name": "get", + "description": "This tool returns a list of best practices for code generation, operations and deployment\r\nwhen working with Azure services. It should be called for any code generation, deployment or\r\noperations involving Azure, Azure Functions, Azure Kubernetes Service (AKS), Azure Container\r\nApps (ACA), Bicep, Terraform, Azure Cache, Redis, CosmosDB, Entra, Azure Active Directory,\r\nAzure App Services, or any other Azure technology or programming language. Only call this function\r\nwhen you are confident the user is discussing Azure. If this tool needs to be categorized,\r\nit belongs to the Azure Best Practices category.", + "command": "get azure bestpractices get", + "commonOptions": [ + "--learn" + ], + "options": [ + { + "name": "--resource", + "description": "The Azure resource type for which to get best practices. Options: 'general' (general Azure), 'azurefunctions' (Azure Functions), 'static-web-app' (Azure Static Web Apps), 'coding-agent' (Coding Agent).", + "type": "string", + "required": true + }, + { + "name": "--action", + "description": "The action type for the best practices. Options: 'all', 'code-generation', 'deployment'. Note: 'static-web-app' and 'coding-agent' resources only supports 'all'.", + "type": "string", + "required": true + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "7a47b562-f219-47de-80f6-12e19367b61d", + "name": "list", + "description": "List all Grafana workspace resources in a specified subscription. Returns an array of Grafana workspace details.\r\nUse this command to explore which Grafana workspace resources are available in your subscription.", + "command": "grafana list", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "a0049f31-9a32-4b5e-91ec-e7b074fc7246", + "name": "list", + "description": "List all resource groups in a subscription. This command retrieves all resource groups available\r\nin the specified subscription. Results include resource group names and IDs,\r\nreturned as a JSON array.", + "command": "group list", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "b1c2d3e4-f5a6-7890-abcd-ef1234567890", + "name": "list", + "description": "List all resources in a resource group. This command retrieves all resources available\r\nin the specified resource group within the given subscription. Results include resource\r\nnames, IDs, types, and locations. The command returns a JSON object with a `resources`\r\narray containing these entries.", + "command": "group resource list", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "2e89755e-8c64-4c08-ae10-8fd47aead570", + "name": "get", + "description": "Retrieves all Managed HSM account settings for a Key Vault. Returns configuration setting values such as purge protection and soft-delete retention days. This is NOT for secrets, keys, or certificates ΓÇö use this when the user asks about vault configuration settings or account-level settings. This tool ONLY applies to Managed HSM vaults.", + "command": "keyvault admin settings get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--vault", + "description": "The name of the Key Vault.", + "type": "string", + "required": true + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "a11e024a-62e6-4237-8d7d-4b9b8439f50e", + "name": "create", + "description": "Create/issue/generate a new certificate in an Azure Key Vault using the default certificate policy. Required: --vault, --certificate, --subscription. Optional: --tenant . Returns: name, id, keyId, secretId, cer (base64), thumbprint, enabled, notBefore, expiresOn, createdOn, updatedOn, subject, issuerName. Creates a new certificate version if it already exists.", + "command": "keyvault certificate create", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--vault", + "description": "The name of the Key Vault.", + "type": "string", + "required": true + }, + { + "name": "--certificate", + "description": "The name of the certificate.", + "type": "string", + "required": true + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "0e898126-0c5e-44b8-9eef-51ddeed6327f", + "name": "get", + "description": "List all certificates in your Key Vault or get a specific certificate by name. Shows all certificate names in the vault, or retrieves full certificate details including key ID, secret ID, thumbprint, and policy information.", + "command": "keyvault certificate get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--vault", + "description": "The name of the Key Vault.", + "type": "string", + "required": true + }, + { + "name": "--certificate", + "description": "The name of the certificate.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "4ae12e3e-dee0-4d8d-ad34-ffeaf70c642b", + "name": "import", + "description": "Imports/uploads an existing certificate (PFX or PEM with private key) into an Azure Key Vault without generating a new certificate or key material. This command accepts either a file path to a PFX/PEM file, a base64 encoded PFX, or raw PEM text starting with -----BEGIN. If the certificate is a password-protected PFX, a password must be provided. Required: --vault , --certificate , --certificate-data , --subscription . Optional: --password , --tenant . Returns: name, id, keyId, secretId, cer (base64), thumbprint, enabled, notBefore, expiresOn, createdOn, updatedOn, subject, issuer. Creates a new certificate version if it already exists.", + "command": "keyvault certificate import", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--vault", + "description": "The name of the Key Vault.", + "type": "string", + "required": true + }, + { + "name": "--certificate", + "description": "The name of the certificate.", + "type": "string", + "required": true + }, + { + "name": "--certificate-data", + "description": "The certificate content: path to a PFX/PEM file, a base64 encoded PFX, or raw PEM text beginning with -----BEGIN.", + "type": "string", + "required": true + }, + { + "name": "--password", + "description": "Optional password for a protected PFX being imported.", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": true + }, + { + "id": "ef27bda9-8a1f-4288-b68b-12308ab8e607", + "name": "create", + "description": "Create a new key in an Azure Key Vault. This command creates a key with the specified name and type in the given vault. Supports types: RSA, RSA-HSM, EC, EC-HSM, oct, oct-HSM. Required: --vault , --key --key-type --subscription . Optional: --tenant . Returns: Returns: name, id, keyId, keyType, enabled, notBefore, expiresOn, createdOn, updatedOn. Creates a new key version if it already exists.", + "command": "keyvault key create", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--vault", + "description": "The name of the Key Vault.", + "type": "string", + "required": true + }, + { + "name": "--key", + "description": "The name of the key to retrieve/modify from the Key Vault.", + "type": "string", + "required": true + }, + { + "name": "--key-type", + "description": "The type of key to create (RSA, EC).", + "type": "string", + "required": true + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "c19a45a0-b963-427d-a087-35560a7f4e5b", + "name": "get", + "description": "List all keys in your Key Vault or get a specific key by name. Shows all key names in the vault, or retrieves full key details including type, enabled status, and expiration dates. Use --include-managed to show managed keys.", + "command": "keyvault key get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--vault", + "description": "The name of the Key Vault.", + "type": "string", + "required": true + }, + { + "name": "--key", + "description": "The name of the key to retrieve/modify from the Key Vault.", + "type": "string" + }, + { + "name": "--include-managed", + "description": "Whether or not to include managed keys in results.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "fb1322cd-05b0-4264-9e96-6a9b3d9291a0", + "name": "create", + "description": "Create/set a secret in an Azure Key Vault with the specified name and value. Required: --vault , --secret , --subscription . Optional: --tenant . Creates a new secret version if it already exists.", + "command": "keyvault secret create", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--vault", + "description": "The name of the Key Vault.", + "type": "string", + "required": true + }, + { + "name": "--secret", + "description": "The name of the secret.", + "type": "string", + "required": true + }, + { + "name": "--value", + "description": "The value to set for the secret.", + "type": "string", + "required": true + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": true, + "localRequired": false + }, + { + "id": "933bcb29-87e6-4f78-94ad-8ad0c8c60002", + "name": "get", + "description": "List all secrets in your Key Vault or get a specific secret by name. Shows all secret names in the vault (without values), or retrieves the secret value and full details including enabled status and expiration dates.", + "command": "keyvault secret get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--vault", + "description": "The name of the Key Vault.", + "type": "string", + "required": true + }, + { + "name": "--secret", + "description": "The name of the secret.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": true, + "localRequired": false + }, + { + "id": "5fc5a42b-a7f6-4d4a-9517-a8e119752b7a", + "name": "get", + "description": "Get/retrieve/show details for a specific Azure Data Explorer/Kusto/KQL cluster in a subscription. Not for listing multiple clusters. Required: --cluster and --subscription.", + "command": "kusto cluster get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--cluster", + "description": "Kusto Cluster name.", + "type": "string", + "required": true + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "2cff1548-40c9-48ea-8548-6bfa91f2ea85", + "name": "list", + "description": "List/enumerate all Azure Data Explorer/Kusto/KQL clusters in a subscription.", + "command": "kusto cluster list", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "0bd79f0b-c360-4c96-b3e0-02fce97dcc41", + "name": "list", + "description": "List/enumerate all databases in an Azure Data Explorer/Kusto/KQL cluster. Required: --cluster-uri ( or --cluster and --subscription).", + "command": "kusto database list", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--cluster-uri", + "description": "Kusto Cluster URI.", + "type": "string" + }, + { + "name": "--cluster", + "description": "Kusto Cluster name.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "d1e22074-53ce-4eef-8596-0ea134a9e317", + "name": "query", + "description": "Executes a query against an Azure Data Explorer/Kusto/KQL cluster to search for specific terms, retrieve records, or perform management operations. Required: --cluster-uri (or --cluster and --subscription), --database, and --query.", + "command": "kusto query", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--cluster-uri", + "description": "Kusto Cluster URI.", + "type": "string" + }, + { + "name": "--cluster", + "description": "Kusto Cluster name.", + "type": "string" + }, + { + "name": "--database", + "description": "Kusto Database name.", + "type": "string", + "required": true + }, + { + "name": "--query", + "description": "Kusto query to execute. Uses KQL syntax.", + "type": "string", + "required": true + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "41daed5c-bf44-4cdf-9f3c-1df775465e53", + "name": "sample", + "description": "Return a sample of rows from a specific table in an Azure Data Explorer/Kusto/KQL cluster. Required: --cluster-uri (or --cluster and --subscription), --database, and --table.", + "command": "kusto sample", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--cluster-uri", + "description": "Kusto Cluster URI.", + "type": "string" + }, + { + "name": "--cluster", + "description": "Kusto Cluster name.", + "type": "string" + }, + { + "name": "--database", + "description": "Kusto Database name.", + "type": "string", + "required": true + }, + { + "name": "--table", + "description": "Kusto Table name.", + "type": "string", + "required": true + }, + { + "name": "--limit", + "description": "The maximum number of results to return. Must be a positive integer between 1 and 10000. Default is 10.", + "type": "string", + "required": true + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "3cd1e5f1-3353-4029-99f8-1aaa566d05e4", + "name": "list", + "description": "List/enumerate all tables in a specific Azure Data Explorer/Kusto/KQL database. Required: --cluster-uri (or --cluster and --subscription), --database.", + "command": "kusto table list", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--cluster-uri", + "description": "Kusto Cluster URI.", + "type": "string" + }, + { + "name": "--cluster", + "description": "Kusto Cluster name.", + "type": "string" + }, + { + "name": "--database", + "description": "Kusto Database name.", + "type": "string", + "required": true + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "9a972c48-6797-49bb-9784-8063ad1f7e96", + "name": "schema", + "description": "Get/retrieve/show the schema of a specific table in an Azure Data Explorer/Kusto/KQL cluster. Required: --cluster-uri (or --cluster and --subscription), --database, and --table.", + "command": "kusto table schema", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--cluster-uri", + "description": "Kusto Cluster URI.", + "type": "string" + }, + { + "name": "--cluster", + "description": "Kusto Cluster name.", + "type": "string" + }, + { + "name": "--database", + "description": "Kusto Database name.", + "type": "string", + "required": true + }, + { + "name": "--table", + "description": "Kusto Table name.", + "type": "string", + "required": true + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "2153384b-02ea-47b3-a069-7f5f9a709d66", + "name": "create", + "description": "Creates a new load test plan or configuration for performance testing scenarios. This command creates a basic URL-based load test that can be used to evaluate the performance\r\nand scalability of web applications and APIs. The test configuration defines target endpoint, load parameters, and test duration. Once we create a test plan, we can use that to trigger test runs to test the endpoints set using the 'azmcp loadtesting testrun create' command.\r\nThis is NOT going to trigger or create any test runs and only will setup your test plan. Also, this is NOT going to create any test resource in azure. \r\nIt will only create a test in an already existing load test resource.", + "command": "loadtesting test create", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--test-resource-name", + "description": "The name of the load test resource for which you want to fetch the details.", + "type": "string", + "required": true + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--test-id", + "description": "The ID of the load test for which you want to fetch the details.", + "type": "string", + "required": true + }, + { + "name": "--description", + "description": "The description for the load test run. This provides additional context about the test run.", + "type": "string" + }, + { + "name": "--display-name", + "description": "The display name for the load test run. This is a user-friendly name to identify the test run.", + "type": "string" + }, + { + "name": "--endpoint", + "description": "The endpoint URL to be tested. This is the URL of the HTTP endpoint that will be subjected to load testing.", + "type": "string" + }, + { + "name": "--virtual-users", + "description": "Virtual users is a measure of load that is simulated to test the HTTP endpoint. (Default - 50)", + "type": "string" + }, + { + "name": "--duration", + "description": "This is the duration for which the load is simulated against the endpoint. Enter decimals for fractional minutes (e.g., 1.5 for 1 minute and 30 seconds). Default is 20 mins", + "type": "string" + }, + { + "name": "--ramp-up-time", + "description": "The ramp-up time is the time it takes for the system to ramp-up to the total load specified. Enter decimals for fractional minutes (e.g., 1.5 for 1 minute and 30 seconds). Default is 1 min", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "be7c3864-0713-42f8-8eb7-b7ca28a951fb", + "name": "get", + "description": "Get the configuration and setup details for a load test by its test ID in a Load Testing resource.\r\nReturns only the test definition, including duration, ramp-up, virtual users, and endpoint. Does not return any test run results or execution data. Also does NOT return and resource details. Only the test configuration is fetched.", + "command": "loadtesting test get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--test-resource-name", + "description": "The name of the load test resource for which you want to fetch the details.", + "type": "string", + "required": true + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--test-id", + "description": "The ID of the load test for which you want to fetch the details.", + "type": "string", + "required": true + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "c39f6e9c-86a7-4cba-b267-0fa71f1ac743", + "name": "create", + "description": "Returns the created Load Testing resource. This creates the resource in Azure only. It does not create any test plan or test run. \r\nOnce the resource is setup, you can go and configure test plans in the resource and then trigger test runs for your test plans.", + "command": "loadtesting testresource create", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--test-resource-name", + "description": "The name of the load test resource for which you want to fetch the details.", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "eb44ef6c-93dc-4fa1-949c-a5e8939d5052", + "name": "list", + "description": "Lists all Azure Load Testing resources available in the selected subscription and resource group.\r\nReturns metadata for each resource, including name, location, and status. Use this to discover, manage, or audit load testing resources in your environment. Does not return test plans or test runs.", + "command": "loadtesting testresource list", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--test-resource-name", + "description": "The name of the load test resource for which you want to fetch the details.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "0e3c8f2c-57ce-49c0-bff4-27c9573e7049", + "name": "createorupdate", + "description": "Create or update a load test run execution.\r\nCreates a new test run for a specified test in the load testing resource, or updates metadata and display properties of an existing test run.\r\nWhen creating: Triggers a new test run execution based on the existing test configuration. Use testrun ID to specify the new run identifier. Create operations are NOT idempotent - each call starts a new test run with unique timestamps and execution state.\r\nWhen updating: Modifies descriptive information (display name, description) of a completed or in-progress test run for better organization and documentation. Update operations are idempotent - repeated calls with same values produce the same result.\r\nThis does not modify the test plan configuration or create a new test/resource - only manages test run executions.", + "command": "loadtesting testrun createorupdate", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--test-resource-name", + "description": "The name of the load test resource for which you want to fetch the details.", + "type": "string", + "required": true + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--testrun-id", + "description": "The ID of the load test run for which you want to fetch the details.", + "type": "string", + "required": true + }, + { + "name": "--test-id", + "description": "The ID of the load test for which you want to fetch the details.", + "type": "string", + "required": true + }, + { + "name": "--display-name", + "description": "The display name for the load test run. This is a user-friendly name to identify the test run.", + "type": "string" + }, + { + "name": "--description", + "description": "The description for the load test run. This provides additional context about the test run.", + "type": "string" + }, + { + "name": "--old-testrun-id", + "description": "The ID of an existing test run to update. If provided, the command will trigger a rerun of the given test run id.", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "713313ec-b9a5-4a71-9953-5b2d4a7b5d7b", + "name": "get", + "description": "Get load test run details by testrun ID, or list all test runs by test ID.\r\nReturns execution details including status, start/end times, progress, metrics, and artifacts.\r\nDoes not return test configuration or resource details.", + "command": "loadtesting testrun get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--test-resource-name", + "description": "The name of the load test resource for which you want to fetch the details.", + "type": "string", + "required": true + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--testrun-id", + "description": "The ID of the load test run for which you want to fetch the details.", + "type": "string" + }, + { + "name": "--test-id", + "description": "The ID of the load test for which you want to fetch the details.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "8e2f6d1b-3c9a-4f7e-b2d5-7a8c3e4f5b6d", + "name": "cancel", + "description": "Cancels a running auto export job for an Azure Managed Lustre filesystem. This stops the ongoing sync operation from the Lustre filesystem to the linked blob storage container. Use this to terminate an autoexport job that is in progress.\r\nRequired options:\r\n- filesystem-name: The name of the AMLFS filesystem\r\n- job-name: The name of the autoexport job to cancel\r\n- resource-group: The resource group containing the filesystem\r\n- subscription: The subscription containing the filesystem", + "command": "managedlustre fs blob autoexport cancel", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--filesystem-name", + "--learn" + ], + "options": [ + { + "name": "--job-name", + "description": "The name of the autoexport/autoimport job", + "type": "string", + "required": true + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "9f3e7c2a-4b8d-4e5f-a1c6-8d9e2f3b4a5c", + "name": "create", + "description": "Creates an auto export job for an Azure Managed Lustre filesystem to continuously export modified files to the linked blob storage container. The auto export job syncs changes from the Lustre filesystem to the configured HSM blob container. Use this to keep blob storage updated with changes in the filesystem.\r\nRequired options:\r\n- filesystem-name: The name of the AMLFS filesystem\r\n- resource-group: The resource group containing the filesystem\r\n- subscription: The subscription containing the filesystem", + "command": "managedlustre fs blob autoexport create", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--filesystem-name", + "--learn" + ], + "options": [ + { + "name": "--job-name", + "description": "The name of the autoexport job. If not specified, a timestamped name will be generated.", + "type": "string" + }, + { + "name": "--autoexport-prefix", + "description": "Blob path/prefix that gets auto exported from the cluster namespace. Default: '/'. Note: Only 1 prefix is supported for autoexport jobs. Example: --autoexport-prefix /data", + "type": "string" + }, + { + "name": "--admin-status", + "description": "The administrative status of the auto import job. Enable: job is active. Disable: disables the current active auto import job. Default: Enable. Allowed values: Enable, Disable.", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "4c7a8e3d-9f2b-5a6e-c1d4-8b3e9a2f7c5d", + "name": "delete", + "description": "Deletes an auto export job for an Azure Managed Lustre filesystem. This permanently removes the job record from the filesystem. Use this to clean up completed, failed, or cancelled autoexport jobs.\r\nRequired options:\r\n- filesystem-name: The name of the AMLFS filesystem\r\n- job-name: The name of the autoexport job to delete\r\n- resource-group: The resource group containing the filesystem\r\n- subscription: The subscription containing the filesystem", + "command": "managedlustre fs blob autoexport delete", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--filesystem-name", + "--learn" + ], + "options": [ + { + "name": "--job-name", + "description": "The name of the autoexport/autoimport job", + "type": "string", + "required": true + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "9a3b7e2f-4d6c-8a1e-b5f3-2c7d8e9a1b4f", + "name": "get", + "description": "Gets the details of auto export jobs for an Azure Managed Lustre filesystem. Use this to retrieve the status, configuration, and progress information of autoexport operations that sync data from the Lustre filesystem to the linked blob storage container. If job-name is provided, returns details of a specific job; otherwise returns all jobs for the filesystem.\r\nRequired options:\r\n- filesystem-name: The name of the AMLFS filesystem\r\n- resource-group: The resource group containing the filesystem\r\n- subscription: The subscription containing the filesystem\r\nOptional options:\r\n- job-name: The name of a specific autoexport job (if omitted, all jobs are returned)", + "command": "managedlustre fs blob autoexport get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--filesystem-name", + "--learn" + ], + "options": [ + { + "name": "--job-name", + "description": "The name of the autoexport/autoimport job", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "9f3g1h2i-4d0b-5g8f-c3e6-8b9d4f6g7c8h", + "name": "cancel", + "description": "Cancels a running auto import job for an Azure Managed Lustre filesystem. This stops the ongoing sync operation from the linked blob storage container to the Lustre filesystem. Use this to terminate an autoimport job that is in progress.\r\nRequired options:\r\n- filesystem-name: The name of the AMLFS filesystem\r\n- job-name: The name of the autoimport job to cancel\r\n- resource-group: The resource group containing the filesystem\r\n- subscription: The subscription containing the filesystem", + "command": "managedlustre fs blob autoimport cancel", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--filesystem-name", + "--learn" + ], + "options": [ + { + "name": "--job-name", + "description": "The name of the autoexport/autoimport job", + "type": "string", + "required": true + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d", + "name": "create", + "description": "Creates an auto import job for an Azure Managed Lustre filesystem to continuously import new or modified files from the linked blob storage container. The auto import job syncs changes from the configured HSM blob container to the Lustre filesystem. Use this to keep the filesystem updated with changes in blob storage.\r\nRequired options:\r\n- filesystem-name: The name of the AMLFS filesystem\r\n- resource-group: The resource group containing the filesystem\r\n- subscription: The subscription containing the filesystem\r\nOptional parameters:\r\n- job-name: Custom name for the job (default: autoimport-{timestamp})\r\n- conflict-resolution-mode: How to handle conflicts (Fail/Skip/OverwriteIfDirty/OverwriteAlways, default: Skip)\r\n- autoimport-prefixes: Array of blob paths/prefixes to auto import (default: '/', max: 100)\r\n- admin-status: Administrative status (Enable/Disable, default: Enable)\r\n- enable-deletions: Enable deletions during auto import (default: false)\r\n- maximum-errors: Max errors before failure (-1: infinite, 0: immediate exit, default: none)", + "command": "managedlustre fs blob autoimport create", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--filesystem-name", + "--learn" + ], + "options": [ + { + "name": "--job-name", + "description": "The name of the autoimport job. If not specified, a timestamped name will be generated.", + "type": "string" + }, + { + "name": "--conflict-resolution-mode", + "description": "How the auto import job handles conflicts. Fail: stop immediately on conflict. Skip: pass over the conflict. OverwriteIfDirty: delete and re-import if conflicting type, dirty, or currently released. OverwriteAlways: extends OverwriteIfDirty to include releasing restored but not dirty files. Default: Skip. Allowed values: Fail, Skip, OverwriteIfDirty, OverwriteAlways.", + "type": "string" + }, + { + "name": "--autoimport-prefixes", + "description": "Array of blob paths/prefixes that get auto imported to the cluster namespace. Default: '/'. Maximum: 100 paths. Example: --autoimport-prefixes /data --autoimport-prefixes /logs", + "type": "string" + }, + { + "name": "--admin-status", + "description": "The administrative status of the auto import job. Enable: job is active. Disable: disables the current active auto import job. Default: Enable. Allowed values: Enable, Disable.", + "type": "string" + }, + { + "name": "--enable-deletions", + "description": "Whether to enable deletions during auto import. This only affects overwrite-dirty mode. Default: false.", + "type": "string" + }, + { + "name": "--maximum-errors", + "description": "Total non-conflict-oriented errors (e.g., OS errors) that import will tolerate before exiting with failure. -1: infinite. 0: exit immediately on any error.", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "0h4i2j3k-5e1c-6h9g-d4f7-9c0e5g7h8d9i", + "name": "delete", + "description": "Deletes an auto import job for an Azure Managed Lustre filesystem. This permanently removes the job record from the filesystem. Use this to clean up completed, failed, or cancelled autoimport jobs.\r\nRequired options:\r\n- filesystem-name: The name of the AMLFS filesystem\r\n- job-name: The name of the autoimport job to delete\r\n- resource-group: The resource group containing the filesystem\r\n- subscription: The subscription containing the filesystem", + "command": "managedlustre fs blob autoimport delete", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--filesystem-name", + "--learn" + ], + "options": [ + { + "name": "--job-name", + "description": "The name of the autoexport/autoimport job", + "type": "string", + "required": true + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "b2c3d4e5-6f7a-8b9c-0d1e-2f3a4b5c6d7e", + "name": "get", + "description": "Gets the details of auto import jobs for an Azure Managed Lustre filesystem. Use this to retrieve the status, configuration, and progress information of autoimport operations that sync data from the linked blob storage container to the Lustre filesystem. If job-name is provided, returns details of a specific job; otherwise returns all jobs for the filesystem.\r\nRequired options:\r\n- filesystem-name: The name of the AMLFS filesystem\r\n- resource-group: The resource group containing the filesystem\r\n- subscription: The subscription containing the filesystem\r\nOptional options:\r\n- job-name: The name of a specific autoimport job (if omitted, all jobs are returned)", + "command": "managedlustre fs blob autoimport get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--filesystem-name", + "--learn" + ], + "options": [ + { + "name": "--job-name", + "description": "The name of the autoexport/autoimport job", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "d3h5e7g9-1f4a-6d8e-0g2c-4f6a8d0f2e4g", + "name": "cancel", + "description": "Cancels a running import job for an Azure Managed Lustre filesystem. This stops the import operation and prevents further processing. The job cannot be resumed after cancellation.\r\nRequired options:\r\n- filesystem-name: The name of the AMLFS filesystem\r\n- job-name: Name of the import job to cancel", + "command": "managedlustre fs blob import cancel", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--filesystem-name", + "--learn" + ], + "options": [ + { + "name": "--job-name", + "description": "The name of the autoexport/autoimport job", + "type": "string", + "required": true + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "b1f3c5e7-9d2a-4b8f-6c3e-1a7b9d2f5e8c", + "name": "create", + "description": "Creates a one-time import job for an Azure Managed Lustre filesystem to import files from the linked blob storage container. The import job performs a one-time sync of data from the configured HSM blob container to the Lustre filesystem. Use this to import specific prefixes or all data from blob storage into the filesystem at a point in time.\r\nRequired options:\r\n- filesystem-name: The name of the AMLFS filesystem\r\nOptional options:\r\n- job-name: Name for the import job (auto-generated if not provided)\r\n- conflict-resolution-mode: How to handle conflicting files (Fail, Skip, OverwriteIfDirty, OverwriteAlways, default: Fail)\r\n- import-prefixes: Blob prefixes to import (default: imports all data from root '/')\r\n- maximum-errors: Maximum errors allowed before job failure (-1: infinite, 0: fail on first error, default: use service default)", + "command": "managedlustre fs blob import create", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--filesystem-name", + "--learn" + ], + "options": [ + { + "name": "--job-name", + "description": "The name of the autoimport job. If not specified, a timestamped name will be generated.", + "type": "string" + }, + { + "name": "--conflict-resolution-mode", + "description": "How the auto import job handles conflicts. Fail: stop immediately on conflict. Skip: pass over the conflict. OverwriteIfDirty: delete and re-import if conflicting type, dirty, or currently released. OverwriteAlways: extends OverwriteIfDirty to include releasing restored but not dirty files. Default: Skip. Allowed values: Fail, Skip, OverwriteIfDirty, OverwriteAlways.", + "type": "string" + }, + { + "name": "--import-prefixes", + "description": "Array of blob paths/prefixes to import from blob storage. Default: '/'. Maximum: 100 paths. Example: --import-prefixes /data --import-prefixes /logs", + "type": "string" + }, + { + "name": "--maximum-errors", + "description": "Total non-conflict-oriented errors (e.g., OS errors) that import will tolerate before exiting with failure. -1: infinite. 0: exit immediately on any error.", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "e4i6f8h0-2g5b-7e9f-1h3d-5g7b9e1g3f5h", + "name": "delete", + "description": "Deletes an import job for an Azure Managed Lustre filesystem. This removes the job record and history. The job must be completed or cancelled before it can be deleted.\r\nRequired options:\r\n- filesystem-name: The name of the AMLFS filesystem\r\n- job-name: Name of the import job to delete", + "command": "managedlustre fs blob import delete", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--filesystem-name", + "--learn" + ], + "options": [ + { + "name": "--job-name", + "description": "The name of the autoexport/autoimport job", + "type": "string", + "required": true + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "c2g4d6f8-0e3a-5c7d-9f1b-3e5a7c9f1d3f", + "name": "get", + "description": "Gets import job details or lists all import jobs for an Azure Managed Lustre filesystem. If job-name is provided, returns details for that specific job. If job-name is omitted, returns a list of all import jobs for the filesystem.\r\nRequired options:\r\n- filesystem-name: The name of the AMLFS filesystem\r\nOptional options:\r\n- job-name: Name of specific import job to get (omit to list all jobs)", + "command": "managedlustre fs blob import get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--filesystem-name", + "--learn" + ], + "options": [ + { + "name": "--job-name", + "description": "The name of the autoimport job. If not specified, a timestamped name will be generated.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "814acadf-ee84-47f9-ad68-2d65ec7dbb07", + "name": "create", + "description": "Create an Azure Managed Lustre (AMLFS) file system using the specified network, capacity, maintenance window and availability zone.\r\nOptionally provides possibility to define Blob Integration, customer managed key encryption and root squash configuration.", + "command": "managedlustre fs create", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--name", + "description": "The AMLFS resource name. Must be DNS-friendly (letters, numbers, hyphens). Example: --name amlfs-001", + "type": "string", + "required": true + }, + { + "name": "--location", + "description": "Azure region/region short name (use Azure location token, lowercase). Examples: uaenorth, swedencentral, eastus.", + "type": "string", + "required": true + }, + { + "name": "--sku", + "description": "The AMLFS SKU. Exact allowed values: AMLFS-Durable-Premium-40, AMLFS-Durable-Premium-125, AMLFS-Durable-Premium-250, AMLFS-Durable-Premium-500.", + "type": "string", + "required": true + }, + { + "name": "--size", + "description": "The AMLFS size in TiB as an integer (no unit). Examples: 4, 12, 128.", + "type": "string", + "required": true + }, + { + "name": "--subnet-id", + "description": "Full subnet resource ID. Required format: /subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.Network/virtualNetworks/{vnet}/subnets/{subnet}.\nExample: --subnet-id /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-rg/providers/Microsoft.Network/virtualNetworks/vnet-001/subnets/subnet-001", + "type": "string", + "required": true + }, + { + "name": "--zone", + "description": "Availability zone identifier. Use a single digit string matching the region's AZ labels (e.g. '1').\nExample: --zone 1", + "type": "string", + "required": true + }, + { + "name": "--maintenance-day", + "description": "Preferred maintenance day. Allowed values: Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday.\n", + "type": "string", + "required": true + }, + { + "name": "--maintenance-time", + "description": "Preferred maintenance time in UTC. Format: HH:MM (24-hour). Examples: 00:00, 23:00.\n", + "type": "string", + "required": true + }, + { + "name": "--hsm-container", + "description": "Full blob container resource ID for HSM integration. HPC Cache Resource Provider must have before deployment Storage Blob Data Contributor and Storage Account Contributor roles on parent Storage Account.Format: /subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.Storage/storageAccounts/{account}/blobServices/default/containers/{container}.\nExample: --hsm-container /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Storage/storageAccounts/stacc/blobServices/default/containers/hsm-container\n", + "type": "string" + }, + { + "name": "--hsm-log-container", + "description": "Full blob container resource ID for HSM logging. HPC Cache Resource Provider must have before deployment Storage Blob Data Contributor and Storage Account Contributor roles on parent Storage Account. Same format as --hsm-container.\nExample: --hsm-log-container /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Storage/storageAccounts/stacc/blobServices/default/containers/hsm-logs\n", + "type": "string" + }, + { + "name": "--import-prefix", + "description": "Optional HSM import prefix (path prefix inside the container starting with /). Examples: '/ingest/', '/archive/2019/'.\n", + "type": "string" + }, + { + "name": "--root-squash-mode", + "description": "Root squash mode. Allowed values: All, RootOnly, None.\n", + "type": "string" + }, + { + "name": "--no-squash-nid-list", + "description": "Comma-separated list of NIDs (network identifiers) not to squash. Example: '10.0.2.4@tcp;10.0.2.[6-8]@tcp'.\n", + "type": "string" + }, + { + "name": "--squash-uid", + "description": "Numeric UID to squash root to. Required in case root squash mode is not None. Example: --squash-uid 1000.\n", + "type": "string" + }, + { + "name": "--squash-gid", + "description": "Numeric GID to squash root to. Required in case root squash mode is not None. Example: --squash-gid 1000.\n", + "type": "string" + }, + { + "name": "--custom-encryption", + "description": "Enable customer-managed encryption using a Key Vault key. When true, --key-url and --source-vault required, with a user-assigned identity already configured for Key Vault key access.", + "type": "string" + }, + { + "name": "--key-url", + "description": "Full Key Vault key URL. Format: https://{vaultName}.vault.azure.net/keys/{keyName}/{keyVersion}.\nExample: --key-url https://kv-amlfs-001.vault.azure.net/keys/key-amlfs-001/a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p\n", + "type": "string" + }, + { + "name": "--source-vault", + "description": "Full Key Vault resource ID. Format: /subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.KeyVault/vaults/{vaultName}.\nExample: --source-vault /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.KeyVault/vaults/kv-amlfs-001\n", + "type": "string" + }, + { + "name": "--user-assigned-identity-id", + "description": "User-assigned managed identity resource ID (full resource ID) to use for Key Vault access when custom encryption is enabled. The identity must have RBAC role to access the encryption key\nFormat: /subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{name}.\nExample: --user-assigned-identity-id /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1\n", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "723d9b34-9022-486e-83a7-f72d83bdafd2", + "name": "list", + "description": "Lists Azure Managed Lustre (AMLFS) file systems in a subscription or optional resource group including provisioning state, MGS address, tier, capacity (TiB), blob integration container, and maintenance window details. Use to inventory Azure Managed Lustre filesystems and to check their properties.", + "command": "managedlustre fs list", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "43f679ba-1b6e-4851-9315-f8ad16b789e5", + "name": "get", + "description": "Retrieves the available Azure Managed Lustre SKU, including increments, bandwidth, scale targets and zonal support. If a location is specified, the results will be filtered to that location.", + "command": "managedlustre fs sku get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--location", + "description": "Azure region/region short name (use Azure location token, lowercase). Examples: uaenorth, swedencentral, eastus.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "3d3f6f27-218b-4915-9c1e-243dd53b16da", + "name": "ask", + "description": "Calculates the required subnet size for an Azure Managed Lustre file system given a SKU and size. Use to plan network deployment for AMLFS. Returns the number of required IPs.", + "command": "managedlustre fs subnetsize ask", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--sku", + "description": "The AMLFS SKU. Exact allowed values: AMLFS-Durable-Premium-40, AMLFS-Durable-Premium-125, AMLFS-Durable-Premium-250, AMLFS-Durable-Premium-500.", + "type": "string", + "required": true + }, + { + "name": "--size", + "description": "The AMLFS size in TiB as an integer (no unit). Examples: 4, 12, 128.", + "type": "string", + "required": true + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "b6317bba-e28c-445b-9133-9cfbfe677698", + "name": "validate", + "description": "Validates that the provided subnet can host an Azure Managed Lustre filesystem for the given SKU and size.", + "command": "managedlustre fs subnetsize validate", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--sku", + "description": "The AMLFS SKU. Exact allowed values: AMLFS-Durable-Premium-40, AMLFS-Durable-Premium-125, AMLFS-Durable-Premium-250, AMLFS-Durable-Premium-500.", + "type": "string", + "required": true + }, + { + "name": "--size", + "description": "The AMLFS size in TiB as an integer (no unit). Examples: 4, 12, 128.", + "type": "string", + "required": true + }, + { + "name": "--subnet-id", + "description": "Full subnet resource ID. Required format: /subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.Network/virtualNetworks/{vnet}/subnets/{subnet}.\nExample: --subnet-id /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-rg/providers/Microsoft.Network/virtualNetworks/vnet-001/subnets/subnet-001", + "type": "string", + "required": true + }, + { + "name": "--location", + "description": "Azure region/region short name (use Azure location token, lowercase). Examples: uaenorth, swedencentral, eastus.", + "type": "string", + "required": true + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "db1bdf99-ac8a-4920-ab2e-15048623b2dc", + "name": "update", + "description": "Update maintenance window and/or root squash settings of an existing Azure Managed Lustre (AMLFS) file system. Provide either maintenance day and time or root squash fields (no-squash-nid-list, squash-uid, squash-gid). Root squash fields must be provided if root squash is not None. In case of maintenance window update, both maintenance day and maintenance time should be provided.", + "command": "managedlustre fs update", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--name", + "description": "The AMLFS resource name. Must be DNS-friendly (letters, numbers, hyphens). Example: --name amlfs-001", + "type": "string", + "required": true + }, + { + "name": "--maintenance-day", + "description": "Preferred maintenance day. Allowed values: Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday.\n", + "type": "string" + }, + { + "name": "--maintenance-time", + "description": "Preferred maintenance time in UTC. Format: HH:MM (24-hour). Examples: 00:00, 23:00.\n", + "type": "string" + }, + { + "name": "--no-squash-nid-list", + "description": "Comma-separated list of NIDs (network identifiers) not to squash. Example: '10.0.2.4@tcp;10.0.2.[6-8]@tcp'.\n", + "type": "string" + }, + { + "name": "--squash-uid", + "description": "Numeric UID to squash root to. Required in case root squash mode is not None. Example: --squash-uid 1000.\n", + "type": "string" + }, + { + "name": "--squash-gid", + "description": "Numeric GID to squash root to. Required in case root squash mode is not None. Example: --squash-gid 1000.\n", + "type": "string" + }, + { + "name": "--root-squash-mode", + "description": "Root squash mode. Allowed values: All, RootOnly, None.\n", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "729a12ee-9c63-4a31-b1b8-4a81ad093564", + "name": "get", + "description": "Retrieves detailed information about a specific Azure Marketplace product (offer) for a given subscription,\r\nincluding available plans, pricing, and product metadata.", + "command": "marketplace product get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--product-id", + "description": "The ID of the marketplace product to retrieve. This is the unique identifier for the product in the Azure Marketplace.", + "type": "string", + "required": true + }, + { + "name": "--include-stop-sold-plans", + "description": "Include stop-sold or hidden plans in the response.", + "type": "string" + }, + { + "name": "--language", + "description": "Product language code (e.g., 'en' for English, 'fr' for French).", + "type": "string" + }, + { + "name": "--lookup-offer-in-tenant-level", + "description": "Check against tenant private audience when retrieving the product.", + "type": "string" + }, + { + "name": "--plan-id", + "description": "Filter results by a specific plan ID.", + "type": "string" + }, + { + "name": "--sku-id", + "description": "Filter results by a specific SKU ID.", + "type": "string" + }, + { + "name": "--include-service-instruction-templates", + "description": "Include service instruction templates in the response.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "0485e8f9-61bf-4baf-b914-7fa5530a6f78", + "name": "list", + "description": "Retrieves and lists all marketplace products (offers) available to a subscription in the Azure Marketplace. Use this tool to search, select, browse, or filter marketplace offers by product name, publisher, pricing, or metadata. Returns information for each product, including display name, publisher details, category, pricing data, and available plans.", + "command": "marketplace product list", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--language", + "description": "Product language code (e.g., 'en' for English, 'fr' for French).", + "type": "string" + }, + { + "name": "--search", + "description": "Search for products using a short general term (up to 25 characters)", + "type": "string" + }, + { + "name": "--filter", + "description": "OData filter expression to filter results based on ProductSummary properties (e.g., \"displayName eq 'Azure'\").", + "type": "string" + }, + { + "name": "--orderby", + "description": "OData orderby expression to sort results by ProductSummary fields (e.g., \"displayName asc\" or \"popularity desc\").", + "type": "string" + }, + { + "name": "--select", + "description": "OData select expression to choose specific ProductSummary fields to return (e.g., \"displayName,publisherDisplayName,uniqueProductId\").", + "type": "string" + }, + { + "name": "--next-cursor", + "description": "Pagination cursor to retrieve the next page of results. Use the NextPageLink value from a previous response.", + "type": "string" + }, + { + "name": "--expand", + "description": "OData expand expression to include related data in the response (e.g., \"plans\" to include plan details).", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "ffc0ed72-0622-4a27-bfd8-6df9b83adce8", + "name": "list", + "description": "Always use this tool if user is asking for activity logs for a resource.\r\nLists activity logs for the specified Azure resource over the given prior number of hours.\r\nThis command retrieves activity logs to help understand resource deployment history, modification activities, and access patterns.\r\nReturns activity log events with details including timestamp, operation name, status, and caller information. should be called to help retrieve information about why a resource failed to deploy or may not be working.", + "command": "monitor activitylog list", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--resource-name", + "description": "The name of the Azure resource to retrieve activity logs for.", + "type": "string", + "required": true + }, + { + "name": "--resource-type", + "description": "The type of the Azure resource (e.g., 'Microsoft.Storage/storageAccounts'). Only provide this if needed to disambiguate between multiple resources with the same name.", + "type": "string" + }, + { + "name": "--hours", + "description": "The number of hours prior to now to retrieve activity logs for.", + "type": "string" + }, + { + "name": "--event-level", + "description": "The level of activity logs to retrieve. Valid levels are: Critical, Error, Informational, Verbose, Warning. If not provided, returns all levels.", + "type": "string" + }, + { + "name": "--top", + "description": "The maximum number of activity logs to retrieve.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "80b23546-a6ac-4f0c-ad70-f51d6dff5543", + "name": "get", + "description": "Retrieve the health status of an entity for a given Azure Monitor Health Model. Use this tool ONLY when the user mentions a specific health model name and asks for health status, health events. This provides application-level health monitoring with custom health models, not basic Azure resource availability.\r\nFor basic Azure resource availability status, use Resource Health tool instead `azmcp_resourcehealth_availability-status_get`. \r\nFor querying logs from a Log Analystics workspace, use `azmcp_monitor_workspace_log_query`. \r\nFor querying logs of a specific Azure resource, use `azmcp_monitor_resource_log_query`. \r\nRequired arguments:\r\n - --entity: The entity to get health for\r\n - --health-model: The health model name", + "command": "monitor healthmodels entity get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--entity", + "description": "The entity to get health for.", + "type": "string", + "required": true + }, + { + "name": "--health-model", + "description": "The name of the health model for which to get the health.", + "type": "string", + "required": true + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "2c9f3785-4b97-4dd6-8489-af515638f0d5", + "name": "get-learning-resource", + "description": "List all available learning resources for Azure Monitor instrumentation or get the content of a specific resource by path. Returns all resource paths by default, or retrieves the full content when a path is specified. Note: For instrumenting an application, use orchestrator-start instead.", + "command": "monitor instrumentation get-learning-resource", + "commonOptions": [ + "--learn" + ], + "options": [ + { + "name": "--path", + "description": "Learning resource path.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": true + }, + { + "id": "dd7d9a59-fb6d-436a-9e08-8bbdf6d5f9d5", + "name": "orchestrator-next", + "description": "Get the next instrumentation action after completing the current one.\r\nCall this ONLY after you have executed the EXACT instruction from the previous response.\r\nDO NOT skip steps. DO NOT improvise. DO NOT add extra code or commands.\r\n\r\nExpected workflow:\r\n1. You received an action from orchestrator-start or orchestrator-next\r\n2. You executed EXACTLY what the 'instruction' field told you to do\r\n3. Now call this tool to get the next action\r\n\r\nReturns: The next action to execute, or 'complete' status when all steps are done.", + "command": "monitor instrumentation orchestrator-next", + "commonOptions": [ + "--learn" + ], + "options": [ + { + "name": "--session-id", + "description": "The workspace path returned as sessionId from orchestrator-start.", + "type": "string", + "required": true + }, + { + "name": "--completion-note", + "description": "One sentence describing what you executed, e.g., 'Ran dotnet add package command' or 'Added UseAzureMonitor() to Program.cs'", + "type": "string", + "required": true + } + ], + "destructive": false, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": true + }, + { + "id": "35f577d9-6378-4d34-b822-111ff6e8957c", + "name": "orchestrator-start", + "description": "START HERE for Azure Monitor instrumentation. Analyzes workspace and returns the first action to execute. After executing the action, call orchestrator-next to continue. DO NOT improvise. Execute EXACTLY what the 'instruction' field tells you.", + "command": "monitor instrumentation orchestrator-start", + "commonOptions": [ + "--learn" + ], + "options": [ + { + "name": "--workspace-path", + "description": "Absolute path to the workspace folder.", + "type": "string", + "required": true + } + ], + "destructive": false, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": true + }, + { + "id": "8f69c45b-7e4f-4ea7-9a7d-58fa7fc0897e", + "name": "send-brownfield-analysis", + "description": "Send brownfield code analysis findings after orchestrator-start returned status 'analysis_needed'.\r\nYou must have scanned the workspace source files and filled in the analysis template.\r\nFor sections that do not exist in the codebase, pass an empty/default object (e.g. found: false, hasCustomSampling: false) rather than null.\r\nAfter this call succeeds, continue with orchestrator-next as usual.", + "command": "monitor instrumentation send-brownfield-analysis", + "commonOptions": [ + "--learn" + ], + "options": [ + { + "name": "--session-id", + "description": "The workspace path returned as sessionId from orchestrator-start.", + "type": "string", + "required": true + }, + { + "name": "--findings-json", + "description": "JSON object with brownfield analysis findings. Required properties:\r\n- serviceOptions: Service options findings from analyzing AddApplicationInsightsTelemetry() call. Null if not found.\r\n- initializers: Telemetry initializer findings from analyzing ITelemetryInitializer or IConfigureOptions implementations. Null if none found.\r\n- processors: Telemetry processor findings from analyzing ITelemetryProcessor implementations. Null if none found.\r\n- clientUsage: TelemetryClient usage findings from analyzing direct TelemetryClient usage. Null if not found.\r\n- sampling: Custom sampling configuration findings. Null if no custom sampling.\r\n- telemetryPipeline: Custom ITelemetryChannel or TelemetrySinks usage findings. Null if not found.\r\n- logging: Explicit logger provider and filter findings. Null if not found.\r\nFor sections that do not exist in the codebase, pass an empty/default object (e.g. found: false, hasCustomSampling: false) rather than null.", + "type": "string", + "required": true + } + ], + "destructive": false, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": true + }, + { + "id": "8fd4eb5f-14d1-450f-982c-82d761f0f7d6", + "name": "send-enhancement-select", + "description": "Submit the user's enhancement selection after orchestrator-start returned status 'enhancement_available'.\r\nPresent the enhancement options to the user first, then call this tool with their chosen option key(s).\r\nMultiple enhancements can be selected by passing a comma-separated list (e.g. 'redis,processors').\r\nAfter this call succeeds, continue with orchestrator-next as usual.", + "command": "monitor instrumentation send-enhancement-select", + "commonOptions": [ + "--learn" + ], + "options": [ + { + "name": "--session-id", + "description": "The workspace path returned as sessionId from orchestrator-start.", + "type": "string", + "required": true + }, + { + "name": "--enhancement-keys", + "description": "One or more enhancement keys, comma-separated (e.g. 'redis', 'redis,processors', 'entityframework,otlp').", + "type": "string", + "required": true + } + ], + "destructive": false, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": true + }, + { + "id": "d3bf37ed-5f2e-448d-a16e-73140ef908c2", + "name": "definitions", + "description": "List available metric definitions for an Azure resource. Returns metadata about the metrics available for the resource.", + "command": "monitor metrics definitions", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--resource-type", + "description": "The Azure resource type (e.g., 'Microsoft.Storage/storageAccounts', 'Microsoft.Compute/virtualMachines'). If not specified, will attempt to infer from resource name.", + "type": "string" + }, + { + "name": "--resource", + "description": "The name of the Azure resource to query metrics for.", + "type": "string", + "required": true + }, + { + "name": "--metric-namespace", + "description": "The metric namespace to query. Obtain this value from the azmcp-monitor-metrics-definitions command.", + "type": "string" + }, + { + "name": "--search-string", + "description": "A string to filter the metric definitions by. Helpful for reducing the number of records returned. Performs case-insensitive matching on metric name and description fields.", + "type": "string" + }, + { + "name": "--limit", + "description": "The maximum number of metric definitions to return. Defaults to 10.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "6e86ef31-04e1-4cec-8bda-5292d4bc3ad8", + "name": "query", + "description": "Query Azure Monitor metrics for a resource. Returns time series data for the specified metrics.", + "command": "monitor metrics query", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--resource-type", + "description": "The Azure resource type (e.g., 'Microsoft.Storage/storageAccounts', 'Microsoft.Compute/virtualMachines'). If not specified, will attempt to infer from resource name.", + "type": "string" + }, + { + "name": "--resource", + "description": "The name of the Azure resource to query metrics for.", + "type": "string", + "required": true + }, + { + "name": "--metric-names", + "description": "The names of metrics to query (comma-separated).", + "type": "string", + "required": true + }, + { + "name": "--start-time", + "description": "The start time for the query in ISO format (e.g., 2023-01-01T00:00:00Z). Defaults to 24 hours ago.", + "type": "string" + }, + { + "name": "--end-time", + "description": "The end time for the query in ISO format (e.g., 2023-01-01T00:00:00Z). Defaults to now.", + "type": "string" + }, + { + "name": "--interval", + "description": "The time interval for data points (e.g., PT1H for 1 hour, PT5M for 5 minutes).", + "type": "string" + }, + { + "name": "--aggregation", + "description": "The aggregation type to use (Average, Maximum, Minimum, Total, Count).", + "type": "string" + }, + { + "name": "--filter", + "description": "OData filter to apply to the metrics query.", + "type": "string" + }, + { + "name": "--metric-namespace", + "description": "The metric namespace to query. Obtain this value from the azmcp-monitor-metrics-definitions command.", + "type": "string", + "required": true + }, + { + "name": "--max-buckets", + "description": "The maximum number of time buckets to return. Defaults to 50.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "02aaf533-0593-4e1d-bd87-f7c69d34c7ba", + "name": "query", + "description": "Query diagnostic and activity logs for a SPECIFIC Azure resource in a Log Analytics workspace using Kusto Query Language (KQL). \r\nUse this tool when the user mentions a specific resource name or Resource ID in their request (e.g., \"show logs for resource 'app-monitor'\"). \r\nThis tool filters logs to only show data from the specified resource.\r\n\r\nWhen to use: User asks for logs from a specific resource by name or ID.\r\nWhen NOT to use: User asks for general workspace-wide logs without mentioning a specific resource.\r\n\r\nRequired arguments: resource ID or resource name, table name, KQL query\r\nOptional: hours, limit", + "command": "monitor resource log query", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--resource-id", + "description": "The Azure Resource ID to query logs. Example: /subscriptions//resourceGroups//providers/Microsoft.OperationalInsights/workspaces/", + "type": "string", + "required": true + }, + { + "name": "--table", + "description": "The name of the table to query. This is the specific table within the workspace.", + "type": "string", + "required": true + }, + { + "name": "--query", + "description": "The KQL query to execute against the Log Analytics workspace. You can use predefined queries by name:\n- 'recent': Shows most recent logs ordered by TimeGenerated\n- 'errors': Shows error-level logs ordered by TimeGenerated\nOtherwise, provide a custom KQL query.", + "type": "string", + "required": true + }, + { + "name": "--hours", + "description": "The number of hours to query back from now.", + "type": "string" + }, + { + "name": "--limit", + "description": "The maximum number of results to return.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "2b1ae0be-d6dd-4db9-9c58-fc4fcb3bf8e6", + "name": "list", + "description": "List all tables in a Log Analytics workspace. Requires workspace.\r\nReturns table names and schemas that can be used for constructing KQL queries.", + "command": "monitor table list", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--workspace", + "description": "The Log Analytics workspace ID or name. This can be either the unique identifier (GUID) or the display name of your workspace.", + "type": "string", + "required": true + }, + { + "name": "--table-type", + "description": "The type of table to query. Options: 'CustomLog', 'AzureMetrics', etc.", + "type": "string", + "required": true + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "17928c13-3907-428c-8232-74f7aec1d76d", + "name": "list", + "description": "List available table types in a Log Analytics workspace. Returns table type names.", + "command": "monitor table type list", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--workspace", + "description": "The Log Analytics workspace ID or name. This can be either the unique identifier (GUID) or the display name of your workspace.", + "type": "string", + "required": true + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "aa5a22bc-6a04-4bc0-a963-b6e462b5cdc4", + "name": "createorupdate", + "description": "Create or update a standard web test in Azure Monitor to monitor endpoint availability.\r\nUse this to set up new web tests or modify existing ones with monitoring configurations like URL, frequency, locations, and expected responses.\r\nAutomatically creates a new test if it doesn't exist, or updates an existing test with new settings.", + "command": "monitor webtests createorupdate", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--webtest-resource", + "description": "The name of the Web Test resource to operate on.", + "type": "string", + "required": true + }, + { + "name": "--appinsights-component", + "description": "The resource id of the Application Insights component to associate with the web test.", + "type": "string" + }, + { + "name": "--location", + "description": "The location where the web test resource is created. This should be the same as the AppInsights component location.", + "type": "string" + }, + { + "name": "--webtest-locations", + "description": "List of locations to run the test from (comma-separated values). Location refers to the geo-location population tag specific to Availability Tests.", + "type": "string" + }, + { + "name": "--request-url", + "description": "The absolute URL to test", + "type": "string" + }, + { + "name": "--webtest", + "description": "The name of the test in web test resource", + "type": "string" + }, + { + "name": "--description", + "description": "The description of the web test", + "type": "string" + }, + { + "name": "--enabled", + "description": "Whether the web test is enabled", + "type": "string" + }, + { + "name": "--expected-status-code", + "description": "Expected HTTP status code", + "type": "string" + }, + { + "name": "--follow-redirects", + "description": "Whether to follow redirects", + "type": "string" + }, + { + "name": "--frequency", + "description": "Test frequency in seconds. Supported values 300, 600, 900 seconds.", + "type": "string" + }, + { + "name": "--headers", + "description": "HTTP headers to include in the request. Comma-separated KEY=VALUE", + "type": "string" + }, + { + "name": "--http-verb", + "description": "HTTP method (get, post, etc.)", + "type": "string" + }, + { + "name": "--ignore-status-code", + "description": "Whether to ignore the status code validation", + "type": "string" + }, + { + "name": "--parse-requests", + "description": "Whether to parse dependent requests", + "type": "string" + }, + { + "name": "--request-body", + "description": "The body of the request", + "type": "string" + }, + { + "name": "--retry-enabled", + "description": "Whether retries are enabled", + "type": "string" + }, + { + "name": "--ssl-check", + "description": "Whether to check SSL certificates", + "type": "string" + }, + { + "name": "--ssl-lifetime-check", + "description": "Number of days to check SSL certificate lifetime", + "type": "string" + }, + { + "name": "--timeout", + "description": "Request timeout in seconds (max 2 minutes). Supported values: 30, 60, 90, 120 seconds", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "c9897ba5-445c-43dc-9902-e8454dbdc243", + "name": "get", + "description": "Gets details for a specific web test or lists all web tests.\r\nWhen --webtest-resource is provided, returns detailed information about a single web test.\r\nWhen --webtest-resource is omitted, returns a list of all web tests in the subscription (optionally filtered by resource group).", + "command": "monitor webtests get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--webtest-resource", + "description": "The name of the Web Test resource to operate on.", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "0c76b74e-14bf-4e0c-ab10-4bbeeb53347b", + "name": "list", + "description": "List Log Analytics workspaces in a subscription. This command retrieves all Log Analytics workspaces\r\navailable in the specified Azure subscription, displaying their names, IDs, and other key properties.\r\nUse this command to identify workspaces before querying their logs or tables.", + "command": "monitor workspace list", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "3f513aea-b6fc-4ad0-8f7d-9fbaa1056ac6", + "name": "query", + "description": "Query logs across an ENTIRE Log Analytics workspace using Kusto Query Language (KQL). \r\nUse this tool when the user wants to query all resources in a workspace or doesn't specify a particular resource name/ID (e.g., \"show all errors in workspace\", \"query workspace logs\", \"what happened in my workspace\").\r\nThis tool queries across all resources and tables in the workspace.\r\n\r\nWhen to use: User asks for workspace-wide logs, all resources, or doesn't mention a specific resource.\r\nWhen NOT to use: User mentions a specific resource name or Resource ID - use resource log query instead.\r\n\r\nRequires workspace and resource group.\r\nOptional: hours and limit.\r\nquery accepts KQL syntax.", + "command": "monitor workspace log query", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--workspace", + "description": "The Log Analytics workspace ID or name. This can be either the unique identifier (GUID) or the display name of your workspace.", + "type": "string", + "required": true + }, + { + "name": "--table", + "description": "The name of the table to query. This is the specific table within the workspace.", + "type": "string", + "required": true + }, + { + "name": "--query", + "description": "The KQL query to execute against the Log Analytics workspace. You can use predefined queries by name:\n- 'recent': Shows most recent logs ordered by TimeGenerated\n- 'errors': Shows error-level logs ordered by TimeGenerated\nOtherwise, provide a custom KQL query.", + "type": "string", + "required": true + }, + { + "name": "--hours", + "description": "The number of hours to query back from now.", + "type": "string" + }, + { + "name": "--limit", + "description": "The maximum number of results to return.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "b73afaa5-4c3f-41e8-9ef3-c54e75215a97", + "name": "query", + "description": "Executes a safe, read-only SQL SELECT query against a database on Azure Database for MySQL Flexible Server. Use this tool to explore or retrieve table data without modifying it. Rejects non-SELECT statements (INSERT/UPDATE/DELETE/REPLACE/MERGE/TRUNCATE/ALTER/CREATE/DROP), multi-statements, comments hiding writes, transaction control (BEGIN/COMMIT/ROLLBACK), INTO OUTFILE, and other destructive keywords. Only a single SELECT is executed to ensure data integrity. Best practices: List needed columns (avoid SELECT *), add WHERE filters, use LIMIT/OFFSET for paging, ORDER BY for deterministic results, and avoid unnecessary sensitive data. Example: SELECT id, name, status FROM customers WHERE status = 'Active' ORDER BY name LIMIT 50;", + "command": "mysql database query", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--user", + "description": "The user name to access MySQL server.", + "type": "string", + "required": true + }, + { + "name": "--server", + "description": "The MySQL server to be accessed.", + "type": "string", + "required": true + }, + { + "name": "--database", + "description": "The MySQL database to be accessed.", + "type": "string", + "required": true + }, + { + "name": "--query", + "description": "Query to be executed against a MySQL database.", + "type": "string", + "required": true + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "77e60b50-5c16-4879-96b1-6a40d9c08a37", + "name": "list", + "description": "List MySQL servers, databases, or tables in your subscription. Returns all servers by default. Specify --server to list databases on that server, or --server and --database to list tables in a specific database.", + "command": "mysql list", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--user", + "description": "The user name to access MySQL server.", + "type": "string", + "required": true + }, + { + "name": "--server", + "description": "The MySQL server to list databases from (optional).", + "type": "string" + }, + { + "name": "--database", + "description": "The MySQL database to list tables from (optional, requires --server).", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "677cef4f-0eb1-4665-a3a2-89301a75c201", + "name": "get", + "description": "Retrieves comprehensive configuration details for the specified Azure Database for MySQL Flexible Server instance. This command provides insights into server settings, performance parameters, security configurations, and operational characteristics essential for database administration and optimization. Returns configuration data in JSON format including ServerName, Location, Version, SKU, StorageSizeGB, BackupRetentionDays, and GeoRedundantBackup properties.", + "command": "mysql server config get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--user", + "description": "The user name to access MySQL server.", + "type": "string", + "required": true + }, + { + "name": "--server", + "description": "The MySQL server to be accessed.", + "type": "string", + "required": true + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "bae423b4-aee8-4f23-a104-e816727d183f", + "name": "get", + "description": "Retrieves the current value of a single server configuration parameter on an Azure Database for MySQL Flexible Server. Use to inspect a setting (e.g. max_connections, wait_timeout, slow_query_log) before changing it.", + "command": "mysql server param get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--user", + "description": "The user name to access MySQL server.", + "type": "string", + "required": true + }, + { + "name": "--server", + "description": "The MySQL server to be accessed.", + "type": "string", + "required": true + }, + { + "name": "--param", + "description": "The MySQL parameter to be accessed.", + "type": "string", + "required": true + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "8d086e44-8c8a-4649-a282-38f775704595", + "name": "set", + "description": "Sets/updates a single MySQL server configuration setting/parameter.", + "command": "mysql server param set", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--user", + "description": "The user name to access MySQL server.", + "type": "string", + "required": true + }, + { + "name": "--server", + "description": "The MySQL server to be accessed.", + "type": "string", + "required": true + }, + { + "name": "--param", + "description": "The MySQL parameter to be accessed.", + "type": "string", + "required": true + }, + { + "name": "--value", + "description": "The value to set for the MySQL parameter.", + "type": "string", + "required": true + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "1c8d2584-fa52-4641-85f9-fb67a8f5c7c9", + "name": "get", + "description": "Retrieves detailed schema information for a specific table within an Azure Database for MySQL Flexible Server database. This command provides comprehensive metadata including column definitions, data types, constraints, indexes, and relationships, essential for understanding table structure and supporting application development.", + "command": "mysql table schema get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--user", + "description": "The user name to access MySQL server.", + "type": "string", + "required": true + }, + { + "name": "--server", + "description": "The MySQL server to be accessed.", + "type": "string", + "required": true + }, + { + "name": "--database", + "description": "The MySQL database to be accessed.", + "type": "string", + "required": true + }, + { + "name": "--table", + "description": "The MySQL table to be accessed.", + "type": "string", + "required": true + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "b7c4d3e2-0f1a-4b8c-9d6e-5a7b8c9d0e1f", + "name": "list", + "description": "List policy assignments in a subscription or scope. This command retrieves all Azure Policy\r\nassignments along with their complete policy definition details (rules, effects, parameters schema),\r\nenforcement modes, assignment parameters, and metadata. This enables agents to understand policy\r\nrequirements and design compliant cloud services. You can optionally filter by scope to list\r\nassignments at a specific resource group, resource, or management group level.", + "command": "policy assignment list", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--scope", + "description": "The scope of the policy assignment (e.g., /subscriptions/{subscriptionId}, /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}).", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "81a28bca-014c-4738-9e1a-654d77cb2dd8", + "name": "query", + "description": "Executes a SQL query on an Azure Database for PostgreSQL server to search for specific terms, retrieve records, or perform SELECT operations.", + "command": "postgres database query", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--user", + "description": "The user name to access PostgreSQL server.", + "type": "string", + "required": true + }, + { + "name": "--server", + "description": "The PostgreSQL server to be accessed.", + "type": "string", + "required": true + }, + { + "name": "--database", + "description": "The PostgreSQL database to be accessed.", + "type": "string", + "required": true + }, + { + "name": "--auth-type", + "description": "The authentication type to access PostgreSQL server. Supported values are 'MicrosoftEntra' or 'PostgreSQL'. By default 'MicrosoftEntra' is used.", + "type": "string" + }, + { + "name": "--password", + "description": "The user password to access PostgreSQL server, Only required if 'auth-type' is set to 'PostgreSQL' authentication, not needed for 'MicrosoftEntra' authentication.", + "type": "string" + }, + { + "name": "--query", + "description": "Query to be executed against a PostgreSQL database.", + "type": "string", + "required": true + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "8a12c3f4-2e5d-4b3a-9f2c-5e6d7f8a9b0c", + "name": "list", + "description": "List PostgreSQL servers, databases, or tables. Returns all servers in the subscription by default (optionally scoped to a --resource-group). Specify --server to list databases on that server, or --server and --database to list tables in a specific database. --user is required when --server is provided.", + "command": "postgres list", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--user", + "description": "The user name to access PostgreSQL server.", + "type": "string" + }, + { + "name": "--server", + "description": "The PostgreSQL server to list databases from (optional).", + "type": "string" + }, + { + "name": "--database", + "description": "The PostgreSQL database to list tables from (optional, requires --server).", + "type": "string" + }, + { + "name": "--auth-type", + "description": "The authentication type to access PostgreSQL server. Supported values are 'MicrosoftEntra' or 'PostgreSQL'. By default 'MicrosoftEntra' is used.", + "type": "string" + }, + { + "name": "--password", + "description": "The user password to access PostgreSQL server, Only required if 'auth-type' is set to 'PostgreSQL' authentication, not needed for 'MicrosoftEntra' authentication.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "049a0d10-0a6e-4278-a0a3-15ce6b2e5ee1", + "name": "get", + "description": "Retrieve the configuration of a PostgreSQL server.", + "command": "postgres server config get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--user", + "description": "The user name to access PostgreSQL server.", + "type": "string", + "required": true + }, + { + "name": "--server", + "description": "The PostgreSQL server to be accessed.", + "type": "string", + "required": true + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "af3a581d-ab64-4939-9765-974815d9c7be", + "name": "get", + "description": "Retrieves a specific parameter of a PostgreSQL server.", + "command": "postgres server param get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--user", + "description": "The user name to access PostgreSQL server.", + "type": "string", + "required": true + }, + { + "name": "--server", + "description": "The PostgreSQL server to be accessed.", + "type": "string", + "required": true + }, + { + "name": "--param", + "description": "The PostgreSQL parameter to be accessed.", + "type": "string", + "required": true + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "2134621b-518f-48ac-a66a-82c40fcb58bb", + "name": "set", + "description": "Configures PostgreSQL server settings including replication, connection limits, and other parameters.", + "command": "postgres server param set", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--user", + "description": "The user name to access PostgreSQL server.", + "type": "string", + "required": true + }, + { + "name": "--server", + "description": "The PostgreSQL server to be accessed.", + "type": "string", + "required": true + }, + { + "name": "--param", + "description": "The PostgreSQL parameter to be accessed.", + "type": "string", + "required": true + }, + { + "name": "--value", + "description": "The value to set for the PostgreSQL parameter.", + "type": "string", + "required": true + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "643a3497-44e1-4727-b3d6-c2e5dba6cab2", + "name": "get", + "description": "Retrieves the schema of a specified table in a PostgreSQL database.", + "command": "postgres table schema get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--user", + "description": "The user name to access PostgreSQL server.", + "type": "string", + "required": true + }, + { + "name": "--server", + "description": "The PostgreSQL server to be accessed.", + "type": "string", + "required": true + }, + { + "name": "--database", + "description": "The PostgreSQL database to be accessed.", + "type": "string", + "required": true + }, + { + "name": "--auth-type", + "description": "The authentication type to access PostgreSQL server. Supported values are 'MicrosoftEntra' or 'PostgreSQL'. By default 'MicrosoftEntra' is used.", + "type": "string" + }, + { + "name": "--password", + "description": "The user password to access PostgreSQL server, Only required if 'auth-type' is set to 'PostgreSQL' authentication, not needed for 'MicrosoftEntra' authentication.", + "type": "string" + }, + { + "name": "--table", + "description": "The PostgreSQL table to be accessed.", + "type": "string", + "required": true + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "c5a8f7d2-9e3b-4a1c-8d6f-2b5e9c4a7d3e", + "name": "get", + "description": "Get Azure retail pricing information. CRITICAL/MANDATORY: Do NOT call this tool if the user only specifies a broad service name (e.g., 'Virtual Machines', 'Storage', 'SQL Database') without a specific SKU. Instead, FIRST ask the user which specific SKU or tier they want pricing for. If the user asks to compare pricing across regions or SKUs without specifying exact ARM SKU names, ask them which specific SKUs they want to compare.\r\nDo NOT assume or pick default SKUs. Only call this tool AFTER the user provides a specific SKU (--sku) or confirms they want all pricing for that service. Requires at least one filter: --sku, --service, --region, --service-family, or --filter. SAVINGS PLAN: 'SavingsPlan' is NOT a valid --price-type. Use --include-savings-plan flag instead.\r\nValid --price-type values: Consumption, Reservation, DevTestConsumption. When --include-savings-plan is true, Consumption items include nested 'savingsPlan' array with 1-year/3-year pricing (mainly Linux VMs).\r\nFOR BICEP/ARM COST ESTIMATION: When user asks to estimate costs from a Bicep or ARM template file, read the file, extract each resource's type and SKU, call this tool for each resource and aggregate the monthly costs (hourly price * 730 hours/month).", + "command": "pricing get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--learn" + ], + "options": [ + { + "name": "--currency", + "description": "Currency code for pricing (e.g., USD, EUR). Default is USD.", + "type": "string" + }, + { + "name": "--sku", + "description": "ARM SKU name (e.g., Standard_D4s_v5, Standard_E64-16ds_v4)", + "type": "string" + }, + { + "name": "--service", + "description": "Azure service name (e.g., Virtual Machines, Storage, SQL Database)", + "type": "string" + }, + { + "name": "--region", + "description": "Azure region (e.g., eastus, westeurope, westus2)", + "type": "string" + }, + { + "name": "--service-family", + "description": "Service family (e.g., Compute, Storage, Databases, Networking)", + "type": "string" + }, + { + "name": "--price-type", + "description": "Price type filter (Consumption, Reservation, DevTestConsumption)", + "type": "string" + }, + { + "name": "--include-savings-plan", + "description": "Include savings plan pricing information (uses preview API version)", + "type": "string" + }, + { + "name": "--filter", + "description": "Raw OData filter expression for advanced queries (e.g., \"meterId eq 'abc-123'\")", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "0b8902f5-3fd4-49d9-b73e-4cea88afdd62", + "name": "list", + "description": "Given a list of Azure resource types, this tool will return a list of regions where the resource types are available. Always get the user's subscription ID before calling this tool.", + "command": "quota region availability list", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--resource-types", + "description": "Comma-separated list of Azure resource types to check available regions for. The valid Azure resource types. E.g. 'Microsoft.App/containerApps, Microsoft.Web/sites, Microsoft.CognitiveServices/accounts'.", + "type": "string", + "required": true + }, + { + "name": "--cognitive-service-model-name", + "description": "Optional model name for cognitive services. Only needed when Microsoft.CognitiveServices is included in resource types.", + "type": "string" + }, + { + "name": "--cognitive-service-model-version", + "description": "Optional model version for cognitive services. Only needed when Microsoft.CognitiveServices is included in resource types.", + "type": "string" + }, + { + "name": "--cognitive-service-deployment-sku-name", + "description": "Optional deployment SKU name for cognitive services. Only needed when Microsoft.CognitiveServices is included in resource types.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "81f64603-5a56-4f74-90f8-395da69a99d3", + "name": "check", + "description": "This tool will check the usage and quota information for Azure resources in a region.", + "command": "quota usage check", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--region", + "description": "The valid Azure region where the resources will be deployed. E.g. 'eastus', 'westus', etc.", + "type": "string", + "required": true + }, + { + "name": "--resource-types", + "description": "The valid Azure resource types that are going to be deployed(comma-separated). E.g. 'Microsoft.App/containerApps,Microsoft.Web/sites,Microsoft.CognitiveServices/accounts', etc.", + "type": "string", + "required": true + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "750133dd-d57f-4ed4-9488-c1d406ad4a83", + "name": "create", + "description": "Create a new Azure Managed Redis resource in Azure. Use this command to provision a new Redis resource in your subscription.", + "command": "redis create", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--resource", + "description": "The name of the Redis resource (e.g., my-redis).", + "type": "string", + "required": true + }, + { + "name": "--sku", + "description": "The SKU for the Redis resource. (Default: Balanced_B0)", + "type": "string" + }, + { + "name": "--location", + "description": "The location for the Redis resource (e.g. eastus).", + "type": "string", + "required": true + }, + { + "name": "--access-keys-authentication", + "description": "Whether to enable access keys for authentication for the Redis resource. (Default: false)", + "type": "string" + }, + { + "name": "--public-network-access", + "description": "Whether to enable public network access for the Redis resource. (Default: false)", + "type": "string" + }, + { + "name": "--modules", + "description": "A list of modules to enable on the Azure Managed Redis resource (e.g., RedisBloom, RedisJSON).", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "eded7479-4187-4742-957f-d7778e03a69d", + "name": "list", + "description": "List/show all Redis resources in a subscription. Returns details of all Azure Managed Redis, Azure Cache for Redis, and Azure Redis Enterprise resources. Use this command to explore and view which Redis resources are available in your subscription.", + "command": "redis list", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "3b388cc7-4b16-4919-9e90-f592247d9891", + "name": "get", + "description": "Get the Azure Resource Health availability status for a specific resource or all resources in a subscription or resource group. Use this tool when asked about the availability status, health status, or Resource Health of an Azure resource (e.g. virtual machine, storage account). Reports whether a resource is Available, Unavailable, Degraded, or Unknown, including the reason and details. This is the correct tool for questions like 'What is the availability status of VM X?' or 'Is resource Y healthy?'.", + "command": "resourcehealth availability-status get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--resourceId", + "description": "The Azure resource ID to get health status for (e.g., /subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.Compute/virtualMachines/{vm}).", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "c3211c73-af20-4d8d-bed2-4f181e0e4c92", + "name": "list", + "description": "List Azure service health events to track service issues that occurred in recent timeframes (last 30 days, weeks, months). Query subscription for planned maintenance, past or ongoing service incidents, advisories, and security events. Provides detailed information about resource availability state, potential issues, and timestamps. Returns: trackingId, title, summary, eventType, status, startTime, endTime, impactedServices. Access Azure Service Health portal data programmatically.", + "command": "resourcehealth health-events list", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--event-type", + "description": "Filter by event type (ServiceIssue, PlannedMaintenance, HealthAdvisory, Security). If not specified, all event types are included.", + "type": "string" + }, + { + "name": "--status", + "description": "Filter by status (Active, Resolved). If not specified, all statuses are included.", + "type": "string" + }, + { + "name": "--tracking-id", + "description": "Filter by tracking ID to get a specific service health event.", + "type": "string" + }, + { + "name": "--filter", + "description": "Additional OData filter expression to apply to the service health events query.", + "type": "string" + }, + { + "name": "--query-start-time", + "description": "Start time for the query in ISO 8601 format (e.g., 2024-01-01T00:00:00Z). Events from this time onwards will be included.", + "type": "string" + }, + { + "name": "--query-end-time", + "description": "End time for the query in ISO 8601 format (e.g., 2024-01-31T23:59:59Z). Events up to this time will be included.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "1dfbef45-4014-4575-a9ba-2242bc792e54", + "name": "list", + "description": "List role assignments. This command retrieves and displays all Azure RBAC role assignments\r\nin the specified scope. Results include role definition IDs and principal IDs, returned as a JSON array.", + "command": "role assignment list", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--scope", + "description": "Scope at which the role assignment or definition applies to, e.g., /subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333, /subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup, or /subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup/providers/Microsoft.Compute/virtualMachines/myVM.", + "type": "string", + "required": true + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "471292d0-4f6d-49d8-bf29-cbcb7b27dedb", + "name": "get", + "description": "List/get/show Azure AI Search indexes in a Search service. Returns index properties such as fields,\r\ndescription, and more. If a specific index name is not provided, the command will return details for all\r\nindexes.", + "command": "search index get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--learn" + ], + "options": [ + { + "name": "--service", + "description": "The name of the Azure AI Search service (e.g., my-search-service).", + "type": "string", + "required": true + }, + { + "name": "--index", + "description": "The name of the search index within the Azure AI Search service.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "f1938a77-8d6c-49c7-b592-71b4f26508e7", + "name": "query", + "description": "Queries/searches documents in an Azure AI Search index with a given query, returning the results of the\r\nquery/search.", + "command": "search index query", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--learn" + ], + "options": [ + { + "name": "--service", + "description": "The name of the Azure AI Search service (e.g., my-search-service).", + "type": "string", + "required": true + }, + { + "name": "--index", + "description": "The name of the search index within the Azure AI Search service.", + "type": "string", + "required": true + }, + { + "name": "--query", + "description": "The search query to execute against the Azure AI Search index.", + "type": "string", + "required": true + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "e0e7c288-8d16-4d11-811d-9236dc86d9a8", + "name": "get", + "description": "Gets the details of Azure AI Search knowledge bases. Knowledge bases encapsulate retrieval and reasoning\r\ncapabilities over one or more knowledge sources or indexes. If a specific knowledge base name is not provided,\r\nthe command will return details for all knowledge bases within the specified service.\r\n\r\nRequired arguments:\r\n- service", + "command": "search knowledge base get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--learn" + ], + "options": [ + { + "name": "--service", + "description": "The name of the Azure AI Search service (e.g., my-search-service).", + "type": "string", + "required": true + }, + { + "name": "--knowledge-base", + "description": "The name of the knowledge base within the Azure AI Search service.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "dcd2952d-02af-4ffc-a7a2-3c6d04251f66", + "name": "retrieve", + "description": "Execute a retrieval operation using a specific Azure AI Search knowledge base, effectively searching and querying the underlying\r\ndata sources as needed to find relevant information. Provide either a --query for single-turn retrieval or one or more\r\nconversational --messages in role:content form (e.g. user:What policies apply?). Specifying both --query and --messages is not\r\nallowed.\r\n\r\nRequired arguments:\r\n- service\r\n- knowledge-base", + "command": "search knowledge base retrieve", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--learn" + ], + "options": [ + { + "name": "--service", + "description": "The name of the Azure AI Search service (e.g., my-search-service).", + "type": "string", + "required": true + }, + { + "name": "--knowledge-base", + "description": "The name of the knowledge base within the Azure AI Search service.", + "type": "string", + "required": true + }, + { + "name": "--query", + "description": "Natural language query for retrieval when a conversational message history isn't provided.", + "type": "string" + }, + { + "name": "--messages", + "description": "Conversation history messages passed to the knowledge base. Able to specify multiple --messages entries. Each entry formatted as role:content, where role is `user` or `assistant` (e.g., user:How many docs?).", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": true, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "efc985cd-5381-4547-8ffb-89ffe992ea41", + "name": "get", + "description": "Gets the details of Azure AI Search knowledge sources. A knowledge source may point directly at an\r\nexisting Azure AI Search index, or may represent external data (e.g. a blob storage container) that has been\r\nindexed in Azure AI Search internally. These knowledge sources are used by knowledge bases during retrieval.\r\nIf a specific knowledge source name is not provided, the command will return details for all knowledge sources\r\nwithin the specified service.\r\n\r\nRequired arguments:\r\n- service", + "command": "search knowledge source get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--learn" + ], + "options": [ + { + "name": "--service", + "description": "The name of the Azure AI Search service (e.g., my-search-service).", + "type": "string", + "required": true + }, + { + "name": "--knowledge-source", + "description": "The name of the knowledge source within the Azure AI Search service.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "b0684f8c-20de-4bc0-bbc3-982575c8441f", + "name": "list", + "description": "List/show Azure AI Search services in a subscription, returning details about each service.", + "command": "search service list", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "add0f6fe-258c-45c4-af74-0c165d4913cb", + "name": "info", + "description": "Displays running MCP server information.", + "command": "server info", + "commonOptions": [ + "--learn" + ], + "options": [], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "b3e7c1a2-4f85-4d9e-a6c3-8f2b1e0d7a94", + "name": "plugin-telemetry", + "description": "Publish plugin-related telemetry events from agent hooks.\r\nAccepts command-line options such as '--timestamp', '--event-type', '--session-id', '--client-type', '--client-name', \r\n'--plugin-name', '--plugin-version', '--skill-name', '--skill-version', '--tool-name', and '--file-reference'. \r\nUse this command from agent hooks in clients like VS Code, Claude Desktop, or Copilot CLI to emit usage metrics.", + "command": "server plugin-telemetry", + "commonOptions": [ + "--learn" + ], + "options": [ + { + "name": "--timestamp", + "description": "Timestamp of the telemetry event in ISO 8601 format.", + "type": "string", + "required": true + }, + { + "name": "--event-type", + "description": "Type of event being logged (e.g., 'skill_invocation', 'tool_invocation', 'reference_file_read').", + "type": "string", + "required": true + }, + { + "name": "--session-id", + "description": "Session identifier for correlating related events.", + "type": "string", + "required": true + }, + { + "name": "--client-type", + "description": "Type of client invoking the telemetry (e.g., 'copilot-cli', 'claude-code', 'vscode'). Deprecated: prefer --client-name.", + "type": "string" + }, + { + "name": "--client-name", + "description": "Name of the client invoking the telemetry (e.g., 'copilot-cli', 'claude-code', 'Visual Studio Code', 'Visual Studio Code - Insiders').", + "type": "string" + }, + { + "name": "--plugin-name", + "description": "Name of the plugin being invoked.", + "type": "string" + }, + { + "name": "--plugin-version", + "description": "Version of the plugin being invoked.", + "type": "string" + }, + { + "name": "--skill-name", + "description": "Name of the skill being invoked.", + "type": "string" + }, + { + "name": "--skill-version", + "description": "Version of the skill being invoked.", + "type": "string" + }, + { + "name": "--tool-name", + "description": "Name of the tool being invoked.", + "type": "string" + }, + { + "name": "--file-reference", + "description": "Plugin-relative file reference being accessed (will be validated against an allowlist).", + "type": "string" + } + ], + "destructive": false, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "9953ff62-e3d7-4bdf-9b70-d569e54e3df1", + "name": "start", + "description": "Starts Azure MCP Server.", + "command": "server start", + "commonOptions": [ + "--learn" + ], + "options": [ + { + "name": "--transport", + "description": "Transport mechanism to use for MCP Server.", + "type": "string" + }, + { + "name": "--namespace", + "description": "The service namespaces to expose on the MCP server (e.g., storage, keyvault, cosmos).", + "type": "string" + }, + { + "name": "--mode", + "description": "Mode for the MCP server. 'single' exposes one azure tool that routes to all services. 'namespace' (default) exposes one tool per service namespace. 'all' exposes all tools individually.", + "type": "string" + }, + { + "name": "--tool", + "description": "Expose only specific tools by name (e.g., 'acr_registry_list'). Repeat this option to include multiple tools, e.g., --tool \"acr_registry_list\" --tool \"group_list\". It automatically switches to \"all\" mode when \"--tool\" is used. It can't be used together with \"--namespace\".", + "type": "string" + }, + { + "name": "--read-only", + "description": "Whether the MCP server should be read-only. If true, no write operations will be allowed.", + "type": "string" + }, + { + "name": "--debug", + "description": "Enable debug mode with verbose logging to stderr.", + "type": "string" + }, + { + "name": "--dangerously-disable-http-incoming-auth", + "description": "Dangerously disables HTTP incoming authentication, exposing the server to unauthenticated access over HTTP. Use with extreme caution, this disables all transport security and may expose sensitive data to interception.", + "type": "string" + }, + { + "name": "--dangerously-disable-elicitation", + "description": "Disable elicitation (user confirmation) before allowing high risk commands to run, such as returning Secrets (passwords) from KeyVault.", + "type": "string" + }, + { + "name": "--outgoing-auth-strategy", + "description": "Outgoing authentication strategy for service requests. Valid values: NotSet, UseHostingEnvironmentIdentity, UseOnBehalfOf.", + "type": "string" + }, + { + "name": "--dangerously-write-support-logs-to-dir", + "description": "Dangerously enables detailed debug-level logging for support and troubleshooting purposes. Specify a folder path where log files will be automatically created with timestamp-based filenames (e.g., azmcp_20251202_143052.log). This may include sensitive information in logs. Use with extreme caution and only when requested by support.", + "type": "string" + }, + { + "name": "--dangerously-disable-retry-limits", + "description": "Dangerously disables upper bounds on retry delays, max delays, network timeouts, and max retries. This may lead to excessively long waits and should only be used when explicitly needed.", + "type": "string" + }, + { + "name": "--cloud", + "description": "Azure cloud environment for authentication. Valid values: AzureCloud (default), AzureChinaCloud, AzureUSGovernment, or a custom authority host URL starting with https://", + "type": "string" + }, + { + "name": "--disable-caching", + "description": "Disable caching of resource responses, requiring repeated requests to fetch fresh data each time.", + "type": "string" + } + ], + "destructive": false, + "idempotent": false, + "openWorld": true, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "a02c58ce-e89f-4303-ac4a-c9dfb118e761", + "name": "details", + "description": "Get details about a Service Bus queue. Returns queue properties and runtime information. Properties returned include\r\nlock duration, max message size, queue size, creation date, status, current message counts, etc.\r\n\r\nRequired arguments:\r\n- namespace: The fully qualified Service Bus namespace host name. (This is usually in the form .servicebus.windows.net)\r\n- queue: Queue name to get details and runtime information for.", + "command": "servicebus queue details", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--namespace", + "description": "The fully qualified Service Bus namespace host name. (This is usually in the form .servicebus.windows.net)", + "type": "string", + "required": true + }, + { + "name": "--queue", + "description": "The queue name to peek messages from.", + "type": "string", + "required": true + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "c2487c40-58d0-40f7-98f1-105744865a11", + "name": "details", + "description": "Retrieves details about a Service Bus topic. Returns runtime information and topic properties including number of subscriptions, max message size, max topic size, number of scheduled messages, etc.\r\nRequired arguments are namespace: The fully qualified Service Bus namespace host name (usually in the form .servicebus.windows.net) and topic: Topic name to get information about.\r\nDo not use this to get details on Service Bus subscription- instead use servicebus_topic_subscription_details.", + "command": "servicebus topic details", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--namespace", + "description": "The fully qualified Service Bus namespace host name. (This is usually in the form .servicebus.windows.net)", + "type": "string", + "required": true + }, + { + "name": "--topic", + "description": "The name of the topic containing the subscription.", + "type": "string", + "required": true + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "578edf30-01f3-45da-b451-3932dcce7cc5", + "name": "details", + "description": "Get details about a Service Bus subscription. Returns subscription runtime properties including message counts, delivery settings, and other metadata.\r\n\r\nRequired arguments:\r\n- namespace: The fully qualified Service Bus namespace host name. (This is usually in the form .servicebus.windows.net)\r\n- topic: Topic name containing the subscription\r\n- subscription-name: Name of the subscription to get details for", + "command": "servicebus topic subscription details", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--namespace", + "description": "The fully qualified Service Bus namespace host name. (This is usually in the form .servicebus.windows.net)", + "type": "string", + "required": true + }, + { + "name": "--topic", + "description": "The name of the topic containing the subscription.", + "type": "string", + "required": true + }, + { + "name": "--subscription-name", + "description": "The name of subscription to peek messages from.", + "type": "string", + "required": true + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "a3f1b2c4-d5e6-47f8-9a0b-1c2d3e4f5a6b", + "name": "get", + "description": "Get nodes for a Service Fabric managed cluster. Returns all nodes by default or a single node when a node name is specified. Includes name, node type, status, IP address, fault domain, upgrade domain, health state, and seed node status.", + "command": "servicefabric managedcluster node get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--cluster", + "description": "Service Fabric managed cluster name.", + "type": "string", + "required": true + }, + { + "name": "--node", + "description": "The node name. When specified, returns a single node instead of all nodes.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "b4f2c3d5-e6f7-48a9-8b1c-2d3e4f5a6b7c", + "name": "restart", + "description": "Restart nodes of a specific node type in a Service Fabric managed cluster. Requires the cluster name, node type, and list of node names to restart. Optionally specify the update type (Default or ByUpgradeDomain).", + "command": "servicefabric managedcluster nodetype restart", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--cluster", + "description": "Service Fabric managed cluster name.", + "type": "string", + "required": true + }, + { + "name": "--node-type", + "description": "The node type name within the managed cluster.", + "type": "string", + "required": true + }, + { + "name": "--nodes", + "description": "The list of node names to restart. Multiple node names can be provided.", + "type": "string", + "required": true + }, + { + "name": "--update-type", + "description": "The update type for the restart operation. Valid values: Default, ByUpgradeDomain.", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "bb9035f6-f642-4ee0-83c8-87d6da8266b1", + "name": "get", + "description": "Gets or lists details of an Azure SignalR Runtimes. If a specific SignalR name is used, the details of that\r\nSignalR runtime will be retrieved. Otherwise, all SignalR Runtimes in the specified subscription or resource\r\ngroup will be retrieved. Returns runtime information including identity, network ACLs, upstream templates.", + "command": "signalr runtime get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--signalr", + "description": "The name of the SignalR runtime", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "c725eb52-ca2c-4fe4-9422-935e7557b701", + "name": "recognize", + "description": "Recognize speech from an audio file using Azure AI Services Speech. This command takes an audio file and converts it to text using advanced speech recognition capabilities.\r\nYou must provide an Azure AI Services endpoint (e.g., https://your-service.cognitiveservices.azure.com/) and a path to the audio file.\r\nSupported audio formats include WAV, MP3, OPUS/OGG, FLAC, ALAW, MULAW, MP4, M4A, and AAC. Compressed formats require GStreamer to be installed on the system.\r\nOptional parameters include language specification, phrase hints for better accuracy, output format (simple or detailed), and profanity filtering.", + "command": "speech stt recognize", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--endpoint", + "description": "The Azure AI Services endpoint URL (e.g., https://your-service.cognitiveservices.azure.com/).", + "type": "string", + "required": true + }, + { + "name": "--file", + "description": "Path to the audio file to recognize.", + "type": "string", + "required": true + }, + { + "name": "--language", + "description": "The language for speech recognition (e.g., en-US, es-ES). Default is en-US.", + "type": "string" + }, + { + "name": "--phrases", + "description": "Phrase hints to improve recognition accuracy. Can be specified multiple times (--phrases \"phrase1\" --phrases \"phrase2\") or as comma-separated values (--phrases \"phrase1,phrase2\").", + "type": "string" + }, + { + "name": "--format", + "description": "Output format: simple or detailed.", + "type": "string" + }, + { + "name": "--profanity", + "description": "Profanity filter: masked, removed, or raw. Default is masked.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": true + }, + { + "id": "d6f6687f-feee-4e15-9b98-71aea4076e04", + "name": "synthesize", + "description": "Convert text to speech using Azure AI Services Speech. This command takes text input and generates an audio file using advanced neural text-to-speech capabilities.\r\nYou must provide an Azure AI Services endpoint (e.g., https://your-service.cognitiveservices.azure.com/), the text to convert, and an output file path.\r\nOptional parameters include language specification (default: en-US), voice selection, audio output format (default: Riff24Khz16BitMonoPcm), and custom voice endpoint ID.\r\nThe command supports a wide variety of output formats and neural voices for natural-sounding speech synthesis.", + "command": "speech tts synthesize", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--endpoint", + "description": "The Azure AI Services endpoint URL (e.g., https://your-service.cognitiveservices.azure.com/).", + "type": "string", + "required": true + }, + { + "name": "--text", + "description": "The text to convert to speech.", + "type": "string", + "required": true + }, + { + "name": "--outputAudio", + "description": "Path where the synthesized audio file will be saved.", + "type": "string", + "required": true + }, + { + "name": "--language", + "description": "The language for speech recognition (e.g., en-US, es-ES). Default is en-US.", + "type": "string" + }, + { + "name": "--voice", + "description": "The voice to use for speech synthesis (e.g., en-US-JennyNeural). If not specified, the default voice for the language will be used.", + "type": "string" + }, + { + "name": "--format", + "description": "Output format: simple or detailed.", + "type": "string" + }, + { + "name": "--endpointId", + "description": "The endpoint ID of a custom voice model for speech synthesis.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": true + }, + { + "id": "a4d9af17-fe8b-4df3-93be-23b69f0b5a0c", + "name": "create", + "description": "Create a new Azure SQL Database on an existing SQL Server. This command creates a database with configurable\r\nperformance tiers, size limits, and other settings. Equivalent to 'az sql db create'.\r\nReturns the newly created database information including configuration details.", + "command": "sql db create", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--server", + "--learn" + ], + "options": [ + { + "name": "--database", + "description": "The Azure SQL Database name.", + "type": "string", + "required": true + }, + { + "name": "--sku-name", + "description": "The SKU name for the database (e.g., Basic, S0, P1, GP_Gen5_2).", + "type": "string" + }, + { + "name": "--sku-tier", + "description": "The SKU tier for the database (e.g., Basic, Standard, Premium, GeneralPurpose).", + "type": "string" + }, + { + "name": "--sku-capacity", + "description": "The SKU capacity (DTU or vCore count) for the database.", + "type": "string" + }, + { + "name": "--collation", + "description": "The collation for the database (e.g., SQL_Latin1_General_CP1_CI_AS).", + "type": "string" + }, + { + "name": "--max-size-bytes", + "description": "The maximum size of the database in bytes.", + "type": "string" + }, + { + "name": "--elastic-pool-name", + "description": "The name of the elastic pool to assign the database to.", + "type": "string" + }, + { + "name": "--zone-redundant", + "description": "Whether the database should be zone redundant.", + "type": "string" + }, + { + "name": "--read-scale", + "description": "Read scale option for the database (Enabled or Disabled).", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "c4ef0375-0df9-445c-b8ae-2542e9612425", + "name": "delete", + "description": "Deletes a database from an Azure SQL Server.This idempotent operation removes the specified database from the server, returning Deleted = false if the database doesn't exist or Deleted = true if successfully removed.", + "command": "sql db delete", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--server", + "--learn" + ], + "options": [ + { + "name": "--database", + "description": "The Azure SQL Database name.", + "type": "string", + "required": true + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "2c4e6a8b-1d3f-4e5a-b6c7-8d9e0f1a2b3c", + "name": "get", + "description": "Show, get, or list Azure SQL databases in a SQL Server. Shows details for a specific Azure SQL database\r\nby name, or lists all Azure SQL databases in the specified SQL Server. Use to show or retrieve Azure SQL\r\ndatabase information. Equivalent to 'az sql db show' (show one Azure SQL database) or 'az sql db list'\r\n(list all Azure SQL databases in a server). Returns database information including configuration details\r\nand current status.", + "command": "sql db get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--server", + "--learn" + ], + "options": [ + { + "name": "--database", + "description": "The Azure SQL Database name.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "3bddfa1a-ab9d-44f0-830a-e56a159e5469", + "name": "rename", + "description": "Rename an existing Azure SQL Database to a new name within the same SQL server. This command moves the\r\ndatabase resource to a new identifier while preserving configuration and data. Equivalent to\r\n'az sql db rename'. Returns the updated database information using the new name.", + "command": "sql db rename", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--server", + "--learn" + ], + "options": [ + { + "name": "--database", + "description": "The Azure SQL Database name.", + "type": "string", + "required": true + }, + { + "name": "--new-database-name", + "description": "The new name for the Azure SQL Database.", + "type": "string", + "required": true + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "16f02fbf-6760-440a-bacc-925365b6de49", + "name": "update", + "description": "Scale and configure Azure SQL Database performance settings.\r\nUpdate an existing database's SKU, compute tier, storage capacity,\r\nor redundancy options to meet changing performance requirements.\r\nReturns the updated database configuration including applied scaling changes.", + "command": "sql db update", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--server", + "--learn" + ], + "options": [ + { + "name": "--database", + "description": "The Azure SQL Database name.", + "type": "string", + "required": true + }, + { + "name": "--sku-name", + "description": "The SKU name for the database (e.g., Basic, S0, P1, GP_Gen5_2).", + "type": "string" + }, + { + "name": "--sku-tier", + "description": "The SKU tier for the database (e.g., Basic, Standard, Premium, GeneralPurpose).", + "type": "string" + }, + { + "name": "--sku-capacity", + "description": "The SKU capacity (DTU or vCore count) for the database.", + "type": "string" + }, + { + "name": "--collation", + "description": "The collation for the database (e.g., SQL_Latin1_General_CP1_CI_AS).", + "type": "string" + }, + { + "name": "--max-size-bytes", + "description": "The maximum size of the database in bytes.", + "type": "string" + }, + { + "name": "--elastic-pool-name", + "description": "The name of the elastic pool to assign the database to.", + "type": "string" + }, + { + "name": "--zone-redundant", + "description": "Whether the database should be zone redundant.", + "type": "string" + }, + { + "name": "--read-scale", + "description": "Read scale option for the database (Enabled or Disabled).", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "f980fda7-4bd6-4c24-b139-a091f088584f", + "name": "list", + "description": "Lists all SQL elastic pools in an Azure SQL Server with their SKU, capacity, state, and database limits.\r\nUse when you need to: view elastic pool inventory, check pool utilization, compare pool configurations,\r\nor find available pools for database placement.\r\nRequires: subscription ID, resource group name, server name.\r\nReturns: JSON array of elastic pools with complete configuration details.\r\nEquivalent to 'az sql elastic-pool list'.", + "command": "sql elastic-pool list", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--server", + "--learn" + ], + "options": [], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "43f5f55d-2f21-47ac-b7f3-53f5d51b5218", + "name": "create", + "description": "Creates a new Azure SQL server in the specified resource group and location.\r\nThe server will be created with the specified administrator credentials and\r\noptional configuration settings. Returns the created server with its properties\r\nincluding the fully qualified domain name.", + "command": "sql server create", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--server", + "--learn" + ], + "options": [ + { + "name": "--administrator-login", + "description": "The administrator login name for the SQL server.", + "type": "string", + "required": true + }, + { + "name": "--administrator-password", + "description": "The administrator password for the SQL server.", + "type": "string", + "required": true + }, + { + "name": "--location", + "description": "The Azure region location where the SQL server will be created.", + "type": "string", + "required": true + }, + { + "name": "--version", + "description": "The version of SQL Server to create (e.g., '12.0').", + "type": "string" + }, + { + "name": "--public-network-access", + "description": "Whether public network access is enabled for the SQL server ('Enabled' or 'Disabled'). Defaults to 'Disabled'.", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "381bd0ef-5bb4-45ed-ae51-d129dcc044b2", + "name": "delete", + "description": "Remove the specified SQL server from your Azure subscription, including all associated databases.\r\nThis operation permanently deletes all server data and cannot be reversed.\r\nUse --force to bypass confirmation.", + "command": "sql server delete", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--server", + "--learn" + ], + "options": [ + { + "name": "--force", + "description": "Force delete the server without confirmation prompts.", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "240aac03-0eb0-4cd3-91f8-475577289186", + "name": "list", + "description": "Gets a list of Microsoft Entra ID administrators for a SQL server. This command retrieves all\r\nEntra ID administrators configured for the specified SQL server, including their display names, object IDs,\r\nand tenant information. Returns an array of Entra ID administrator objects with their properties.", + "command": "sql server entra-admin list", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--server", + "--learn" + ], + "options": [], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "37c43190-c3f5-4cd2-beda-3ecc2e3ec049", + "name": "create", + "description": "Creates a firewall rule for a SQL server. Firewall rules control which IP addresses\r\nare allowed to connect to the SQL server. You can specify either a single IP address\r\n(by setting start and end IP to the same value) or a range of IP addresses. Returns\r\nthe created firewall rule with its properties.", + "command": "sql server firewall-rule create", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--server", + "--learn" + ], + "options": [ + { + "name": "--firewall-rule-name", + "description": "The name of the firewall rule.", + "type": "string", + "required": true + }, + { + "name": "--start-ip-address", + "description": "The start IP address of the firewall rule range.", + "type": "string", + "required": true + }, + { + "name": "--end-ip-address", + "description": "The end IP address of the firewall rule range.", + "type": "string", + "required": true + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "f13fc5d2-7547-480b-a704-36120e2e9b92", + "name": "delete", + "description": "Deletes a firewall rule from a SQL server. This operation removes the specified\r\nfirewall rule, potentially restricting access for the IP addresses that were\r\npreviously allowed by this rule. The operation is idempotent - if the rule\r\ndoesn't exist, no error is returned.", + "command": "sql server firewall-rule delete", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--server", + "--learn" + ], + "options": [ + { + "name": "--firewall-rule-name", + "description": "The name of the firewall rule.", + "type": "string", + "required": true + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "1f55cab9-0bbb-499a-a9ac-1492f11c043a", + "name": "list", + "description": "Gets a list of firewall rules for a SQL server. This command retrieves all\r\nfirewall rules configured for the specified SQL server, including their IP address ranges\r\nand rule names. Returns an array of firewall rule objects with their properties.", + "command": "sql server firewall-rule list", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--server", + "--learn" + ], + "options": [], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "7f9a1c3e-5b7d-4a6c-8e0f-2b4d6a8c0e1f", + "name": "get", + "description": "Show, get, or list Azure SQL servers in a resource group. Shows details for a specific Azure SQL server\r\nby name, or lists all Azure SQL servers in the specified resource group. Use to show, display, or\r\nretrieve Azure SQL server information. Equivalent to 'az sql server show' (show one Azure SQL server) or\r\n'az sql server list' (list all Azure SQL servers in a resource group). Returns server information\r\nincluding configuration details and current state.", + "command": "sql server get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--server", + "description": "The Azure SQL Server name.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "a2cf843a-57f2-45ea-8078-59b0be0805e6", + "name": "create", + "description": "Creates an Azure Storage account in the specified resource group and location and returns the created storage account\r\ninformation including name, location, SKU, access settings, and configuration details.", + "command": "storage account create", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--account", + "description": "The name of the Azure Storage account to create. Must be globally unique, 3-24 characters, lowercase letters and numbers only.", + "type": "string", + "required": true + }, + { + "name": "--location", + "description": "The Azure region where the storage account will be created (e.g., 'eastus', 'westus2').", + "type": "string", + "required": true + }, + { + "name": "--sku", + "description": "The storage account SKU. Valid values: Standard_LRS, Standard_GRS, Standard_RAGRS, Standard_ZRS, Premium_LRS, Premium_ZRS, Standard_GZRS, Standard_RAGZRS.", + "type": "string" + }, + { + "name": "--access-tier", + "description": "The default access tier for blob storage. Valid values: Hot, Cool.", + "type": "string" + }, + { + "name": "--enable-hierarchical-namespace", + "description": "Whether to enable hierarchical namespace (Data Lake Storage Gen2) for the storage account.", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "eb2363f1-f21f-45fc-ad63-bacfbae8c45c", + "name": "get", + "description": "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 a specific account name is not provided, the command will return details for all accounts in a subscription.", + "command": "storage account get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--account", + "description": "The name of the Azure Storage account. This is the unique name you chose for your storage account (e.g., 'mystorageaccount').", + "type": "string" + }, + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "f5088334-e630-4df0-a5be-ac87787acad0", + "name": "create", + "description": "Create/provision a new Azure Storage blob container in a storage account.\r\n\r\nRequired: --account, --container, --subscription\r\nOptional: --tenant\r\n\r\nReturns: container name, lastModified, eTag, leaseStatus, publicAccessLevel, hasImmutabilityPolicy, hasLegalHold.\r\nCreates a logical container for organizing blobs within a storage account.", + "command": "storage blob container create", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--account", + "description": "The name of the Azure Storage account. This is the unique name you chose for your storage account (e.g., 'mystorageaccount').", + "type": "string", + "required": true + }, + { + "name": "--container", + "description": "The name of the container to access within the storage account.", + "type": "string", + "required": true + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "e96eb850-abb8-431d-bdc6-7ccd0a24838e", + "name": "get", + "description": "Show/list containers in a storage account. Use this tool to list all blob containers in the storage account or\r\nshow details for a specific Storage container. If no container specified, shows all containers in the storage\r\naccount, optionally filtering on a prefix. The prefix is ignored if a container is specified.\r\n\r\nRequired: --account, --subscription\r\nOptional: --container, --tenant, --prefix\r\n\r\nReturns: container name, lastModified, leaseStatus, publicAccess, metadata, and container properties.\r\nDo not use this tool to list blobs in a container.", + "command": "storage blob container get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--account", + "description": "The name of the Azure Storage account. This is the unique name you chose for your storage account (e.g., 'mystorageaccount').", + "type": "string", + "required": true + }, + { + "name": "--container", + "description": "The name of the container to access within the storage account.", + "type": "string" + }, + { + "name": "--prefix", + "description": "The prefix to filter containers when listing containers in a storage account. Only containers whose names start with the specified prefix will be listed.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "d6bdc190-e68f-49af-82e7-9cf6ec9b8183", + "name": "get", + "description": "List/get/show blobs in a blob container in Storage account. Use this tool to list the blobs in a container or\r\nget details for a specific blob. If no blob specified, lists all blobs present in the container, optionally\r\nfiltering on a prefix. The prefix is ignored if a blob is specified.\r\n\r\nRequired: --account, --container, --subscription\r\nOptional: --blob, --tenant, --prefix\r\n\r\nReturns: blob name, size, lastModified, contentType, contentHash, metadata, and blob properties.\r\nDo not use this tool to list containers in the storage account.", + "command": "storage blob get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--account", + "description": "The name of the Azure Storage account. This is the unique name you chose for your storage account (e.g., 'mystorageaccount').", + "type": "string", + "required": true + }, + { + "name": "--container", + "description": "The name of the container to access within the storage account.", + "type": "string", + "required": true + }, + { + "name": "--blob", + "description": "The name of the blob to access within the container. This should be the full path within the container (e.g., 'file.txt' or 'folder/file.txt').", + "type": "string" + }, + { + "name": "--prefix", + "description": "The prefix to filter blobs when listing blobs in a container. Only blobs whose names start with the specified prefix will be listed.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "aafb82ac-e35a-4800-b362-c642a3ac1e17", + "name": "upload", + "description": "Uploads a local file to an Azure Storage blob, only if the blob does not exist, returning the last modified time,\r\nETag, and content hash of the uploaded blob.", + "command": "storage blob upload", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--account", + "description": "The name of the Azure Storage account. This is the unique name you chose for your storage account (e.g., 'mystorageaccount').", + "type": "string", + "required": true + }, + { + "name": "--container", + "description": "The name of the container to access within the storage account.", + "type": "string", + "required": true + }, + { + "name": "--blob", + "description": "The name of the blob to access within the container. This should be the full path within the container (e.g., 'file.txt' or 'folder/file.txt').", + "type": "string", + "required": true + }, + { + "name": "--local-file-path", + "description": "The local file path to read content from or to write content to. This should be the full path to the file on your local system.", + "type": "string", + "required": true + } + ], + "destructive": false, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": true + }, + { + "id": "1236ad1d-baf1-4b95-8c1d-420637ce08da", + "name": "list", + "description": "List all tables in an Azure Storage account. Shows table names for the specified storage account. Required: account, subscription. Optional: tenant. Returns: table names. Do not use this tool for Cosmos DB tables or Kusto/Data Explorer tables.", + "command": "storage table list", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--account", + "description": "The name of the Azure Storage account. This is the unique name you chose for your storage account (e.g., 'mystorageaccount').", + "type": "string", + "required": true + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "96f096a2-d36f-4361-aa74-4e393e7f48a5", + "name": "changedetection", + "description": "Trigger change detection on a cloud endpoint to sync file changes.", + "command": "storagesync cloudendpoint changedetection", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--name", + "--learn" + ], + "options": [ + { + "name": "--sync-group-name", + "description": "The name of the sync group", + "type": "string", + "required": true + }, + { + "name": "--cloud-endpoint-name", + "description": "The name of the cloud endpoint", + "type": "string", + "required": true + }, + { + "name": "--directory-path", + "description": "Relative path to a directory on the Azure File share for which change detection is to be performed", + "type": "string", + "required": true + }, + { + "name": "--change-detection-mode", + "description": "Change detection mode: 'Default' (directory only) or 'Recursive' (directory and subdirectories). Applies to the directory specified in directory-path", + "type": "string" + }, + { + "name": "--paths", + "description": "Array of relative paths on the Azure File share to be included in change detection. Can be files and directories", + "type": "string" + } + ], + "destructive": false, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "df0d4ae3-519a-44f1-ad30-d25a0985e9c2", + "name": "create", + "description": "Add a cloud endpoint to a sync group by connecting an Azure File Share. Cloud endpoints represent the Azure storage side of the sync relationship.", + "command": "storagesync cloudendpoint create", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--name", + "--learn" + ], + "options": [ + { + "name": "--sync-group-name", + "description": "The name of the sync group", + "type": "string", + "required": true + }, + { + "name": "--cloud-endpoint-name", + "description": "The name of the cloud endpoint", + "type": "string", + "required": true + }, + { + "name": "--storage-account-resource-id", + "description": "The resource ID of the Azure storage account", + "type": "string", + "required": true + }, + { + "name": "--azure-file-share-name", + "description": "The name of the Azure file share", + "type": "string", + "required": true + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "f5e76906-cc2a-41a4-b4f9-498221aaaf2e", + "name": "delete", + "description": "Delete a cloud endpoint from a sync group.", + "command": "storagesync cloudendpoint delete", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--name", + "--learn" + ], + "options": [ + { + "name": "--sync-group-name", + "description": "The name of the sync group", + "type": "string", + "required": true + }, + { + "name": "--cloud-endpoint-name", + "description": "The name of the cloud endpoint", + "type": "string", + "required": true + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "25dd8bb3-5ba3-4c0d-993d-54917f63d52e", + "name": "get", + "description": "List all cloud endpoints in a sync group or retrieve details about a specific cloud endpoint. Returns cloud endpoint properties including Azure File Share configuration, storage account details, and provisioning state. Use --cloud-endpoint-name for a specific endpoint.", + "command": "storagesync cloudendpoint get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--name", + "--learn" + ], + "options": [ + { + "name": "--sync-group-name", + "description": "The name of the sync group", + "type": "string", + "required": true + }, + { + "name": "--cloud-endpoint-name", + "description": "The name of the cloud endpoint", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "fe3b07c3-9a11-465e-bfb6-6461b85b2e52", + "name": "get", + "description": "List all registered servers in a Storage Sync service or retrieve details about a specific registered server. Returns server properties including server ID, registration status, agent version, OS version, and last heartbeat. Use --server-id for a specific server.", + "command": "storagesync registeredserver get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--name", + "--learn" + ], + "options": [ + { + "name": "--server-id", + "description": "The ID/name of the registered server", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "346661e1-64be-463a-96c6-3626966f55fa", + "name": "unregister", + "description": "Unregister a server from a Storage Sync service.", + "command": "storagesync registeredserver unregister", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--name", + "--learn" + ], + "options": [ + { + "name": "--server-id", + "description": "The ID/name of the registered server", + "type": "string", + "required": true + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "c443ed00-f17f-46a8-a5d3-df128aa1606b", + "name": "update", + "description": "Update properties of a registered server.", + "command": "storagesync registeredserver update", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--name", + "--learn" + ], + "options": [ + { + "name": "--server-id", + "description": "The ID/name of the registered server", + "type": "string", + "required": true + } + ], + "destructive": false, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "fcbdf461-6fde-4cfb-a944-4a56a2be90e4", + "name": "create", + "description": "Add a server endpoint to a sync group by specifying a local server path to sync. Server endpoints represent the on-premises side of the sync relationship and include cloud tiering configuration.", + "command": "storagesync serverendpoint create", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--name", + "--learn" + ], + "options": [ + { + "name": "--sync-group-name", + "description": "The name of the sync group", + "type": "string", + "required": true + }, + { + "name": "--server-endpoint-name", + "description": "The name of the server endpoint", + "type": "string", + "required": true + }, + { + "name": "--server-resource-id", + "description": "The resource ID of the registered server", + "type": "string", + "required": true + }, + { + "name": "--server-local-path", + "description": "The local folder path on the server for syncing", + "type": "string", + "required": true + }, + { + "name": "--cloud-tiering", + "description": "Enable cloud tiering on this endpoint", + "type": "string" + }, + { + "name": "--volume-free-space-percent", + "description": "Volume free space percentage to maintain (1-99, default 20)", + "type": "string" + }, + { + "name": "--tier-files-older-than-days", + "description": "Archive files not accessed for this many days", + "type": "string" + }, + { + "name": "--local-cache-mode", + "description": "Local cache mode: DownloadNewAndModifiedFiles, UpdateLocallyCachedFiles", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "ef6c2aa9-bb64-4f94-b18b-018e04b504c9", + "name": "delete", + "description": "Delete a server endpoint from a sync group.", + "command": "storagesync serverendpoint delete", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--name", + "--learn" + ], + "options": [ + { + "name": "--sync-group-name", + "description": "The name of the sync group", + "type": "string", + "required": true + }, + { + "name": "--server-endpoint-name", + "description": "The name of the server endpoint", + "type": "string", + "required": true + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "cf197b94-6aa6-403b-8679-3a1ce5440ca3", + "name": "get", + "description": "List all server endpoints in a sync group or retrieve details about a specific server endpoint. Returns server endpoint properties including local path, cloud tiering status, sync health, and provisioning state. Use --name for a specific endpoint.", + "command": "storagesync serverendpoint get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--name", + "--learn" + ], + "options": [ + { + "name": "--sync-group-name", + "description": "The name of the sync group", + "type": "string", + "required": true + }, + { + "name": "--server-endpoint-name", + "description": "The name of the server endpoint", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "7b35bb46-0a34-4e44-9d7c-148e9992b445", + "name": "update", + "description": "Update properties of a server endpoint.", + "command": "storagesync serverendpoint update", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--name", + "--learn" + ], + "options": [ + { + "name": "--sync-group-name", + "description": "The name of the sync group", + "type": "string", + "required": true + }, + { + "name": "--server-endpoint-name", + "description": "The name of the server endpoint", + "type": "string", + "required": true + }, + { + "name": "--cloud-tiering", + "description": "Enable cloud tiering on this endpoint", + "type": "string" + }, + { + "name": "--volume-free-space-percent", + "description": "Volume free space percentage to maintain (1-99, default 20)", + "type": "string" + }, + { + "name": "--tier-files-older-than-days", + "description": "Archive files not accessed for this many days", + "type": "string" + }, + { + "name": "--local-cache-mode", + "description": "Local cache mode: DownloadNewAndModifiedFiles, UpdateLocallyCachedFiles", + "type": "string" + } + ], + "destructive": false, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "7c76387f-c62e-48d1-af3b-d444d6b3b79c", + "name": "create", + "description": "Create a new Azure Storage Sync service resource in a resource group. This is the top-level service container that manages sync groups, registered servers, and synchronization workflows.", + "command": "storagesync service create", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--name", + "--learn" + ], + "options": [ + { + "name": "--location", + "description": "The Azure region/location name (e.g., EastUS, WestEurope)", + "type": "string", + "required": true + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "a7dcf4e2-fd1d-4d0a-acd3-f56ea5eceef6", + "name": "delete", + "description": "Delete an Azure Storage Sync service and all its associated resources.", + "command": "storagesync service delete", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--name", + "--learn" + ], + "options": [], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "77734a55-8290-4c16-8b37-cf37277f018f", + "name": "get", + "description": "Retrieve Azure Storage Sync service details or list all Storage Sync services. Use --name to get a specific service, or omit it to list all services in the subscription or resource group. Shows service properties, location, provisioning state, and configuration.", + "command": "storagesync service get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--name", + "description": "The name of the storage sync service", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "15db4769-1941-4b1e-9514-867b0f68eb2c", + "name": "update", + "description": "Update properties of an existing Azure Storage Sync service.", + "command": "storagesync service update", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--name", + "--learn" + ], + "options": [ + { + "name": "--incoming-traffic-policy", + "description": "Incoming traffic policy for the service (AllowAllTraffic or AllowVirtualNetworksOnly)", + "type": "string" + }, + { + "name": "--tags", + "description": "Tags to assign to the service (space-separated key=value pairs)", + "type": "string" + }, + { + "name": "--identity-type", + "description": "Managed service identity type (None, SystemAssigned, UserAssigned, SystemAssigned,UserAssigned)", + "type": "string" + } + ], + "destructive": false, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "3572833c-4fc2-4bb9-9eed-52ae8b8899b8", + "name": "create", + "description": "Create a sync group within an existing Storage Sync service. Sync groups define a sync topology and contain cloud endpoints (Azure File Shares) and server endpoints (local server paths) that sync together.", + "command": "storagesync syncgroup create", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--name", + "--learn" + ], + "options": [ + { + "name": "--sync-group-name", + "description": "The name of the sync group", + "type": "string", + "required": true + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "c8f91bd7-ea1d-4af4-9703-fe83c43b34b5", + "name": "delete", + "description": "Remove a sync group from a Storage Sync service. Deleting a sync group also removes all associated cloud endpoints and server endpoints within that group.", + "command": "storagesync syncgroup delete", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--name", + "--learn" + ], + "options": [ + { + "name": "--sync-group-name", + "description": "The name of the sync group", + "type": "string", + "required": true + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "95ce2336-19e6-40fb-a3ea-e2a76772036b", + "name": "get", + "description": "Get details about a specific sync group or list all sync groups. If --sync-group-name is provided, returns a specific sync group; otherwise, lists all sync groups in the Storage Sync service.", + "command": "storagesync syncgroup get", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--name", + "--learn" + ], + "options": [ + { + "name": "--sync-group-name", + "description": "The name of the sync group", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "72bbe80e-ca42-4a43-8f02-45495bca1179", + "name": "list", + "description": "List all Azure subscriptions for the current account. Returns subscriptionId, displayName, state, tenantId, and isDefault for each subscription. The isDefault field indicates the user's default subscription as resolved from the Azure CLI profile (configured via 'az account set') or, if not set there, from the AZURE_SUBSCRIPTION_ID environment variable. When the user has not specified a subscription, prefer the subscription where isDefault is true. If no default can be determined from either source and multiple subscriptions exist, ask the user which subscription to use.", + "command": "subscription list", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--learn" + ], + "options": [], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "63de05a7-047d-4f8a-86ea-cebd64527e2b", + "name": "list", + "description": "List all available commands and their tools in a hierarchical structure. This command returns detailed information\r\nabout each command, including its name, description, full command path, available subcommands, and all supported\r\narguments. Use --name-only to return only tool names, and --namespace to filter by specific namespaces.", + "command": "tools list", + "commonOptions": [ + "--learn" + ], + "options": [ + { + "name": "--namespace-mode", + "description": "If specified, returns a list of top-level service namespaces instead of individual tools.", + "type": "string" + }, + { + "name": "--namespace", + "description": "Filter tools by namespace (e.g., 'storage', 'keyvault'). Can be specified multiple times to include multiple namespaces.", + "type": "string" + }, + { + "name": "--name-only", + "description": "If specified, returns only tool names without descriptions or metadata.", + "type": "string" + }, + { + "name": "--include-hidden", + "description": "If specified, includes hidden commands in the output.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "6f543101-3c70-41bd-a6ed-5cc4af716081", + "name": "list", + "description": "List all SessionHosts in a hostpool. This command retrieves all Azure Virtual Desktop SessionHost objects available\r\nin the specified --subscription and hostpool. Results include SessionHost details and are\r\nreturned as a JSON array.", + "command": "virtualdesktop hostpool host list", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--hostpool", + "description": "The name of the Azure Virtual Desktop host pool. This is the unique name you chose for your hostpool.", + "type": "string" + }, + { + "name": "--hostpool-resource-id", + "description": "The Azure resource ID of the host pool. When provided, this will be used instead of searching by name.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "1653a208-ac9f-4e51-996f-fe2d29a79b2b", + "name": "user-list", + "description": "List all user sessions on a specific session host in a host pool. This command retrieves all Azure Virtual Desktop\r\nuser session objects available on the specified session host. Results include user session details such as\r\nuser principal name, session state, application type, and creation time.", + "command": "virtualdesktop hostpool host user-list", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--hostpool", + "description": "The name of the Azure Virtual Desktop host pool. This is the unique name you chose for your hostpool.", + "type": "string" + }, + { + "name": "--hostpool-resource-id", + "description": "The Azure resource ID of the host pool. When provided, this will be used instead of searching by name.", + "type": "string" + }, + { + "name": "--sessionhost", + "description": "The name of the session host. This is the computer name of the virtual machine in the host pool.", + "type": "string", + "required": true + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "bf0ae005-7dfd-4f96-8f45-3d0ba07f81ed", + "name": "list", + "description": "List all hostpools in a subscription or resource group. This command retrieves all Azure Virtual Desktop hostpool objects available\r\nin the specified --subscription. If a resource group is specified, only hostpools in that resource group are returned.\r\nResults include hostpool names and are returned as a JSON array.", + "command": "virtualdesktop hostpool list", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "a7d4e9f2-8c3b-4a1e-9f5d-6b2c8e4a7d3f", + "name": "get", + "description": "Get Azure Well-Architected Framework guidance for a specific Azure service, or list all supported services when no service is specified. When a service is provided, returns architectural best practices, design patterns, and recommendations based on the five pillars: reliability, security, cost optimization, operational excellence, and performance efficiency.\r\nOptional: --service: A single Azure service name. Service name format: case-insensitive; hyphens, underscores, spaces, and name variations allowed; use double quotes (not single quotes) for names with spaces. e.g., cosmos-db, Cosmos_DB, \"Cosmos DB\", cosmosdb, cosmos-database, cosmosdatabase", + "command": "wellarchitectedframework serviceguide get", + "commonOptions": [ + "--learn" + ], + "options": [ + { + "name": "--service", + "description": "A single Azure service name. Service name format: case-insensitive; hyphens, underscores, spaces, and name variations allowed; use double quotes (not single quotes) for names with spaces. e.g., cosmos-db, Cosmos_DB, \"Cosmos DB\", cosmosdb, cosmos-database, cosmosdatabase", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "a49c650d-8568-4b63-8bad-35eb6d9ab0a7", + "name": "create", + "description": "Create a new workbook in the specified resource group and subscription.\r\nYou can set the display name and serialized data JSON content for the workbook.\r\nReturns the created workbook information upon successful completion.", + "command": "workbooks create", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--resource-group", + "--learn" + ], + "options": [ + { + "name": "--display-name", + "description": "The display name of the workbook.", + "type": "string", + "required": true + }, + { + "name": "--serialized-content", + "description": "The serialized JSON content of the workbook.", + "type": "string", + "required": true + }, + { + "name": "--source-id", + "description": "The linked resource ID for the workbook. By default, this is 'azure monitor'.", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "17bb94ef-9df1-45d2-a1a0-ed57656ca067", + "name": "delete", + "description": "Delete one or more workbooks by their Azure resource IDs.\r\nThis command soft deletes workbooks: they will be retained for 90 days.\r\nIf needed, you can restore them from the Recycle Bin through the Azure Portal.\r\n\r\nBATCH: Accepts multiple --workbook-ids values. Partial failures are reported per-workbook.\r\nIndividual failures do not fail the entire batch operation.\r\n\r\nTo learn more, visit: https://learn.microsoft.com/azure/azure-monitor/visualize/workbooks-manage", + "command": "workbooks delete", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--learn" + ], + "options": [ + { + "name": "--workbook-ids", + "description": "The Azure Resource IDs of the workbooks to operate on (supports multiple values for batch operations).", + "type": "string", + "required": true + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "c4c90435-fbc0-4598-ba82-3b9213d58b26", + "name": "list", + "description": "Search Azure Workbooks using Resource Graph (fast metadata query).\r\n\r\nUSE FOR: Discovery, filtering, counting workbooks across scopes.\r\nRETURNS: Workbook metadata (id, name, location, category, timestamps).\r\nDOES NOT RETURN: Full workbook content (serializedData) by default - use 'show' for that or set --output-format=full.\r\n\r\nSCOPE: By default searches workbooks in your current Azure context (tenant/subscription). Use --subscription and --resource-group to explicitly control scope.\r\nTOTAL COUNT: Returns server-side total count by default (not just returned items).\r\nMAX RESULTS: Default 50, max 1000. Use --max-results to adjust.\r\nOUTPUT FORMAT: Use --output-format=summary for minimal tokens, --output-format=full for serializedData.\r\n\r\nFILTERS: --name-contains, --category, --kind, --source-id, --modified-after for semantic filtering.", + "command": "workbooks list", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--subscription", + "--learn" + ], + "options": [ + { + "name": "--resource-group", + "description": "The name of the Azure resource group. This is a logical container for Azure resources.", + "type": "string" + }, + { + "name": "--kind", + "description": "Filter workbooks by kind (e.g., 'shared', 'user'). If not specified, all kinds will be returned.", + "type": "string" + }, + { + "name": "--category", + "description": "Filter workbooks by category (e.g., 'workbook', 'sentinel', 'TSG'). If not specified, all categories will be returned.", + "type": "string" + }, + { + "name": "--source-id", + "description": "Filter workbooks by source resource ID (e.g., Application Insights resource, Log Analytics workspace). If not specified, all workbooks will be returned.", + "type": "string" + }, + { + "name": "--name-contains", + "description": "Filter workbooks where display name contains this text (case-insensitive).", + "type": "string" + }, + { + "name": "--modified-after", + "description": "Filter workbooks modified after this date (ISO 8601 format, e.g., '2024-01-15').", + "type": "string" + }, + { + "name": "--output-format", + "description": "Output format: 'summary' (id+name only, minimal tokens), 'standard' (metadata without content, default), 'full' (includes serializedData).", + "type": "string" + }, + { + "name": "--max-results", + "description": "Maximum number of results to return (default: 50, max: 1000).", + "type": "string" + }, + { + "name": "--include-total-count", + "description": "Include total count of all matching workbooks in the response (default: true).", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "a7a882cd-1729-49ed-b349-2a79f8c7de56", + "name": "show", + "description": "Retrieve full workbook details via ARM API (includes serializedData content).\r\n\r\nUSE FOR: Getting complete workbook definition including visualization JSON.\r\nRETURNS: Full workbook properties, serializedData, tags, etag.\r\n\r\nBATCH: Accepts multiple --workbook-ids values. Partial failures reported per-workbook.\r\nPERFORMANCE: Use 'list' first for discovery, then 'show' for specific workbooks.", + "command": "workbooks show", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--learn" + ], + "options": [ + { + "name": "--workbook-ids", + "description": "The Azure Resource IDs of the workbooks to operate on (supports multiple values for batch operations).", + "type": "string", + "required": true + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "9efdc32c-22bc-4b85-8b5c-2fbefc0e927e", + "name": "update", + "description": "Updates properties of an existing Azure Workbook by adding new steps, modifying content, or changing the display name. Returns the updated workbook details. Requires the workbook resource ID and either new serialized content or a new display name.", + "command": "workbooks update", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--learn" + ], + "options": [ + { + "name": "--workbook-id", + "description": "The Azure Resource ID of the workbook to retrieve.", + "type": "string", + "required": true + }, + { + "name": "--display-name", + "description": "The display name of the workbook.", + "type": "string" + }, + { + "name": "--serialized-content", + "description": "The JSON serialized content/data of the workbook.", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + } + ] +} diff --git a/servers/Fabric.Mcp.Server/tools.json b/servers/Fabric.Mcp.Server/tools.json index 32f44ca4a3..8b4463304c 100644 --- a/servers/Fabric.Mcp.Server/tools.json +++ b/servers/Fabric.Mcp.Server/tools.json @@ -1,1783 +1,1004 @@ -[ - { - "id": "bfdfd3c0-4551-4454-a930-5bf5b1ad5690", - "name": "create-item", - "description": "Creates a new item in a Fabric workspace. Use this when the user wants to create a Lakehouse, Notebook, or other Fabric item type. Requires workspace ID, item name, and item type.", - "command": "core create-item", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--workspace-id", - "description": "The ID of the Microsoft Fabric workspace.", - "type": "string" - }, - { - "name": "--workspace", - "description": "The name or ID of the Microsoft Fabric workspace.", - "type": "string" - }, - { - "name": "--display-name", - "description": "The display name for the item.", - "type": "string", - "required": true - }, - { - "name": "--item-type", - "description": "The type of the Fabric item (e.g., Lakehouse, Notebook, etc.).", - "type": "string", - "required": true - }, - { - "name": "--description", - "description": "The description for the item.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false +{ + "commonOptions": { + "--auth-method": { + "name": "--auth-method", + "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", + "type": "string" + }, + "--item": { + "name": "--item", + "description": "The name or ID of the Fabric item. When using friendly names, MUST include the item type suffix (e.g., 'ItemName.Lakehouse', 'ItemName.Warehouse').", + "type": "string" + }, + "--item-id": { + "name": "--item-id", + "description": "The ID of the Fabric item.", + "type": "string" + }, + "--learn": { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + }, + "--retry-delay": { + "name": "--retry-delay", + "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", + "type": "string" + }, + "--retry-max-delay": { + "name": "--retry-max-delay", + "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", + "type": "string" + }, + "--retry-max-retries": { + "name": "--retry-max-retries", + "description": "Maximum number of retry attempts for failed operations before giving up.", + "type": "string" + }, + "--retry-mode": { + "name": "--retry-mode", + "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", + "type": "string" + }, + "--retry-network-timeout": { + "name": "--retry-network-timeout", + "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", + "type": "string" + }, + "--tenant": { + "name": "--tenant", + "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", + "type": "string" + }, + "--workspace": { + "name": "--workspace", + "description": "The name or ID of the Microsoft Fabric workspace.", + "type": "string" + }, + "--workspace-id": { + "name": "--workspace-id", + "description": "The ID of the Microsoft Fabric workspace.", + "type": "string" + } }, - { - "id": "3efdeea3-ee84-43e7-b7a9-c4accb03795a", - "name": "api-examples", - "description": "Retrieves example API request and response files for a Fabric workload. Use this when the user needs sample API calls or implementation examples. Returns dictionary of example files with their contents.", - "command": "docs api-examples", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--workload-type", - "description": "The type of Microsoft Fabric workload.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "0a73ecc9-d257-4ff3-8e05-fd3158c2cd31", - "name": "best-practices", - "description": "Retrieves embedded best practice documentation for a specific Fabric topic. Use this when the user needs guidance, recommendations, or implementation patterns for Fabric features. Returns detailed best practice content.", - "command": "docs best-practices", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--topic", - "description": "The best practice topic to retrieve documentation for.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "445c49f3-2a5d-478a-82ca-87fde1a7943e", - "name": "item-definitions", - "description": "Retrieves JSON schema definitions for items in a Fabric workload API. Use this when the user needs to understand item structure or validate item definitions. Returns schema definitions for the specified workload.", - "command": "docs item-definitions", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--workload-type", - "description": "The type of Microsoft Fabric workload.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "2338df97-d6d9-4f1d-9e92-e118efe9c643", - "name": "platform-api-spec", - "description": "Retrieves the OpenAPI specification for core Fabric platform APIs. Use this when the user needs documentation for cross-workload platform APIs like workspace management. Returns complete platform API specification.", - "command": "docs platform-api-spec", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "97229a98-c1ae-4255-a6e2-07631c2a42c5", - "name": "workload-api-spec", - "description": "Retrieves the complete OpenAPI specification for a specific Fabric workload. Use this when the user needs detailed API documentation for a workload like notebooks or reports. Returns full API spec in JSON format.", - "command": "docs workload-api-spec", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--workload-type", - "description": "The type of Microsoft Fabric workload.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "b1f80251-df7b-4054-953b-5f452c42dd09", - "name": "workloads", - "description": "Lists Fabric workload types that have public API specifications available. Use this when the user needs to discover what APIs exist for Fabric workloads. Returns workload names like notebook, report, or platform.", - "command": "docs workloads", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "0c4cf0f4-2ef4-4f1d-9f80-24fd7636d5fe", - "name": "create_directory", - "description": "Creates a directory in OneLake storage. Use this when the user needs to organize files or prepare folder structures. Can create nested directory paths.", - "command": "onelake create directory", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--workspace-id", - "description": "The ID of the Microsoft Fabric workspace.", - "type": "string" - }, - { - "name": "--workspace", - "description": "The name or ID of the Microsoft Fabric workspace.", - "type": "string" - }, - { - "name": "--item-id", - "description": "The ID of the Fabric item.", - "type": "string" - }, - { - "name": "--item", - "description": "The name or ID of the Fabric item. When using friendly names, MUST include the item type suffix (e.g., 'ItemName.Lakehouse', 'ItemName.Warehouse').", - "type": "string" - }, - { - "name": "--directory-path", - "description": "The path to the directory in OneLake.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "86991cd6-75fa-4870-9d99-f986ba9f5f73", - "name": "delete_directory", - "description": "Deletes a directory from OneLake storage. Use this when the user wants to remove a folder. Use recursive flag to delete non-empty directories.", - "command": "onelake delete directory", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--workspace-id", - "description": "The ID of the Microsoft Fabric workspace.", - "type": "string" - }, - { - "name": "--workspace", - "description": "The name or ID of the Microsoft Fabric workspace.", - "type": "string" - }, - { - "name": "--item-id", - "description": "The ID of the Fabric item.", - "type": "string" - }, - { - "name": "--item", - "description": "The name or ID of the Fabric item. When using friendly names, MUST include the item type suffix (e.g., 'ItemName.Lakehouse', 'ItemName.Warehouse').", - "type": "string" - }, - { - "name": "--directory-path", - "description": "The path to the directory in OneLake.", - "type": "string" - }, - { - "name": "--recursive", - "description": "Whether to perform the operation recursively.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "0aa3f887-0085-4141-8e34-f0cf1ed44f71", - "name": "delete_file", - "description": "Deletes a file from OneLake storage. Use this when the user wants to remove a specific file. Permanently removes the file at the specified path.", - "command": "onelake delete file", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--workspace-id", - "description": "The ID of the Microsoft Fabric workspace.", - "type": "string" - }, - { - "name": "--workspace", - "description": "The name or ID of the Microsoft Fabric workspace.", - "type": "string" - }, - { - "name": "--item-id", - "description": "The ID of the Fabric item.", - "type": "string" - }, - { - "name": "--item", - "description": "The name or ID of the Fabric item. When using friendly names, MUST include the item type suffix (e.g., 'ItemName.Lakehouse', 'ItemName.Warehouse').", - "type": "string" - }, - { - "name": "--file-path", - "description": "The path to the file in OneLake.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "75d6cb4c-4e81-4e69-a4ec-eca53a7dacd9", - "name": "download_file", - "description": "Downloads a file from OneLake storage. Use this when the user needs to retrieve file content or metadata. Returns base64 content, metadata, and text when applicable.", - "command": "onelake download file", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--workspace-id", - "description": "The ID of the Microsoft Fabric workspace.", - "type": "string" - }, - { - "name": "--workspace", - "description": "The name or ID of the Microsoft Fabric workspace.", - "type": "string" - }, - { - "name": "--item-id", - "description": "The ID of the Fabric item.", - "type": "string" - }, - { - "name": "--item", - "description": "The name or ID of the Fabric item. When using friendly names, MUST include the item type suffix (e.g., 'ItemName.Lakehouse', 'ItemName.Warehouse').", - "type": "string" - }, - { - "name": "--file-path", - "description": "The path to the file in OneLake.", - "type": "string", - "required": true - }, - { - "name": "--download-file-path", - "description": "Local path to save the downloaded content when running locally.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "19bb5a6a-2a09-410c-bfa0-312986c6acc6", - "name": "get_table", - "description": "Retrieves table definition from OneLake. Use this when the user needs table schema or metadata.", - "command": "onelake get table", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--workspace-id", - "description": "The ID of the Microsoft Fabric workspace.", - "type": "string" - }, - { - "name": "--workspace", - "description": "The name or ID of the Microsoft Fabric workspace.", - "type": "string" - }, - { - "name": "--item-id", - "description": "The ID of the Fabric item.", - "type": "string" - }, - { - "name": "--item", - "description": "The name or ID of the Fabric item. When using friendly names, MUST include the item type suffix (e.g., 'ItemName.Lakehouse', 'ItemName.Warehouse').", - "type": "string" - }, - { - "name": "--namespace", - "description": "The table namespace (schema) to inspect within the OneLake table API.", - "type": "string", - "required": true - }, - { - "name": "--schema", - "description": "Alias for --namespace when specifying table schemas in the OneLake table API.", - "type": "string" - }, - { - "name": "--table", - "description": "The table name exposed by the OneLake table API.", - "type": "string", - "required": true - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "bc15c475-0329-4cc3-aaa8-0e9f3fbde6f8", - "name": "get_table_config", - "description": "Retrieves table API configuration for OneLake. Use this when the user needs to understand table access settings.", - "command": "onelake get table config", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--workspace-id", - "description": "The ID of the Microsoft Fabric workspace.", - "type": "string" - }, - { - "name": "--workspace", - "description": "The name or ID of the Microsoft Fabric workspace.", - "type": "string" - }, - { - "name": "--item-id", - "description": "The ID of the Fabric item.", - "type": "string" - }, - { - "name": "--item", - "description": "The name or ID of the Fabric item. When using friendly names, MUST include the item type suffix (e.g., 'ItemName.Lakehouse', 'ItemName.Warehouse').", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "a86298d1-7475-4ea8-8c1b-e4c54ac2b896", - "name": "get_table_namespace", - "description": "Retrieves metadata for a specific table namespace. Use this when the user needs details about a namespace.", - "command": "onelake get table namespace", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--workspace-id", - "description": "The ID of the Microsoft Fabric workspace.", - "type": "string" - }, - { - "name": "--workspace", - "description": "The name or ID of the Microsoft Fabric workspace.", - "type": "string" - }, - { - "name": "--item-id", - "description": "The ID of the Fabric item.", - "type": "string" - }, - { - "name": "--item", - "description": "The name or ID of the Fabric item. When using friendly names, MUST include the item type suffix (e.g., 'ItemName.Lakehouse', 'ItemName.Warehouse').", - "type": "string" - }, - { - "name": "--namespace", - "description": "The table namespace (schema) to inspect within the OneLake table API.", - "type": "string", - "required": true - }, - { - "name": "--schema", - "description": "Alias for --namespace when specifying table schemas in the OneLake table API.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "3bf1b82d-ff44-4984-9b97-0e6d9e4917a3", - "name": "list_files", - "description": "List files and directories in OneLake storage using a filesystem-style hierarchical view, similar to Azure Data Lake Storage Gen2. \r\nShows directory structure with paths, sizes, timestamps, and metadata. Use this to explore OneLake content in a filesystem format \r\nrather than flat blob listing. Supports optional path filtering and recursive directory traversal.\r\n\r\nIf no path is specified, intelligently discovers content by searching both Files and Tables folders automatically,\r\nproviding comprehensive visibility across all top-level OneLake folders.\r\n\r\nUse --format=raw to get the unprocessed OneLake DFS API response for debugging and analysis.", - "command": "onelake list files", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--workspace-id", - "description": "The ID of the Microsoft Fabric workspace.", - "type": "string" - }, - { - "name": "--workspace", - "description": "The name or ID of the Microsoft Fabric workspace.", - "type": "string" - }, - { - "name": "--item-id", - "description": "The ID of the Fabric item.", - "type": "string" - }, - { - "name": "--item", - "description": "The name or ID of the Fabric item. When using friendly names, MUST include the item type suffix (e.g., 'ItemName.Lakehouse', 'ItemName.Warehouse').", - "type": "string" - }, - { - "name": "--path", - "description": "The path to list in OneLake storage (optional, defaults to root).", - "type": "string" - }, - { - "name": "--recursive", - "description": "Whether to perform the operation recursively.", - "type": "string" - }, - { - "name": "--format", - "description": "Output format for OneLake API responses. Use 'json' for parsed objects, 'xml' for raw XML API response, or 'raw' for unprocessed API response. Supported values: 'json' (default), 'xml', 'raw'.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "61eb86d8-3879-4d2d-969a-6c96f2e0ce0d", - "name": "list_items", - "description": "Lists OneLake items in a Fabric workspace using the high-level OneLake API. Use this when the user needs to see what items exist in a workspace. Returns item names, types, and metadata.", - "command": "onelake list items", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--workspace-id", - "description": "The ID of the Microsoft Fabric workspace.", - "type": "string" - }, - { - "name": "--workspace", - "description": "The name or ID of the Microsoft Fabric workspace.", - "type": "string" - }, - { - "name": "--continuation-token", - "description": "Token for retrieving the next page of results.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "8925d0c4-becf-4b5a-8af1-3e998c1058ec", - "name": "list_items_dfs", - "description": "List OneLake items in a workspace using the OneLake DFS (Data Lake File System) data API.", - "command": "onelake list items dfs", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--workspace-id", - "description": "The ID of the Microsoft Fabric workspace.", - "type": "string" - }, - { - "name": "--workspace", - "description": "The name or ID of the Microsoft Fabric workspace.", - "type": "string" - }, - { - "name": "--recursive", - "description": "Whether to perform the operation recursively.", - "type": "string" - }, - { - "name": "--continuation-token", - "description": "Token for retrieving the next page of results.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "173cfc00-7c12-486d-a0e7-c0d4c1de23fd", - "name": "list_table_namespaces", - "description": "Lists table namespaces in OneLake. Use this when the user needs to discover available table namespaces.", - "command": "onelake list table namespaces", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--workspace-id", - "description": "The ID of the Microsoft Fabric workspace.", - "type": "string" - }, - { - "name": "--workspace", - "description": "The name or ID of the Microsoft Fabric workspace.", - "type": "string" - }, - { - "name": "--item-id", - "description": "The ID of the Fabric item.", - "type": "string" - }, - { - "name": "--item", - "description": "The name or ID of the Fabric item. When using friendly names, MUST include the item type suffix (e.g., 'ItemName.Lakehouse', 'ItemName.Warehouse').", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "7b1688e5-2a16-475d-8fd1-9bf3b0acf4f7", - "name": "list_tables", - "description": "Lists tables in OneLake. Use this when the user needs to see available tables.", - "command": "onelake list tables", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--workspace-id", - "description": "The ID of the Microsoft Fabric workspace.", - "type": "string" - }, - { - "name": "--workspace", - "description": "The name or ID of the Microsoft Fabric workspace.", - "type": "string" - }, - { - "name": "--item-id", - "description": "The ID of the Fabric item.", - "type": "string" - }, - { - "name": "--item", - "description": "The name or ID of the Fabric item. When using friendly names, MUST include the item type suffix (e.g., 'ItemName.Lakehouse', 'ItemName.Warehouse').", - "type": "string" - }, - { - "name": "--namespace", - "description": "The table namespace (schema) to inspect within the OneLake table API.", - "type": "string", - "required": true - }, - { - "name": "--schema", - "description": "Alias for --namespace when specifying table schemas in the OneLake table API.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "5f005a27-9838-4c09-9785-55ce49963c97", - "name": "list_workspaces", - "description": "Lists all Fabric workspaces accessible via OneLake data plane API. Use this when the user needs to view available workspaces or select a workspace for data operations. Returns workspace names and IDs.", - "command": "onelake list workspaces", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--continuation-token", - "description": "Token for retrieving the next page of results.", - "type": "string" - }, - { - "name": "--format", - "description": "Output format for OneLake API responses. Use 'json' for parsed objects, 'xml' for raw XML API response, or 'raw' for unprocessed API response. Supported values: 'json' (default), 'xml', 'raw'.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "f6b3249d-6481-4e80-9d34-0d6867718dd7", - "name": "upload_file", - "description": "Uploads a file to OneLake storage from inline content or local file path. Use this when the user needs to store data in OneLake. Supports overwrite control and content type specification.", - "command": "onelake upload file", - "option": [ - { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - { - "name": "--workspace-id", - "description": "The ID of the Microsoft Fabric workspace.", - "type": "string" - }, - { - "name": "--workspace", - "description": "The name or ID of the Microsoft Fabric workspace.", - "type": "string" - }, - { - "name": "--item-id", - "description": "The ID of the Fabric item.", - "type": "string" - }, - { - "name": "--item", - "description": "The name or ID of the Fabric item. When using friendly names, MUST include the item type suffix (e.g., 'ItemName.Lakehouse', 'ItemName.Warehouse').", - "type": "string" - }, - { - "name": "--file-path", - "description": "The path to the file in OneLake.", - "type": "string", - "required": true - }, - { - "name": "--content", - "description": "The content to write to the file.", - "type": "string" - }, - { - "name": "--local-file-path", - "description": "The path to a local file to upload.", - "type": "string" - }, - { - "name": "--overwrite", - "description": "Whether to overwrite existing files.", - "type": "string" - }, - { - "name": "--content-type", - "description": "MIME content type to set on the uploaded file (e.g., 'application/json'). Defaults to 'application/octet-stream'.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "add0f6fe-258c-45c4-af74-0c165d4913cb", - "name": "info", - "description": "Displays running MCP server information.", - "command": "server info", - "option": [ - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "b3e7c1a2-4f85-4d9e-a6c3-8f2b1e0d7a94", - "name": "plugin-telemetry", - "description": "Publish plugin-related telemetry events from agent hooks.\r\nAccepts command-line options such as '--timestamp', '--event-type', '--session-id', '--client-type', '--client-name', \r\n'--plugin-name', '--plugin-version', '--skill-name', '--skill-version', '--tool-name', and '--file-reference'. \r\nUse this command from agent hooks in clients like VS Code, Claude Desktop, or Copilot CLI to emit usage metrics.", - "command": "server plugin-telemetry", - "option": [ - { - "name": "--timestamp", - "description": "Timestamp of the telemetry event in ISO 8601 format.", - "type": "string", - "required": true - }, - { - "name": "--event-type", - "description": "Type of event being logged (e.g., 'skill_invocation', 'tool_invocation', 'reference_file_read').", - "type": "string", - "required": true - }, - { - "name": "--session-id", - "description": "Session identifier for correlating related events.", - "type": "string", - "required": true - }, - { - "name": "--client-type", - "description": "Type of client invoking the telemetry (e.g., 'copilot-cli', 'claude-code', 'vscode'). Deprecated: prefer --client-name.", - "type": "string" - }, - { - "name": "--client-name", - "description": "Name of the client invoking the telemetry (e.g., 'copilot-cli', 'claude-code', 'Visual Studio Code', 'Visual Studio Code - Insiders').", - "type": "string" - }, - { - "name": "--plugin-name", - "description": "Name of the plugin being invoked.", - "type": "string" - }, - { - "name": "--plugin-version", - "description": "Version of the plugin being invoked.", - "type": "string" - }, - { - "name": "--skill-name", - "description": "Name of the skill being invoked.", - "type": "string" - }, - { - "name": "--skill-version", - "description": "Version of the skill being invoked.", - "type": "string" - }, - { - "name": "--tool-name", - "description": "Name of the tool being invoked.", - "type": "string" - }, - { - "name": "--file-reference", - "description": "Plugin-relative file reference being accessed (will be validated against an allowlist).", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "9953ff62-e3d7-4bdf-9b70-d569e54e3df1", - "name": "start", - "description": "Starts Azure MCP Server.", - "command": "server start", - "option": [ - { - "name": "--transport", - "description": "Transport mechanism to use for MCP Server.", - "type": "string" - }, - { - "name": "--namespace", - "description": "The service namespaces to expose on the MCP server (e.g., storage, keyvault, cosmos).", - "type": "string" - }, - { - "name": "--mode", - "description": "Mode for the MCP server. 'single' exposes one azure tool that routes to all services. 'namespace' (default) exposes one tool per service namespace. 'all' exposes all tools individually.", - "type": "string" - }, - { - "name": "--tool", - "description": "Expose only specific tools by name (e.g., 'acr_registry_list'). Repeat this option to include multiple tools, e.g., --tool \"acr_registry_list\" --tool \"group_list\". It automatically switches to \"all\" mode when \"--tool\" is used. It can't be used together with \"--namespace\".", - "type": "string" - }, - { - "name": "--read-only", - "description": "Whether the MCP server should be read-only. If true, no write operations will be allowed.", - "type": "string" - }, - { - "name": "--debug", - "description": "Enable debug mode with verbose logging to stderr.", - "type": "string" - }, - { - "name": "--dangerously-disable-http-incoming-auth", - "description": "Dangerously disables HTTP incoming authentication, exposing the server to unauthenticated access over HTTP. Use with extreme caution, this disables all transport security and may expose sensitive data to interception.", - "type": "string" - }, - { - "name": "--dangerously-disable-elicitation", - "description": "Disable elicitation (user confirmation) before allowing high risk commands to run, such as returning Secrets (passwords) from KeyVault.", - "type": "string" - }, - { - "name": "--outgoing-auth-strategy", - "description": "Outgoing authentication strategy for service requests. Valid values: NotSet, UseHostingEnvironmentIdentity, UseOnBehalfOf.", - "type": "string" - }, - { - "name": "--dangerously-write-support-logs-to-dir", - "description": "Dangerously enables detailed debug-level logging for support and troubleshooting purposes. Specify a folder path where log files will be automatically created with timestamp-based filenames (e.g., azmcp_20251202_143052.log). This may include sensitive information in logs. Use with extreme caution and only when requested by support.", - "type": "string" - }, - { - "name": "--dangerously-disable-retry-limits", - "description": "Dangerously disables upper bounds on retry delays, max delays, network timeouts, and max retries. This may lead to excessively long waits and should only be used when explicitly needed.", - "type": "string" - }, - { - "name": "--cloud", - "description": "Azure cloud environment for authentication. Valid values: AzureCloud (default), AzureChinaCloud, AzureUSGovernment, or a custom authority host URL starting with https://", - "type": "string" - }, - { - "name": "--disable-caching", - "description": "Disable caching of resource responses, requiring repeated requests to fetch fresh data each time.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": false, - "openWorld": true, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "63de05a7-047d-4f8a-86ea-cebd64527e2b", - "name": "list", - "description": "List all available commands and their tools in a hierarchical structure. This command returns detailed information\r\nabout each command, including its name, description, full command path, available subcommands, and all supported\r\narguments. Use --name-only to return only tool names, and --namespace to filter by specific namespaces.", - "command": "tools list", - "option": [ - { - "name": "--namespace-mode", - "description": "If specified, returns a list of top-level service namespaces instead of individual tools.", - "type": "string" - }, - { - "name": "--namespace", - "description": "Filter tools by namespace (e.g., 'storage', 'keyvault'). Can be specified multiple times to include multiple namespaces.", - "type": "string" - }, - { - "name": "--name-only", - "description": "If specified, returns only tool names without descriptions or metadata.", - "type": "string" - }, - { - "name": "--include-hidden", - "description": "If specified, includes hidden commands in the output.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - } -] + "tools": [ + { + "id": "bfdfd3c0-4551-4454-a930-5bf5b1ad5690", + "name": "create-item", + "description": "Creates a new item in a Fabric workspace. Use this when the user wants to create a Lakehouse, Notebook, or other Fabric item type. Requires workspace ID, item name, and item type.", + "command": "core create-item", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--workspace-id", + "--workspace", + "--learn" + ], + "options": [ + { + "name": "--display-name", + "description": "The display name for the item.", + "type": "string", + "required": true + }, + { + "name": "--item-type", + "description": "The type of the Fabric item (e.g., Lakehouse, Notebook, etc.).", + "type": "string", + "required": true + }, + { + "name": "--description", + "description": "The description for the item.", + "type": "string" + } + ], + "destructive": false, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "3efdeea3-ee84-43e7-b7a9-c4accb03795a", + "name": "api-examples", + "description": "Retrieves example API request and response files for a Fabric workload. Use this when the user needs sample API calls or implementation examples. Returns dictionary of example files with their contents.", + "command": "docs api-examples", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--learn" + ], + "options": [ + { + "name": "--workload-type", + "description": "The type of Microsoft Fabric workload.", + "type": "string", + "required": true + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "0a73ecc9-d257-4ff3-8e05-fd3158c2cd31", + "name": "best-practices", + "description": "Retrieves embedded best practice documentation for a specific Fabric topic. Use this when the user needs guidance, recommendations, or implementation patterns for Fabric features. Returns detailed best practice content.", + "command": "docs best-practices", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--learn" + ], + "options": [ + { + "name": "--topic", + "description": "The best practice topic to retrieve documentation for.", + "type": "string", + "required": true + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "445c49f3-2a5d-478a-82ca-87fde1a7943e", + "name": "item-definitions", + "description": "Retrieves JSON schema definitions for items in a Fabric workload API. Use this when the user needs to understand item structure or validate item definitions. Returns schema definitions for the specified workload.", + "command": "docs item-definitions", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--learn" + ], + "options": [ + { + "name": "--workload-type", + "description": "The type of Microsoft Fabric workload.", + "type": "string", + "required": true + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "2338df97-d6d9-4f1d-9e92-e118efe9c643", + "name": "platform-api-spec", + "description": "Retrieves the OpenAPI specification for core Fabric platform APIs. Use this when the user needs documentation for cross-workload platform APIs like workspace management. Returns complete platform API specification.", + "command": "docs platform-api-spec", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--learn" + ], + "options": [], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "97229a98-c1ae-4255-a6e2-07631c2a42c5", + "name": "workload-api-spec", + "description": "Retrieves the complete OpenAPI specification for a specific Fabric workload. Use this when the user needs detailed API documentation for a workload like notebooks or reports. Returns full API spec in JSON format.", + "command": "docs workload-api-spec", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--learn" + ], + "options": [ + { + "name": "--workload-type", + "description": "The type of Microsoft Fabric workload.", + "type": "string", + "required": true + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "b1f80251-df7b-4054-953b-5f452c42dd09", + "name": "workloads", + "description": "Lists Fabric workload types that have public API specifications available. Use this when the user needs to discover what APIs exist for Fabric workloads. Returns workload names like notebook, report, or platform.", + "command": "docs workloads", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--learn" + ], + "options": [], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "0c4cf0f4-2ef4-4f1d-9f80-24fd7636d5fe", + "name": "create_directory", + "description": "Creates a directory in OneLake storage. Use this when the user needs to organize files or prepare folder structures. Can create nested directory paths.", + "command": "onelake create directory", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--workspace-id", + "--workspace", + "--item-id", + "--item", + "--learn" + ], + "options": [ + { + "name": "--directory-path", + "description": "The path to the directory in OneLake.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "86991cd6-75fa-4870-9d99-f986ba9f5f73", + "name": "delete_directory", + "description": "Deletes a directory from OneLake storage. Use this when the user wants to remove a folder. Use recursive flag to delete non-empty directories.", + "command": "onelake delete directory", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--workspace-id", + "--workspace", + "--item-id", + "--item", + "--learn" + ], + "options": [ + { + "name": "--directory-path", + "description": "The path to the directory in OneLake.", + "type": "string" + }, + { + "name": "--recursive", + "description": "Whether to perform the operation recursively.", + "type": "string" + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "0aa3f887-0085-4141-8e34-f0cf1ed44f71", + "name": "delete_file", + "description": "Deletes a file from OneLake storage. Use this when the user wants to remove a specific file. Permanently removes the file at the specified path.", + "command": "onelake delete file", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--workspace-id", + "--workspace", + "--item-id", + "--item", + "--learn" + ], + "options": [ + { + "name": "--file-path", + "description": "The path to the file in OneLake.", + "type": "string", + "required": true + } + ], + "destructive": true, + "idempotent": true, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "75d6cb4c-4e81-4e69-a4ec-eca53a7dacd9", + "name": "download_file", + "description": "Downloads a file from OneLake storage. Use this when the user needs to retrieve file content or metadata. Returns base64 content, metadata, and text when applicable.", + "command": "onelake download file", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--workspace-id", + "--workspace", + "--item-id", + "--item", + "--learn" + ], + "options": [ + { + "name": "--file-path", + "description": "The path to the file in OneLake.", + "type": "string", + "required": true + }, + { + "name": "--download-file-path", + "description": "Local path to save the downloaded content when running locally.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "19bb5a6a-2a09-410c-bfa0-312986c6acc6", + "name": "get_table", + "description": "Retrieves table definition from OneLake. Use this when the user needs table schema or metadata.", + "command": "onelake get table", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--workspace-id", + "--workspace", + "--item-id", + "--item", + "--learn" + ], + "options": [ + { + "name": "--namespace", + "description": "The table namespace (schema) to inspect within the OneLake table API.", + "type": "string", + "required": true + }, + { + "name": "--schema", + "description": "Alias for --namespace when specifying table schemas in the OneLake table API.", + "type": "string" + }, + { + "name": "--table", + "description": "The table name exposed by the OneLake table API.", + "type": "string", + "required": true + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "bc15c475-0329-4cc3-aaa8-0e9f3fbde6f8", + "name": "get_table_config", + "description": "Retrieves table API configuration for OneLake. Use this when the user needs to understand table access settings.", + "command": "onelake get table config", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--workspace-id", + "--workspace", + "--item-id", + "--item", + "--learn" + ], + "options": [], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "a86298d1-7475-4ea8-8c1b-e4c54ac2b896", + "name": "get_table_namespace", + "description": "Retrieves metadata for a specific table namespace. Use this when the user needs details about a namespace.", + "command": "onelake get table namespace", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--workspace-id", + "--workspace", + "--item-id", + "--item", + "--learn" + ], + "options": [ + { + "name": "--namespace", + "description": "The table namespace (schema) to inspect within the OneLake table API.", + "type": "string", + "required": true + }, + { + "name": "--schema", + "description": "Alias for --namespace when specifying table schemas in the OneLake table API.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "3bf1b82d-ff44-4984-9b97-0e6d9e4917a3", + "name": "list_files", + "description": "List files and directories in OneLake storage using a filesystem-style hierarchical view, similar to Azure Data Lake Storage Gen2. \r\nShows directory structure with paths, sizes, timestamps, and metadata. Use this to explore OneLake content in a filesystem format \r\nrather than flat blob listing. Supports optional path filtering and recursive directory traversal.\r\n\r\nIf no path is specified, intelligently discovers content by searching both Files and Tables folders automatically,\r\nproviding comprehensive visibility across all top-level OneLake folders.\r\n\r\nUse --format=raw to get the unprocessed OneLake DFS API response for debugging and analysis.", + "command": "onelake list files", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--workspace-id", + "--workspace", + "--item-id", + "--item", + "--learn" + ], + "options": [ + { + "name": "--path", + "description": "The path to list in OneLake storage (optional, defaults to root).", + "type": "string" + }, + { + "name": "--recursive", + "description": "Whether to perform the operation recursively.", + "type": "string" + }, + { + "name": "--format", + "description": "Output format for OneLake API responses. Use 'json' for parsed objects, 'xml' for raw XML API response, or 'raw' for unprocessed API response. Supported values: 'json' (default), 'xml', 'raw'.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "61eb86d8-3879-4d2d-969a-6c96f2e0ce0d", + "name": "list_items", + "description": "Lists OneLake items in a Fabric workspace using the high-level OneLake API. Use this when the user needs to see what items exist in a workspace. Returns item names, types, and metadata.", + "command": "onelake list items", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--workspace-id", + "--workspace", + "--learn" + ], + "options": [ + { + "name": "--continuation-token", + "description": "Token for retrieving the next page of results.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "8925d0c4-becf-4b5a-8af1-3e998c1058ec", + "name": "list_items_dfs", + "description": "List OneLake items in a workspace using the OneLake DFS (Data Lake File System) data API.", + "command": "onelake list items dfs", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--workspace-id", + "--workspace", + "--learn" + ], + "options": [ + { + "name": "--recursive", + "description": "Whether to perform the operation recursively.", + "type": "string" + }, + { + "name": "--continuation-token", + "description": "Token for retrieving the next page of results.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "173cfc00-7c12-486d-a0e7-c0d4c1de23fd", + "name": "list_table_namespaces", + "description": "Lists table namespaces in OneLake. Use this when the user needs to discover available table namespaces.", + "command": "onelake list table namespaces", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--workspace-id", + "--workspace", + "--item-id", + "--item", + "--learn" + ], + "options": [], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "7b1688e5-2a16-475d-8fd1-9bf3b0acf4f7", + "name": "list_tables", + "description": "Lists tables in OneLake. Use this when the user needs to see available tables.", + "command": "onelake list tables", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--workspace-id", + "--workspace", + "--item-id", + "--item", + "--learn" + ], + "options": [ + { + "name": "--namespace", + "description": "The table namespace (schema) to inspect within the OneLake table API.", + "type": "string", + "required": true + }, + { + "name": "--schema", + "description": "Alias for --namespace when specifying table schemas in the OneLake table API.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "5f005a27-9838-4c09-9785-55ce49963c97", + "name": "list_workspaces", + "description": "Lists all Fabric workspaces accessible via OneLake data plane API. Use this when the user needs to view available workspaces or select a workspace for data operations. Returns workspace names and IDs.", + "command": "onelake list workspaces", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--learn" + ], + "options": [ + { + "name": "--continuation-token", + "description": "Token for retrieving the next page of results.", + "type": "string" + }, + { + "name": "--format", + "description": "Output format for OneLake API responses. Use 'json' for parsed objects, 'xml' for raw XML API response, or 'raw' for unprocessed API response. Supported values: 'json' (default), 'xml', 'raw'.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "f6b3249d-6481-4e80-9d34-0d6867718dd7", + "name": "upload_file", + "description": "Uploads a file to OneLake storage from inline content or local file path. Use this when the user needs to store data in OneLake. Supports overwrite control and content type specification.", + "command": "onelake upload file", + "commonOptions": [ + "--tenant", + "--auth-method", + "--retry-delay", + "--retry-max-delay", + "--retry-max-retries", + "--retry-mode", + "--retry-network-timeout", + "--workspace-id", + "--workspace", + "--item-id", + "--item", + "--learn" + ], + "options": [ + { + "name": "--file-path", + "description": "The path to the file in OneLake.", + "type": "string", + "required": true + }, + { + "name": "--content", + "description": "The content to write to the file.", + "type": "string" + }, + { + "name": "--local-file-path", + "description": "The path to a local file to upload.", + "type": "string" + }, + { + "name": "--overwrite", + "description": "Whether to overwrite existing files.", + "type": "string" + }, + { + "name": "--content-type", + "description": "MIME content type to set on the uploaded file (e.g., 'application/json'). Defaults to 'application/octet-stream'.", + "type": "string" + } + ], + "destructive": true, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "add0f6fe-258c-45c4-af74-0c165d4913cb", + "name": "info", + "description": "Displays running MCP server information.", + "command": "server info", + "commonOptions": [ + "--learn" + ], + "options": [], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "b3e7c1a2-4f85-4d9e-a6c3-8f2b1e0d7a94", + "name": "plugin-telemetry", + "description": "Publish plugin-related telemetry events from agent hooks.\r\nAccepts command-line options such as '--timestamp', '--event-type', '--session-id', '--client-type', '--client-name', \r\n'--plugin-name', '--plugin-version', '--skill-name', '--skill-version', '--tool-name', and '--file-reference'. \r\nUse this command from agent hooks in clients like VS Code, Claude Desktop, or Copilot CLI to emit usage metrics.", + "command": "server plugin-telemetry", + "commonOptions": [ + "--learn" + ], + "options": [ + { + "name": "--timestamp", + "description": "Timestamp of the telemetry event in ISO 8601 format.", + "type": "string", + "required": true + }, + { + "name": "--event-type", + "description": "Type of event being logged (e.g., 'skill_invocation', 'tool_invocation', 'reference_file_read').", + "type": "string", + "required": true + }, + { + "name": "--session-id", + "description": "Session identifier for correlating related events.", + "type": "string", + "required": true + }, + { + "name": "--client-type", + "description": "Type of client invoking the telemetry (e.g., 'copilot-cli', 'claude-code', 'vscode'). Deprecated: prefer --client-name.", + "type": "string" + }, + { + "name": "--client-name", + "description": "Name of the client invoking the telemetry (e.g., 'copilot-cli', 'claude-code', 'Visual Studio Code', 'Visual Studio Code - Insiders').", + "type": "string" + }, + { + "name": "--plugin-name", + "description": "Name of the plugin being invoked.", + "type": "string" + }, + { + "name": "--plugin-version", + "description": "Version of the plugin being invoked.", + "type": "string" + }, + { + "name": "--skill-name", + "description": "Name of the skill being invoked.", + "type": "string" + }, + { + "name": "--skill-version", + "description": "Version of the skill being invoked.", + "type": "string" + }, + { + "name": "--tool-name", + "description": "Name of the tool being invoked.", + "type": "string" + }, + { + "name": "--file-reference", + "description": "Plugin-relative file reference being accessed (will be validated against an allowlist).", + "type": "string" + } + ], + "destructive": false, + "idempotent": false, + "openWorld": false, + "readOnly": false, + "secret": false, + "localRequired": false + }, + { + "id": "9953ff62-e3d7-4bdf-9b70-d569e54e3df1", + "name": "start", + "description": "Starts Azure MCP Server.", + "command": "server start", + "commonOptions": [ + "--learn" + ], + "options": [ + { + "name": "--transport", + "description": "Transport mechanism to use for MCP Server.", + "type": "string" + }, + { + "name": "--namespace", + "description": "The service namespaces to expose on the MCP server (e.g., storage, keyvault, cosmos).", + "type": "string" + }, + { + "name": "--mode", + "description": "Mode for the MCP server. 'single' exposes one azure tool that routes to all services. 'namespace' (default) exposes one tool per service namespace. 'all' exposes all tools individually.", + "type": "string" + }, + { + "name": "--tool", + "description": "Expose only specific tools by name (e.g., 'acr_registry_list'). Repeat this option to include multiple tools, e.g., --tool \"acr_registry_list\" --tool \"group_list\". It automatically switches to \"all\" mode when \"--tool\" is used. It can't be used together with \"--namespace\".", + "type": "string" + }, + { + "name": "--read-only", + "description": "Whether the MCP server should be read-only. If true, no write operations will be allowed.", + "type": "string" + }, + { + "name": "--debug", + "description": "Enable debug mode with verbose logging to stderr.", + "type": "string" + }, + { + "name": "--dangerously-disable-http-incoming-auth", + "description": "Dangerously disables HTTP incoming authentication, exposing the server to unauthenticated access over HTTP. Use with extreme caution, this disables all transport security and may expose sensitive data to interception.", + "type": "string" + }, + { + "name": "--dangerously-disable-elicitation", + "description": "Disable elicitation (user confirmation) before allowing high risk commands to run, such as returning Secrets (passwords) from KeyVault.", + "type": "string" + }, + { + "name": "--outgoing-auth-strategy", + "description": "Outgoing authentication strategy for service requests. Valid values: NotSet, UseHostingEnvironmentIdentity, UseOnBehalfOf.", + "type": "string" + }, + { + "name": "--dangerously-write-support-logs-to-dir", + "description": "Dangerously enables detailed debug-level logging for support and troubleshooting purposes. Specify a folder path where log files will be automatically created with timestamp-based filenames (e.g., azmcp_20251202_143052.log). This may include sensitive information in logs. Use with extreme caution and only when requested by support.", + "type": "string" + }, + { + "name": "--dangerously-disable-retry-limits", + "description": "Dangerously disables upper bounds on retry delays, max delays, network timeouts, and max retries. This may lead to excessively long waits and should only be used when explicitly needed.", + "type": "string" + }, + { + "name": "--cloud", + "description": "Azure cloud environment for authentication. Valid values: AzureCloud (default), AzureChinaCloud, AzureUSGovernment, or a custom authority host URL starting with https://", + "type": "string" + }, + { + "name": "--disable-caching", + "description": "Disable caching of resource responses, requiring repeated requests to fetch fresh data each time.", + "type": "string" + } + ], + "destructive": false, + "idempotent": false, + "openWorld": true, + "readOnly": true, + "secret": false, + "localRequired": false + }, + { + "id": "63de05a7-047d-4f8a-86ea-cebd64527e2b", + "name": "list", + "description": "List all available commands and their tools in a hierarchical structure. This command returns detailed information\r\nabout each command, including its name, description, full command path, available subcommands, and all supported\r\narguments. Use --name-only to return only tool names, and --namespace to filter by specific namespaces.", + "command": "tools list", + "commonOptions": [ + "--learn" + ], + "options": [ + { + "name": "--namespace-mode", + "description": "If specified, returns a list of top-level service namespaces instead of individual tools.", + "type": "string" + }, + { + "name": "--namespace", + "description": "Filter tools by namespace (e.g., 'storage', 'keyvault'). Can be specified multiple times to include multiple namespaces.", + "type": "string" + }, + { + "name": "--name-only", + "description": "If specified, returns only tool names without descriptions or metadata.", + "type": "string" + }, + { + "name": "--include-hidden", + "description": "If specified, includes hidden commands in the output.", + "type": "string" + } + ], + "destructive": false, + "idempotent": true, + "openWorld": false, + "readOnly": true, + "secret": false, + "localRequired": false + } + ] +} diff --git a/servers/Template.Mcp.Server/tools.json b/servers/Template.Mcp.Server/tools.json index 03ee8162d8..96badc72ab 100644 --- a/servers/Template.Mcp.Server/tools.json +++ b/servers/Template.Mcp.Server/tools.json @@ -4,13 +4,8 @@ "name": "info", "description": "Displays running MCP server information.", "command": "server info", - "option": [ - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], + "commonOptions": [], + "options": [], "destructive": false, "idempotent": true, "openWorld": false, @@ -23,71 +18,8 @@ "name": "plugin-telemetry", "description": "Publish plugin-related telemetry events from agent hooks.\r\nAccepts command-line options such as '--timestamp', '--event-type', '--session-id', '--client-type', '--client-name', \r\n'--plugin-name', '--plugin-version', '--skill-name', '--skill-version', '--tool-name', and '--file-reference'. \r\nUse this command from agent hooks in clients like VS Code, Claude Desktop, or Copilot CLI to emit usage metrics.", "command": "server plugin-telemetry", - "option": [ - { - "name": "--timestamp", - "description": "Timestamp of the telemetry event in ISO 8601 format.", - "type": "string", - "required": true - }, - { - "name": "--event-type", - "description": "Type of event being logged (e.g., 'skill_invocation', 'tool_invocation', 'reference_file_read').", - "type": "string", - "required": true - }, - { - "name": "--session-id", - "description": "Session identifier for correlating related events.", - "type": "string", - "required": true - }, - { - "name": "--client-type", - "description": "Type of client invoking the telemetry (e.g., 'copilot-cli', 'claude-code', 'vscode'). Deprecated: prefer --client-name.", - "type": "string" - }, - { - "name": "--client-name", - "description": "Name of the client invoking the telemetry (e.g., 'copilot-cli', 'claude-code', 'Visual Studio Code', 'Visual Studio Code - Insiders').", - "type": "string" - }, - { - "name": "--plugin-name", - "description": "Name of the plugin being invoked.", - "type": "string" - }, - { - "name": "--plugin-version", - "description": "Version of the plugin being invoked.", - "type": "string" - }, - { - "name": "--skill-name", - "description": "Name of the skill being invoked.", - "type": "string" - }, - { - "name": "--skill-version", - "description": "Version of the skill being invoked.", - "type": "string" - }, - { - "name": "--tool-name", - "description": "Name of the tool being invoked.", - "type": "string" - }, - { - "name": "--file-reference", - "description": "Plugin-relative file reference being accessed (will be validated against an allowlist).", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], + "commonOptions": [], + "options": [], "destructive": false, "idempotent": false, "openWorld": false, @@ -100,78 +32,8 @@ "name": "start", "description": "Starts Azure MCP Server.", "command": "server start", - "option": [ - { - "name": "--transport", - "description": "Transport mechanism to use for MCP Server.", - "type": "string" - }, - { - "name": "--namespace", - "description": "The service namespaces to expose on the MCP server (e.g., storage, keyvault, cosmos).", - "type": "string" - }, - { - "name": "--mode", - "description": "Mode for the MCP server. 'single' exposes one azure tool that routes to all services. 'namespace' (default) exposes one tool per service namespace. 'all' exposes all tools individually.", - "type": "string" - }, - { - "name": "--tool", - "description": "Expose only specific tools by name (e.g., 'acr_registry_list'). Repeat this option to include multiple tools, e.g., --tool \"acr_registry_list\" --tool \"group_list\". It automatically switches to \"all\" mode when \"--tool\" is used. It can't be used together with \"--namespace\".", - "type": "string" - }, - { - "name": "--read-only", - "description": "Whether the MCP server should be read-only. If true, no write operations will be allowed.", - "type": "string" - }, - { - "name": "--debug", - "description": "Enable debug mode with verbose logging to stderr.", - "type": "string" - }, - { - "name": "--dangerously-disable-http-incoming-auth", - "description": "Dangerously disables HTTP incoming authentication, exposing the server to unauthenticated access over HTTP. Use with extreme caution, this disables all transport security and may expose sensitive data to interception.", - "type": "string" - }, - { - "name": "--dangerously-disable-elicitation", - "description": "Disable elicitation (user confirmation) before allowing high risk commands to run, such as returning Secrets (passwords) from KeyVault.", - "type": "string" - }, - { - "name": "--outgoing-auth-strategy", - "description": "Outgoing authentication strategy for service requests. Valid values: NotSet, UseHostingEnvironmentIdentity, UseOnBehalfOf.", - "type": "string" - }, - { - "name": "--dangerously-write-support-logs-to-dir", - "description": "Dangerously enables detailed debug-level logging for support and troubleshooting purposes. Specify a folder path where log files will be automatically created with timestamp-based filenames (e.g., azmcp_20251202_143052.log). This may include sensitive information in logs. Use with extreme caution and only when requested by support.", - "type": "string" - }, - { - "name": "--dangerously-disable-retry-limits", - "description": "Dangerously disables upper bounds on retry delays, max delays, network timeouts, and max retries. This may lead to excessively long waits and should only be used when explicitly needed.", - "type": "string" - }, - { - "name": "--cloud", - "description": "Azure cloud environment for authentication. Valid values: AzureCloud (default), AzureChinaCloud, AzureUSGovernment, or a custom authority host URL starting with https://", - "type": "string" - }, - { - "name": "--disable-caching", - "description": "Disable caching of resource responses, requiring repeated requests to fetch fresh data each time.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], + "commonOptions": [], + "options": [], "destructive": false, "idempotent": false, "openWorld": true, @@ -184,33 +46,8 @@ "name": "list", "description": "List all available commands and their tools in a hierarchical structure. This command returns detailed information\r\nabout each command, including its name, description, full command path, available subcommands, and all supported\r\narguments. Use --name-only to return only tool names, and --namespace to filter by specific namespaces.", "command": "tools list", - "option": [ - { - "name": "--namespace-mode", - "description": "If specified, returns a list of top-level service namespaces instead of individual tools.", - "type": "string" - }, - { - "name": "--namespace", - "description": "Filter tools by namespace (e.g., 'storage', 'keyvault'). Can be specified multiple times to include multiple namespaces.", - "type": "string" - }, - { - "name": "--name-only", - "description": "If specified, returns only tool names without descriptions or metadata.", - "type": "string" - }, - { - "name": "--include-hidden", - "description": "If specified, includes hidden commands in the output.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], + "commonOptions": [], + "options": [], "destructive": false, "idempotent": true, "openWorld": false, From ad8cffcfe9d623fa069dadd3421c9d34721fd25e Mon Sep 17 00:00:00 2001 From: Patrick Hallisey Date: Mon, 4 May 2026 14:16:52 -0700 Subject: [PATCH 3/9] Fix missing template options --- eng/scripts/Update-ToolsList.ps1 | 17 ++- servers/Azure.Mcp.Server/tools.json | 14 -- servers/Fabric.Mcp.Server/tools.json | 5 - servers/Template.Mcp.Server/tools.json | 179 +++++++++++++++++++++++-- 4 files changed, 181 insertions(+), 34 deletions(-) diff --git a/eng/scripts/Update-ToolsList.ps1 b/eng/scripts/Update-ToolsList.ps1 index c4b32bc4ec..2145327d8d 100644 --- a/eng/scripts/Update-ToolsList.ps1 +++ b/eng/scripts/Update-ToolsList.ps1 @@ -108,7 +108,7 @@ foreach ($serverDir in $serverDirs) { $remainingOptions = @() $commonOptionNames = @() - if ($tool.option -and $commonOptions.Count -gt 0) { + if ($tool.option) { foreach ($opt in $tool.option) { $optName = $opt.name if ($commonOptions.Contains($optName)) { @@ -117,12 +117,11 @@ foreach ($serverDir in $serverDirs) { $commonJson = $commonOptions[$optName] | ConvertTo-Json -Depth 5 -Compress if ($optJson -eq $commonJson) { $commonOptionNames += $optName - } else { - $remainingOptions += $opt + continue; } - } else { - $remainingOptions += $opt } + + $remainingOptions += $opt } } @@ -131,8 +130,12 @@ foreach ($serverDir in $serverDirs) { name = $tool.name description = $tool.description command = $tool.command - commonOptions = $commonOptionNames - options = $remainingOptions + } + if ($commonOptionNames.Count -gt 0) { + $result.commonOptions = $commonOptionNames + } + if ($remainingOptions.Count -gt 0) { + $result.options = $remainingOptions } if ($null -ne $tool.metadata) { $result.destructive = $tool.metadata.destructive.value diff --git a/servers/Azure.Mcp.Server/tools.json b/servers/Azure.Mcp.Server/tools.json index 17d8343dc3..af892aa88c 100644 --- a/servers/Azure.Mcp.Server/tools.json +++ b/servers/Azure.Mcp.Server/tools.json @@ -965,7 +965,6 @@ "--vault-type", "--learn" ], - "options": [], "destructive": true, "idempotent": true, "openWorld": false, @@ -1773,7 +1772,6 @@ "commonOptions": [ "--learn" ], - "options": [], "destructive": false, "idempotent": true, "openWorld": true, @@ -2113,7 +2111,6 @@ "commonOptions": [ "--learn" ], - "options": [], "destructive": false, "idempotent": true, "openWorld": false, @@ -5213,7 +5210,6 @@ "commonOptions": [ "--learn" ], - "options": [], "destructive": false, "idempotent": true, "openWorld": false, @@ -5290,7 +5286,6 @@ "commonOptions": [ "--learn" ], - "options": [], "destructive": false, "idempotent": true, "openWorld": false, @@ -5373,7 +5368,6 @@ "--subscription", "--learn" ], - "options": [], "destructive": false, "idempotent": true, "openWorld": false, @@ -5398,7 +5392,6 @@ "--resource-group", "--learn" ], - "options": [], "destructive": false, "idempotent": true, "openWorld": false, @@ -8758,7 +8751,6 @@ "--subscription", "--learn" ], - "options": [], "destructive": false, "idempotent": true, "openWorld": false, @@ -9118,7 +9110,6 @@ "commonOptions": [ "--learn" ], - "options": [], "destructive": false, "idempotent": true, "openWorld": false, @@ -9909,7 +9900,6 @@ "--server", "--learn" ], - "options": [], "destructive": false, "idempotent": true, "openWorld": false, @@ -10022,7 +10012,6 @@ "--server", "--learn" ], - "options": [], "destructive": false, "idempotent": true, "openWorld": false, @@ -10126,7 +10115,6 @@ "--server", "--learn" ], - "options": [], "destructive": false, "idempotent": true, "openWorld": false, @@ -10997,7 +10985,6 @@ "--name", "--learn" ], - "options": [], "destructive": true, "idempotent": false, "openWorld": false, @@ -11195,7 +11182,6 @@ "--retry-network-timeout", "--learn" ], - "options": [], "destructive": false, "idempotent": true, "openWorld": false, diff --git a/servers/Fabric.Mcp.Server/tools.json b/servers/Fabric.Mcp.Server/tools.json index 8b4463304c..e94cb3d653 100644 --- a/servers/Fabric.Mcp.Server/tools.json +++ b/servers/Fabric.Mcp.Server/tools.json @@ -210,7 +210,6 @@ "--retry-network-timeout", "--learn" ], - "options": [], "destructive": false, "idempotent": true, "openWorld": false, @@ -263,7 +262,6 @@ "--retry-network-timeout", "--learn" ], - "options": [], "destructive": false, "idempotent": true, "openWorld": false, @@ -479,7 +477,6 @@ "--item", "--learn" ], - "options": [], "destructive": false, "idempotent": true, "openWorld": false, @@ -655,7 +652,6 @@ "--item", "--learn" ], - "options": [], "destructive": false, "idempotent": true, "openWorld": false, @@ -798,7 +794,6 @@ "commonOptions": [ "--learn" ], - "options": [], "destructive": false, "idempotent": true, "openWorld": false, diff --git a/servers/Template.Mcp.Server/tools.json b/servers/Template.Mcp.Server/tools.json index 96badc72ab..d327dfd040 100644 --- a/servers/Template.Mcp.Server/tools.json +++ b/servers/Template.Mcp.Server/tools.json @@ -4,8 +4,13 @@ "name": "info", "description": "Displays running MCP server information.", "command": "server info", - "commonOptions": [], - "options": [], + "options": [ + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], "destructive": false, "idempotent": true, "openWorld": false, @@ -18,8 +23,71 @@ "name": "plugin-telemetry", "description": "Publish plugin-related telemetry events from agent hooks.\r\nAccepts command-line options such as '--timestamp', '--event-type', '--session-id', '--client-type', '--client-name', \r\n'--plugin-name', '--plugin-version', '--skill-name', '--skill-version', '--tool-name', and '--file-reference'. \r\nUse this command from agent hooks in clients like VS Code, Claude Desktop, or Copilot CLI to emit usage metrics.", "command": "server plugin-telemetry", - "commonOptions": [], - "options": [], + "options": [ + { + "name": "--timestamp", + "description": "Timestamp of the telemetry event in ISO 8601 format.", + "type": "string", + "required": true + }, + { + "name": "--event-type", + "description": "Type of event being logged (e.g., 'skill_invocation', 'tool_invocation', 'reference_file_read').", + "type": "string", + "required": true + }, + { + "name": "--session-id", + "description": "Session identifier for correlating related events.", + "type": "string", + "required": true + }, + { + "name": "--client-type", + "description": "Type of client invoking the telemetry (e.g., 'copilot-cli', 'claude-code', 'vscode'). Deprecated: prefer --client-name.", + "type": "string" + }, + { + "name": "--client-name", + "description": "Name of the client invoking the telemetry (e.g., 'copilot-cli', 'claude-code', 'Visual Studio Code', 'Visual Studio Code - Insiders').", + "type": "string" + }, + { + "name": "--plugin-name", + "description": "Name of the plugin being invoked.", + "type": "string" + }, + { + "name": "--plugin-version", + "description": "Version of the plugin being invoked.", + "type": "string" + }, + { + "name": "--skill-name", + "description": "Name of the skill being invoked.", + "type": "string" + }, + { + "name": "--skill-version", + "description": "Version of the skill being invoked.", + "type": "string" + }, + { + "name": "--tool-name", + "description": "Name of the tool being invoked.", + "type": "string" + }, + { + "name": "--file-reference", + "description": "Plugin-relative file reference being accessed (will be validated against an allowlist).", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], "destructive": false, "idempotent": false, "openWorld": false, @@ -32,8 +100,78 @@ "name": "start", "description": "Starts Azure MCP Server.", "command": "server start", - "commonOptions": [], - "options": [], + "options": [ + { + "name": "--transport", + "description": "Transport mechanism to use for MCP Server.", + "type": "string" + }, + { + "name": "--namespace", + "description": "The service namespaces to expose on the MCP server (e.g., storage, keyvault, cosmos).", + "type": "string" + }, + { + "name": "--mode", + "description": "Mode for the MCP server. 'single' exposes one azure tool that routes to all services. 'namespace' (default) exposes one tool per service namespace. 'all' exposes all tools individually.", + "type": "string" + }, + { + "name": "--tool", + "description": "Expose only specific tools by name (e.g., 'acr_registry_list'). Repeat this option to include multiple tools, e.g., --tool \"acr_registry_list\" --tool \"group_list\". It automatically switches to \"all\" mode when \"--tool\" is used. It can't be used together with \"--namespace\".", + "type": "string" + }, + { + "name": "--read-only", + "description": "Whether the MCP server should be read-only. If true, no write operations will be allowed.", + "type": "string" + }, + { + "name": "--debug", + "description": "Enable debug mode with verbose logging to stderr.", + "type": "string" + }, + { + "name": "--dangerously-disable-http-incoming-auth", + "description": "Dangerously disables HTTP incoming authentication, exposing the server to unauthenticated access over HTTP. Use with extreme caution, this disables all transport security and may expose sensitive data to interception.", + "type": "string" + }, + { + "name": "--dangerously-disable-elicitation", + "description": "Disable elicitation (user confirmation) before allowing high risk commands to run, such as returning Secrets (passwords) from KeyVault.", + "type": "string" + }, + { + "name": "--outgoing-auth-strategy", + "description": "Outgoing authentication strategy for service requests. Valid values: NotSet, UseHostingEnvironmentIdentity, UseOnBehalfOf.", + "type": "string" + }, + { + "name": "--dangerously-write-support-logs-to-dir", + "description": "Dangerously enables detailed debug-level logging for support and troubleshooting purposes. Specify a folder path where log files will be automatically created with timestamp-based filenames (e.g., azmcp_20251202_143052.log). This may include sensitive information in logs. Use with extreme caution and only when requested by support.", + "type": "string" + }, + { + "name": "--dangerously-disable-retry-limits", + "description": "Dangerously disables upper bounds on retry delays, max delays, network timeouts, and max retries. This may lead to excessively long waits and should only be used when explicitly needed.", + "type": "string" + }, + { + "name": "--cloud", + "description": "Azure cloud environment for authentication. Valid values: AzureCloud (default), AzureChinaCloud, AzureUSGovernment, or a custom authority host URL starting with https://", + "type": "string" + }, + { + "name": "--disable-caching", + "description": "Disable caching of resource responses, requiring repeated requests to fetch fresh data each time.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], "destructive": false, "idempotent": false, "openWorld": true, @@ -46,8 +184,33 @@ "name": "list", "description": "List all available commands and their tools in a hierarchical structure. This command returns detailed information\r\nabout each command, including its name, description, full command path, available subcommands, and all supported\r\narguments. Use --name-only to return only tool names, and --namespace to filter by specific namespaces.", "command": "tools list", - "commonOptions": [], - "options": [], + "options": [ + { + "name": "--namespace-mode", + "description": "If specified, returns a list of top-level service namespaces instead of individual tools.", + "type": "string" + }, + { + "name": "--namespace", + "description": "Filter tools by namespace (e.g., 'storage', 'keyvault'). Can be specified multiple times to include multiple namespaces.", + "type": "string" + }, + { + "name": "--name-only", + "description": "If specified, returns only tool names without descriptions or metadata.", + "type": "string" + }, + { + "name": "--include-hidden", + "description": "If specified, includes hidden commands in the output.", + "type": "string" + }, + { + "name": "--learn", + "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", + "type": "string" + } + ], "destructive": false, "idempotent": true, "openWorld": false, From 04969b87a81e2fbdcfd02d084861544e7eb5c1ad Mon Sep 17 00:00:00 2001 From: Patrick Hallisey Date: Mon, 4 May 2026 14:24:05 -0700 Subject: [PATCH 4/9] Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- CONTRIBUTING.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 345d1bd806..2aab832c2d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -615,7 +615,9 @@ To ensure consistent code quality, code analysis checks will run during all PR a ./eng/scripts/Analyze-Code.ps1 -Fix ``` -This runs: solution file verification, `dotnet format`, tools.json regeneration, spelling check, tool metadata validation, and README validation. Fixable issues (format, solution files, tools.json) are corrected automatically with `-Fix`. +This runs: solution file verification, `dotnet format`, tools.json regeneration, spelling check, and tool metadata validation. Fixable issues (format, solution files, tools.json) are corrected automatically with `-Fix`. + +Package README validation currently runs separately in CI, so a clean local `Analyze-Code.ps1 -Fix` run does not cover that check. To run the check in verify-only mode (as CI does): From d67147e3001414a07a7fe2b1aed2b8f3c8246e51 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 4 May 2026 21:25:04 +0000 Subject: [PATCH 5/9] Fix Update-ToolsList.ps1 to set hasErrors on all failure paths Agent-Logs-Url: https://github.com/microsoft/mcp/sessions/96c767a3-4738-4d04-a2a8-a70b2344c3ec Co-authored-by: hallipr <1291634+hallipr@users.noreply.github.com> --- eng/scripts/Update-ToolsList.ps1 | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/eng/scripts/Update-ToolsList.ps1 b/eng/scripts/Update-ToolsList.ps1 index 2145327d8d..3c02e01f8a 100644 --- a/eng/scripts/Update-ToolsList.ps1 +++ b/eng/scripts/Update-ToolsList.ps1 @@ -58,7 +58,8 @@ foreach ($serverDir in $serverDirs) { $rawOutput = dotnet run --project $projectFile --no-launch-profile -- tools list --include-hidden 2>&1 if ($LASTEXITCODE -ne 0) { - Write-Warning " 'tools list' failed for $($serverDir.Name) (exit code $LASTEXITCODE) - skipping" + Write-Host " ❌ 'tools list' failed for $($serverDir.Name) (exit code $LASTEXITCODE)" -ForegroundColor Red + $hasErrors = $true continue } @@ -66,7 +67,8 @@ foreach ($serverDir in $serverDirs) { $parsed = $jsonString | ConvertFrom-Json if ($null -eq $parsed -or $null -eq $parsed.results) { - Write-Warning " No results returned for $($serverDir.Name) - skipping" + Write-Host " ❌ No results returned for $($serverDir.Name)" -ForegroundColor Red + $hasErrors = $true continue } @@ -161,7 +163,8 @@ foreach ($serverDir in $serverDirs) { $formatted = $output | ConvertTo-Json -Depth 10 } catch { - Write-Warning " Error processing $($serverDir.Name): $_" + Write-Host " ❌ Error processing $($serverDir.Name): $_" -ForegroundColor Red + $hasErrors = $true continue } From 7cb70c0491689bfdec62a783a7cee38ec04b3a55 Mon Sep 17 00:00:00 2001 From: Patrick Hallisey Date: Mon, 4 May 2026 14:26:04 -0700 Subject: [PATCH 6/9] Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- eng/scripts/Update-ToolsList.ps1 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/eng/scripts/Update-ToolsList.ps1 b/eng/scripts/Update-ToolsList.ps1 index 3c02e01f8a..51687ae4ae 100644 --- a/eng/scripts/Update-ToolsList.ps1 +++ b/eng/scripts/Update-ToolsList.ps1 @@ -66,7 +66,8 @@ foreach ($serverDir in $serverDirs) { $jsonString = ($rawOutput | Where-Object { $_ -is [string] }) -join "`n" $parsed = $jsonString | ConvertFrom-Json - if ($null -eq $parsed -or $null -eq $parsed.results) { + Write-Warning " Invalid 'tools list' response for $($serverDir.Name): expected a payload with 'results' - skipping" + $hasErrors = $true Write-Host " ❌ No results returned for $($serverDir.Name)" -ForegroundColor Red $hasErrors = $true continue From e75da2e033a574a43991cc2bc19eaf82f0c272b9 Mon Sep 17 00:00:00 2001 From: Patrick Hallisey Date: Mon, 4 May 2026 14:33:48 -0700 Subject: [PATCH 7/9] Improve error output --- eng/scripts/Update-ToolsList.ps1 | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/eng/scripts/Update-ToolsList.ps1 b/eng/scripts/Update-ToolsList.ps1 index 51687ae4ae..10661bdd7d 100644 --- a/eng/scripts/Update-ToolsList.ps1 +++ b/eng/scripts/Update-ToolsList.ps1 @@ -66,14 +66,12 @@ foreach ($serverDir in $serverDirs) { $jsonString = ($rawOutput | Where-Object { $_ -is [string] }) -join "`n" $parsed = $jsonString | ConvertFrom-Json - Write-Warning " Invalid 'tools list' response for $($serverDir.Name): expected a payload with 'results' - skipping" - $hasErrors = $true - Write-Host " ❌ No results returned for $($serverDir.Name)" -ForegroundColor Red + if ($null -eq $parsed -or $null -eq $parsed.results) { + Write-Warning " ❌ Invalid 'tools list' response for $($serverDir.Name)" -ForegroundColor Red $hasErrors = $true continue } - # --- Common options extraction --- # Build a 2-level map: optionName -> jsonForm -> count # to find the most-used definition for each option name. @@ -195,7 +193,12 @@ foreach ($serverDir in $serverDirs) { } if ($hasErrors) { - Write-Host "" - Write-Host "❌ tools.json drift detected. Please run 'eng/scripts/Update-ToolsList.ps1' and commit the changes." -ForegroundColor Red + if ($Verify) { + Write-Host "" + Write-Host "❌ tools.json drift detected. Please run 'eng/scripts/Update-ToolsList.ps1' to regenerate the files and commit the changes." -ForegroundColor Red + } else { + Write-Host "" + Write-Host "❌ errors encountered while updating tools.json files. Please review the output above." -ForegroundColor Red + } exit 1 } From 7ec103f8d443476e211405d1719b05cc41761ee3 Mon Sep 17 00:00:00 2001 From: Patrick Hallisey Date: Mon, 4 May 2026 15:39:03 -0700 Subject: [PATCH 8/9] Remove the tools list from the repo --- eng/scripts/Analyze-Code.ps1 | 23 - eng/scripts/New-ToolList.ps1 | 108 + eng/scripts/Update-ToolsList.ps1 | 204 - servers/Azure.Mcp.Server/tools.json | 11581 ----------------------- servers/Fabric.Mcp.Server/tools.json | 999 -- servers/Template.Mcp.Server/tools.json | 221 - 6 files changed, 108 insertions(+), 13028 deletions(-) create mode 100644 eng/scripts/New-ToolList.ps1 delete mode 100644 eng/scripts/Update-ToolsList.ps1 delete mode 100644 servers/Azure.Mcp.Server/tools.json delete mode 100644 servers/Fabric.Mcp.Server/tools.json delete mode 100644 servers/Template.Mcp.Server/tools.json diff --git a/eng/scripts/Analyze-Code.ps1 b/eng/scripts/Analyze-Code.ps1 index 39752577bf..76b5c65224 100644 --- a/eng/scripts/Analyze-Code.ps1 +++ b/eng/scripts/Analyze-Code.ps1 @@ -57,29 +57,6 @@ try { } } - # Verify tools.json metadata files are up to date - if ($Fix) { - Write-Host "Updating tools.json metadata files..." - & "$PSScriptRoot/Update-ToolsList.ps1" - - if ($LASTEXITCODE -ne 0) { - Write-Host "❌ errors encountered while updating tools.json metadata files." - $hasErrors = $true - } else { - Write-Host "✅ tools.json files updated." - } - } else { - Write-Host "Verifying tools.json metadata files..." - & "$PSScriptRoot/Update-ToolsList.ps1" -Verify - - if ($LASTEXITCODE -ne 0) { - Write-Host "❌ tools.json drift detected. Run 'eng/scripts/Update-ToolsList.ps1' to regenerate." - $hasErrors = $true - } else { - Write-Host "✅ tools.json files are up to date." - } - } - # Run cspell spell check if (!$env:TF_BUILD) { Write-Host "Running cspell spell check..." diff --git a/eng/scripts/New-ToolList.ps1 b/eng/scripts/New-ToolList.ps1 new file mode 100644 index 0000000000..f340be5f1a --- /dev/null +++ b/eng/scripts/New-ToolList.ps1 @@ -0,0 +1,108 @@ +#!/usr/bin/env pwsh +#Requires -Version 7 + +<# +.SYNOPSIS + Generates a tools.json metadata files for each MCP server. + +.DESCRIPTION + Builds each server and runs 'tools list --include-hidden' to produce a canonical + tools.json file at servers//tools.json. + + Use -Verify to check that the committed tools.json files are up-to-date without + overwriting them (exits non-zero on drift). + +.PARAMETER Verify + When set, compares the generated output against the committed files and fails if + any difference is detected. + +.PARAMETER ServerName + Optional server directory name (e.g., 'Azure.Mcp.Server') to limit regeneration + to a single server. If not specified, all servers are processed. +#> + +[CmdletBinding()] +param( + [string] $ServerName +) + +$ErrorActionPreference = 'Stop' + +. "$PSScriptRoot/../common/scripts/common.ps1" +$RepoRoot = $RepoRoot.Path.Replace('\', '/') +$ServersDirectory = Join-Path $RepoRoot "servers" +$outputDirectory = Join-Path $RepoRoot ".work/tools" + +New-Item -Path $outputDirectory -ItemType Directory -Force | Out-Null + +# Discover servers to process +$serverDirs = Get-ChildItem -Path $ServersDirectory -Directory | + Where-Object { Test-Path (Join-Path $_.FullName "src" "*.csproj") } + +if ($ServerName) { + $serverDirs = $serverDirs | Where-Object { $_.Name -eq $ServerName } + if (-not $serverDirs) { + Write-Error "Server '$ServerName' not found under $ServersDirectory" + exit 1 + } +} + +$hasErrors = $false + +foreach ($serverDir in $serverDirs) { + $projectFile = (Get-ChildItem -Path (Join-Path $serverDir.FullName "src") -Filter "*.csproj" | Select-Object -First 1).FullName + $toolsJsonPath = Join-Path $outputDirectory "$($serverDir.Name)-tools.json" + + Write-Host "Processing $($serverDir.Name)..." + + # Run 'tools list --include-hidden' via dotnet run + try { + $rawOutput = dotnet run --project $projectFile --no-launch-profile -- tools list --include-hidden 2>&1 + + if ($LASTEXITCODE -ne 0) { + Write-Host " ❌ 'tools list' failed for $($serverDir.Name) (exit code $LASTEXITCODE)" -ForegroundColor Red + $hasErrors = $true + continue + } + + $jsonString = ($rawOutput | Where-Object { $_ -is [string] }) -join "`n" + $parsed = $jsonString | ConvertFrom-Json + + if ($null -eq $parsed -or $null -eq $parsed.results) { + Write-Warning " ❌ Invalid 'tools list' response for $($serverDir.Name)" -ForegroundColor Red + $hasErrors = $true + continue + } + + # the tool list is already sorted. + # Ensuring options are also sorted makes the output deterministic + $output = @($parsed.results | ForEach-Object { + $tool = $_ + + if ($tool.option -and $tool.option.Count -gt 0) { + $tool.option = @($tool.option | Sort-Object -Property name) + } + + $tool + }) + + $formatted = $output | ConvertTo-Json -Depth 10 + + } catch { + Write-Host " ❌ Error processing $($serverDir.Name): $_" -ForegroundColor Red + $hasErrors = $true + continue + } + + # Write the file + $formatted | Set-Content -Path $toolsJsonPath -NoNewline + # Ensure trailing newline + Add-Content -Path $toolsJsonPath -Value "" + Write-Host " ✅ Updated $toolsJsonPath ($($output.Count) tools)" +} + +if ($hasErrors) { + Write-Host "" + Write-Host "❌ errors encountered while updating tools.json files. Please review the output above." -ForegroundColor Red + exit 1 +} diff --git a/eng/scripts/Update-ToolsList.ps1 b/eng/scripts/Update-ToolsList.ps1 deleted file mode 100644 index 10661bdd7d..0000000000 --- a/eng/scripts/Update-ToolsList.ps1 +++ /dev/null @@ -1,204 +0,0 @@ -#!/usr/bin/env pwsh -#Requires -Version 7 - -<# -.SYNOPSIS - Regenerates the tools.json metadata files for each MCP server. - -.DESCRIPTION - Builds each server and runs 'tools list --include-hidden' to produce a canonical - tools.json file at servers//tools.json. - - Use -Verify to check that the committed tools.json files are up-to-date without - overwriting them (exits non-zero on drift). - -.PARAMETER Verify - When set, compares the generated output against the committed files and fails if - any difference is detected. - -.PARAMETER ServerName - Optional server directory name (e.g., 'Azure.Mcp.Server') to limit regeneration - to a single server. If not specified, all servers are processed. -#> - -[CmdletBinding()] -param( - [switch] $Verify, - [string] $ServerName -) - -$ErrorActionPreference = 'Stop' - -. "$PSScriptRoot/../common/scripts/common.ps1" -$RepoRoot = $RepoRoot.Path.Replace('\', '/') -$ServersDirectory = Join-Path $RepoRoot "servers" - -# Discover servers to process -$serverDirs = Get-ChildItem -Path $ServersDirectory -Directory | - Where-Object { Test-Path (Join-Path $_.FullName "src" "*.csproj") } - -if ($ServerName) { - $serverDirs = $serverDirs | Where-Object { $_.Name -eq $ServerName } - if (-not $serverDirs) { - Write-Error "Server '$ServerName' not found under $ServersDirectory" - exit 1 - } -} - -$hasErrors = $false - -foreach ($serverDir in $serverDirs) { - $projectFile = (Get-ChildItem -Path (Join-Path $serverDir.FullName "src") -Filter "*.csproj" | Select-Object -First 1).FullName - $toolsJsonPath = Join-Path $serverDir.FullName "tools.json" - - Write-Host "Processing $($serverDir.Name)..." - - # Run 'tools list --include-hidden' via dotnet run - try { - $rawOutput = dotnet run --project $projectFile --no-launch-profile -- tools list --include-hidden 2>&1 - - if ($LASTEXITCODE -ne 0) { - Write-Host " ❌ 'tools list' failed for $($serverDir.Name) (exit code $LASTEXITCODE)" -ForegroundColor Red - $hasErrors = $true - continue - } - - $jsonString = ($rawOutput | Where-Object { $_ -is [string] }) -join "`n" - $parsed = $jsonString | ConvertFrom-Json - - if ($null -eq $parsed -or $null -eq $parsed.results) { - Write-Warning " ❌ Invalid 'tools list' response for $($serverDir.Name)" -ForegroundColor Red - $hasErrors = $true - continue - } - - # --- Common options extraction --- - # Build a 2-level map: optionName -> jsonForm -> count - # to find the most-used definition for each option name. - $optionHashMap = @{} # optionName -> @{ json -> @{ count=N; definition=obj } } - - foreach ($tool in $parsed.results) { - if (-not $tool.option) { continue } - foreach ($opt in $tool.option) { - $optName = $opt.name - $optJson = $opt | ConvertTo-Json -Depth 5 -Compress - - if (-not $optionHashMap.ContainsKey($optName)) { - $optionHashMap[$optName] = @{} - } - if (-not $optionHashMap[$optName].ContainsKey($optJson)) { - $optionHashMap[$optName][$optJson] = @{ count = 0; definition = $opt } - } - $optionHashMap[$optName][$optJson].count++ - } - } - - # For each option name, find the most common hash; if count > 10, promote to common. - $commonOptions = [ordered]@{} - foreach ($optName in ($optionHashMap.Keys | Sort-Object)) { - $hashes = $optionHashMap[$optName] - $best = $hashes.GetEnumerator() | Sort-Object { $_.Value.count } -Descending | Select-Object -First 1 - if ($best.Value.count -gt 10) { - $commonOptions[$optName] = $best.Value.definition - } - } - - # Rebuild tools array: replace matching options with commonOptions reference - $finalTools = @($parsed.results | ForEach-Object { - $tool = $_ - $remainingOptions = @() - $commonOptionNames = @() - - if ($tool.option) { - foreach ($opt in $tool.option) { - $optName = $opt.name - if ($commonOptions.Contains($optName)) { - # Check if this option matches the common definition - $optJson = $opt | ConvertTo-Json -Depth 5 -Compress - $commonJson = $commonOptions[$optName] | ConvertTo-Json -Depth 5 -Compress - if ($optJson -eq $commonJson) { - $commonOptionNames += $optName - continue; - } - } - - $remainingOptions += $opt - } - } - - $result = [ordered] @{ - id = $tool.id - name = $tool.name - description = $tool.description - command = $tool.command - } - if ($commonOptionNames.Count -gt 0) { - $result.commonOptions = $commonOptionNames - } - if ($remainingOptions.Count -gt 0) { - $result.options = $remainingOptions - } - if ($null -ne $tool.metadata) { - $result.destructive = $tool.metadata.destructive.value - $result.idempotent = $tool.metadata.idempotent.value - $result.openWorld = $tool.metadata.openWorld.value - $result.readOnly = $tool.metadata.readOnly.value - $result.secret = $tool.metadata.secret.value - $result.localRequired = $tool.metadata.localRequired.value - } - [PSCustomObject]$result - }) - - # Build final output object - if ($commonOptions.Count -gt 0) { - $output = [ordered]@{ - commonOptions = $commonOptions - tools = $finalTools - } - } else { - $output = $finalTools - } - - $formatted = $output | ConvertTo-Json -Depth 10 - - } catch { - Write-Host " ❌ Error processing $($serverDir.Name): $_" -ForegroundColor Red - $hasErrors = $true - continue - } - - if ($Verify) { - # Compare against committed file - if (-not (Test-Path $toolsJsonPath)) { - Write-Host " ❌ tools.json does not exist. Run 'eng/scripts/Update-ToolsList.ps1' to generate it." -ForegroundColor Red - $hasErrors = $true - continue - } - - $committed = Get-Content $toolsJsonPath -Raw - if ($committed.TrimEnd() -ne $formatted.TrimEnd()) { - Write-Host " ❌ tools.json is out of date. Run 'eng/scripts/Update-ToolsList.ps1' to regenerate." -ForegroundColor Red - $hasErrors = $true - } else { - Write-Host " ✅ tools.json is up to date." - } - } else { - # Write the file - $formatted | Set-Content -Path $toolsJsonPath -NoNewline - # Ensure trailing newline - Add-Content -Path $toolsJsonPath -Value "" - $commonCount = $commonOptions.Count - Write-Host " ✅ Updated $toolsJsonPath ($($finalTools.Count) tools, $commonCount common options)" - } -} - -if ($hasErrors) { - if ($Verify) { - Write-Host "" - Write-Host "❌ tools.json drift detected. Please run 'eng/scripts/Update-ToolsList.ps1' to regenerate the files and commit the changes." -ForegroundColor Red - } else { - Write-Host "" - Write-Host "❌ errors encountered while updating tools.json files. Please review the output above." -ForegroundColor Red - } - exit 1 -} diff --git a/servers/Azure.Mcp.Server/tools.json b/servers/Azure.Mcp.Server/tools.json deleted file mode 100644 index af892aa88c..0000000000 --- a/servers/Azure.Mcp.Server/tools.json +++ /dev/null @@ -1,11581 +0,0 @@ -{ - "commonOptions": { - "--auth-method": { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - "--filesystem-name": { - "name": "--filesystem-name", - "description": "The name of the Azure Managed Lustre filesystem", - "type": "string", - "required": true - }, - "--learn": { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - }, - "--name": { - "name": "--name", - "description": "The name of the storage sync service", - "type": "string", - "required": true - }, - "--resource-group": { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string", - "required": true - }, - "--retry-delay": { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - "--retry-max-delay": { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - "--retry-max-retries": { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - "--retry-mode": { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - "--retry-network-timeout": { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - "--server": { - "name": "--server", - "description": "The Azure SQL Server name.", - "type": "string", - "required": true - }, - "--subscription": { - "name": "--subscription", - "description": "Specifies the Azure subscription to use. Accepts either a subscription ID (GUID) or display name. If not specified, the AZURE_SUBSCRIPTION_ID environment variable will be used instead.", - "type": "string" - }, - "--tenant": { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - "--vault": { - "name": "--vault", - "description": "The name of the backup vault (Recovery Services vault or Backup vault).", - "type": "string", - "required": true - }, - "--vault-type": { - "name": "--vault-type", - "description": "The type of backup vault: 'rsv' (Recovery Services vault) or 'dpp' (Backup vault / Data Protection). Required for vault create; optional elsewhere (auto-detected if omitted).", - "type": "string" - } - }, - "tools": [ - { - "id": "796f8778-2fa7-4343-87ad-06bdcf6b296c", - "name": "list", - "description": "List Azure Container Registries in a subscription. Optionally filter by resource group. Each registry result\r\nincludes: name, location, loginServer, skuName, skuTier. If no registries are found the tool returns null results\r\n(consistent with other list commands).", - "command": "acr registry list", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "adc6eb20-ad98-4624-954d-61581f6fbca9", - "name": "list", - "description": "List repositories in Azure Container Registries. By default, lists repositories for all registries in the subscription.\r\nYou can narrow the scope using --resource-group and/or --registry to list repositories for a specific registry only.", - "command": "acr registry repository list", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--registry", - "description": "The name of the Azure Container Registry. This is the unique name you chose for your container registry.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "e3f09221-523a-4107-a715-823cebd97902", - "name": "list", - "description": "List Azure advisor recommendations in a subscription.", - "command": "advisor recommendation list", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "34e0d3d3-cbc5-4df8-8244-1439b97f3de5", - "name": "get", - "description": "List/enumerate all AKS (Azure Kubernetes Service) clusters in a subscription. Get/retrieve/show the details of a specific cluster if a name is provided.", - "command": "aks cluster get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--cluster", - "description": "AKS Cluster name.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "9abb0904-2ffc-4aab-b4ea-fc454b6351b1", - "name": "get", - "description": "List/enumerate all AKS (Azure Kubernetes Service) node pools in a cluster. Get/retrieve/show the details of a specific node pool if a name is provided.", - "command": "aks nodepool get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--cluster", - "description": "AKS Cluster name.", - "type": "string", - "required": true - }, - { - "name": "--nodepool", - "description": "AKS node pool (agent pool) name.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "e403c988-b57b-4ac1-afb7-25ba3fdd6e6a", - "name": "list", - "description": "List all App Configuration stores in a subscription. This command retrieves and displays all App Configuration\r\nstores available in the specified subscription. Results include store names returned as a JSON array.", - "command": "appconfig account list", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "f885a499-82ec-4897-a788-fb6b4615ab06", - "name": "delete", - "description": "Delete a key-value pair from an App Configuration store. This command removes the specified key-value pair from the store.\r\nIf a label is specified, only the labeled version is deleted. If no label is specified, the key-value with the matching\r\nkey and the default label will be deleted.", - "command": "appconfig kv delete", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--account", - "description": "The name of the App Configuration store (e.g., my-appconfig).", - "type": "string", - "required": true - }, - { - "name": "--key", - "description": "The name of the key to access within the App Configuration store.", - "type": "string", - "required": true - }, - { - "name": "--label", - "description": "The label to apply to the configuration key. Labels are used to group and organize settings.", - "type": "string" - }, - { - "name": "--content-type", - "description": "The content type of the configuration value. This is used to indicate how the value should be interpreted or parsed.", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "abc28800-ae4a-4369-9ec0-2653a578e82a", - "name": "get", - "description": "Gets key-values in an App Configuration store. This command can either retrieve a specific key-value by its key\r\nand optional label, or list key-values if no key is provided. Listing key-values can optionally be filtered by a\r\nkey filter and label filter. Each key-value includes its key, value, label, content type, ETag, last modified time,\r\nand lock status.", - "command": "appconfig kv get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--account", - "description": "The name of the App Configuration store (e.g., my-appconfig).", - "type": "string", - "required": true - }, - { - "name": "--key", - "description": "The name of the key to access within the App Configuration store.", - "type": "string" - }, - { - "name": "--label", - "description": "The label to apply to the configuration key. Labels are used to group and organize settings.", - "type": "string" - }, - { - "name": "--key-filter", - "description": "Specifies the key filter, if any, to be used when retrieving key-values. The filter can be an exact match, for example a filter of 'foo' would get all key-values with a key of 'foo', or the filter can include a '*' character at the end of the string for wildcard searches (e.g., 'App*'). If omitted all keys will be retrieved.", - "type": "string" - }, - { - "name": "--label-filter", - "description": "Specifies the label filter, if any, to be used when retrieving key-values. The filter can be an exact match, for example a filter of 'foo' would get all key-values with a label of 'foo', or the filter can include a '*' character at the end of the string for wildcard searches (e.g., 'Prod*'). This filter is case-sensitive. If omitted, all labels will be retrieved.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "b48fd781-d74a-4dfd-a29c-421ded9a6ce9", - "name": "set", - "description": "Sets the lock state of a key-value in an App Configuration store. This command can lock and unlock key-values.\r\nLocking sets a key-value to read-only mode, preventing any modifications to its value. Unlocking removes the\r\nread-only mode from a key-value setting, allowing modifications to its value. You must specify an account name\r\nand key. Optionally, you can specify a label to lock or unlock a specific labeled version of the key-value.\r\nDefault is unlocking the key-value.", - "command": "appconfig kv lock set", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--account", - "description": "The name of the App Configuration store (e.g., my-appconfig).", - "type": "string", - "required": true - }, - { - "name": "--key", - "description": "The name of the key to access within the App Configuration store.", - "type": "string", - "required": true - }, - { - "name": "--label", - "description": "The label to apply to the configuration key. Labels are used to group and organize settings.", - "type": "string" - }, - { - "name": "--content-type", - "description": "The content type of the configuration value. This is used to indicate how the value should be interpreted or parsed.", - "type": "string" - }, - { - "name": "--lock", - "description": "Whether a key-value will be locked (set to read-only) or unlocked (read-only removed).", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "a89086eb-acf4-4168-9d32-de5cd7384030", - "name": "set", - "description": "Set a key-value setting in an App Configuration store. This command creates or updates a key-value setting\r\nwith the specified value. You must specify an account name, key, and value. Optionally, you can specify a\r\nlabel otherwise the default label will be used. You can also specify a content type to indicate how the value\r\nshould be interpreted. You can add tags in the format 'key=value' to associate metadata with the setting.", - "command": "appconfig kv set", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--account", - "description": "The name of the App Configuration store (e.g., my-appconfig).", - "type": "string", - "required": true - }, - { - "name": "--key", - "description": "The name of the key to access within the App Configuration store.", - "type": "string", - "required": true - }, - { - "name": "--label", - "description": "The label to apply to the configuration key. Labels are used to group and organize settings.", - "type": "string" - }, - { - "name": "--content-type", - "description": "The content type of the configuration value. This is used to indicate how the value should be interpreted or parsed.", - "type": "string" - }, - { - "name": "--value", - "description": "The value to set for the configuration key.", - "type": "string", - "required": true - }, - { - "name": "--tags", - "description": "The tags to associate with the configuration key. Tags should be in the format 'key=value'. Multiple tags can be specified.", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "92fb5b7d-f1d7-4834-a61a-e170ad8594ac", - "name": "diagnose", - "description": "Get diagnostic help from App Lens for Azure application and service issues to identify what's wrong with a service. Ask questions about performance, slowness, failures, errors, application state, availability to receive expert analysis and solutions which can help when performing diagnostics and to address issues about performance and failures. Returns analysis, insights, and recommended solutions. Always use this tool before manually checking metrics or logs when users report performance or functionality issues. Only the resource name and question are required - subscription, resource group, and resource type are optional and used to narrow down results when multiple resources share the same name.", - "command": "applens resource diagnose", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--learn" - ], - "options": [ - { - "name": "--subscription", - "description": "Azure subscription ID or name. Provide this when disambiguating between multiple resources of the same name.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "Azure resource group name. Provide this when disambiguating between multiple resources of the same name.", - "type": "string" - }, - { - "name": "--resource-type", - "description": "Resource type. Provide this when disambiguating between multiple resources of the same name.", - "type": "string" - }, - { - "name": "--resource", - "description": "The name of the resource to investigate or diagnose", - "type": "string", - "required": true - }, - { - "name": "--question", - "description": "User question", - "type": "string", - "required": true - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "8d259f21-43b3-4962-bec8-de616b8b5f0d", - "name": "list", - "description": "List Application Insights Code Optimization Recommendations in a subscription. Optionally filter by resource group when --resource-group is provided.\r\nReturns the code optimization recommendations based on the profiler data.", - "command": "applicationinsights recommendation list", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "14be1264-82c8-4a4c-8271-7cfe1fbebbc8", - "name": "add", - "description": "Add a database connection for an App Service using connection string for an existing database. This command configures database connection\r\nsettings for the specified App Service, allowing it to connect to a database server name. You must specify the App Service name, database name,\r\ndatabase type, database server name, connection string, resource group name and subscription.", - "command": "appservice database add", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--app", - "description": "The name of the Azure App Service (e.g., my-webapp).", - "type": "string", - "required": true - }, - { - "name": "--database-type", - "description": "The type of database (e.g., SqlServer, MySQL, PostgreSQL, CosmosDB).", - "type": "string", - "required": true - }, - { - "name": "--database-server", - "description": "The server name or endpoint for the database (e.g., myserver.database.windows.net).", - "type": "string", - "required": true - }, - { - "name": "--database", - "description": "The name of the database to connect to (e.g., mydb).", - "type": "string", - "required": true - }, - { - "name": "--connection-string", - "description": "The connection string for the database. If not provided, a default will be generated.", - "type": "string" - } - ], - "destructive": false, - "idempotent": false, - "openWorld": true, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "8d9cd2af-cd79-4101-968b-501d9f0b217c", - "name": "change-state", - "description": "Updates the running state of an Azure App Service web app using one of the following states:\r\n\r\n- \"start\": Starts a stopped web app.\r\n- \"stop\": Stops a running web app.\r\n- \"restart\": Restarts a running web app.\r\n\r\nRestart has additional options to specify whether to perform a soft restart and whether to synchronously wait\r\nfor the restart to complete before returning.\r\n\r\nReturns a message indicating the result of the operation.", - "command": "appservice webapp change-state", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--app", - "description": "The name of the Azure App Service (e.g., my-webapp).", - "type": "string", - "required": true - }, - { - "name": "--state-change", - "description": "The state change action to perform. Valid values are: start, stop, restart.", - "type": "string", - "required": true - }, - { - "name": "--soft-restart", - "description": "When state-change is restart, indicates whether to perform a soft restart.", - "type": "string" - }, - { - "name": "--wait-for-completion", - "description": "When state-change is restart, indicates whether to synchronously wait for the state change operation to complete before returning.", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "17c59409-5382-4419-aef4-0058ffe2c6ec", - "name": "get", - "description": "Retrieves detailed information about Azure App Service web app deployments, including deployment name,\r\nif deployment is actively happening, when the deployment started and ended, who authored and deployed the\r\ndeployment, and the type of deployment. If a specific deployment ID is not provided, the command will return\r\ndetails for all deployments in the web app. You can specify a deployment ID to get details for a specific\r\ndeployment.", - "command": "appservice webapp deployment get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--app", - "description": "The name of the Azure App Service (e.g., my-webapp).", - "type": "string", - "required": true - }, - { - "name": "--deployment-id", - "description": "The ID of the deployment.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "a8aa0966-4c0c-4e22-8854-cced583f0fb2", - "name": "diagnose", - "description": "Runs a specific diagnostic detector on an App Service Web App to troubleshoot issues with performance, availability,\r\nconfiguration, or errors. Returns detailed analysis results including insights and recommendations. Use this to investigate\r\nwhy a web app is slow, failing, restarting, or unhealthy. Requires a detector ID from 'azmcp appservice webapp diagnostic list'.\r\nSupports optional time range filtering for historical analysis.", - "command": "appservice webapp diagnostic diagnose", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--app", - "description": "The name of the Azure App Service (e.g., my-webapp).", - "type": "string", - "required": true - }, - { - "name": "--detector-id", - "description": "The ID of the diagnostic detector to run. Use the 'id' field from 'azmcp appservice webapp diagnostic list' output (e.g., LinuxContainerRecycle, LinuxMemoryDrillDown).", - "type": "string", - "required": true - }, - { - "name": "--start-time", - "description": "The start time in ISO format (e.g., 2023-01-01T00:00:00Z).", - "type": "string" - }, - { - "name": "--end-time", - "description": "The end time in ISO format (e.g., 2023-01-01T00:00:00Z).", - "type": "string" - }, - { - "name": "--interval", - "description": "The time interval (e.g., PT1H for 1 hour, PT5M for 5 minutes).", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "7807fdb6-4b92-4361-8042-be61dd342e17", - "name": "list", - "description": "Lists all available diagnostic detectors for an App Service Web App. Use this to discover which diagnostics\r\nare available before running a specific detector. Returns the detector ID, name, type, description, category,\r\nand analysis types for each detector. Useful for troubleshooting app service issues, checking available\r\nhealth checks, and finding the right detector for performance, availability, or configuration analysis.", - "command": "appservice webapp diagnostic list", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--app", - "description": "The name of the Azure App Service (e.g., my-webapp).", - "type": "string", - "required": true - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "4412f1af-16e7-46db-8305-33e3d7ae06de", - "name": "get", - "description": "Retrieves detailed information about Azure App Service web apps, including app name, resource group, location,\r\nstate, hostnames, etc. If a specific app name is not provided, the command will return details for all web apps\r\nin a subscription or resource group in a subscription. You can specify the app name, resource group name, and\r\nsubscription to get details for a specific web app.", - "command": "appservice webapp get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--app", - "description": "The name of the Azure App Service (e.g., my-webapp).", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "825ef21f-392f-4cd4-8272-7e7dce12e293", - "name": "get-appsettings", - "description": "Retrieves the application settings for an App Service web app, returning key-value pairs that represent the\r\nsetting. Application settings may contain sensitive information.", - "command": "appservice webapp settings get-appsettings", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--app", - "description": "The name of the Azure App Service (e.g., my-webapp).", - "type": "string", - "required": true - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": true, - "localRequired": false - }, - { - "id": "08ca52a3-f766-4c62-9597-702f629efaf6", - "name": "update-appsettings", - "description": "Updates the application setting for an App Service web app. Three types of updating are available:\r\n\r\n- Add: adds a new application setting with the specified name and value. If the application setting already exists, the operation will fail and return an error message.\r\n- Set: sets the value of an application setting. If the application setting does not exist, this is equivalent to add. If the application setting already exists, the value will be overwritten.\r\n- Delete: deletes an application setting with the specified name. If the application setting does not exist, nothing happens.\r\n\r\nFor add and set update types, both the application setting name and value are required. For delete update type, only the application setting name is required.", - "command": "appservice webapp settings update-appsettings", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--app", - "description": "The name of the Azure App Service (e.g., my-webapp).", - "type": "string", - "required": true - }, - { - "name": "--setting-name", - "description": "The name of the application setting.", - "type": "string", - "required": true - }, - { - "name": "--setting-value", - "description": "The value of the application setting. Required for add and set update types.", - "type": "string" - }, - { - "name": "--setting-update-type", - "description": "The type of update to perform on the application setting. Valid values are: add, set, delete.", - "type": "string", - "required": true - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "f5612c55-054d-4fd8-964c-952e8e6b87f8", - "name": "status", - "description": "Checks the backup status of an Azure resource and returns whether it is protected,\r\nalong with vault and policy details. Use this to verify if a VM, disk, storage account,\r\nor other datasource is currently backed up. Requires the datasource ARM resource ID\r\nand the Azure region (location) where the resource exists.", - "command": "azurebackup backup status", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--datasource-id", - "description": "The datasource identifier. For VM/FileShare/DPP workloads, use the ARM resource ID (e.g., '/subscriptions/.../virtualMachines/myvm'). For RSV in-guest workloads (SQL/SAPHANA), use the protectable item name from 'protectableitem list' (e.g., 'SAPHanaDatabase;instance;dbname').", - "type": "string", - "required": true - }, - { - "name": "--location", - "description": "The Azure region (e.g., 'eastus', 'westus2').", - "type": "string", - "required": true - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "917b66e5-483f-43ac-9620-9403e1689dbe", - "name": "enable-crr", - "description": "Enables Cross-Region Restore on a GRS-enabled vault.", - "command": "azurebackup disasterrecovery enable-crr", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--vault", - "--vault-type", - "--learn" - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "73b050ca-2e20-448c-a76c-08e8cd5bbe25", - "name": "find-unprotected", - "description": "Scans the subscription to find Azure resources that are not currently protected by any\r\nbackup policy. Optionally filter by resource type, resource group, or tags.", - "command": "azurebackup governance find-unprotected", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--resource-type-filter", - "description": "Resource types to filter (comma-separated).", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--tag-filter", - "description": "Tag-based filter in key=value format (e.g., 'environment=production').", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "a0ac7596-9a80-4b53-b459-06f27598a2e2", - "name": "immutability", - "description": "Configures the immutability state for a backup vault. States include 'Disabled', 'Enabled',\r\nor 'Locked'. Warning: 'Locked' state is irreversible.", - "command": "azurebackup governance immutability", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--vault", - "--vault-type", - "--learn" - ], - "options": [ - { - "name": "--immutability-state", - "description": "Immutability state: 'Disabled', 'Enabled', or 'Locked' (irreversible).", - "type": "string", - "required": true - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "b3f1ea2d-5535-4155-849c-61f2fc49f1d9", - "name": "soft-delete", - "description": "Configures the soft delete settings for a backup vault. Set the state to 'AlwaysOn', 'On',\r\nor 'Off', and optionally specify the retention period in days (14-180).", - "command": "azurebackup governance soft-delete", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--vault", - "--vault-type", - "--learn" - ], - "options": [ - { - "name": "--soft-delete", - "description": "Soft delete state: 'AlwaysOn', 'On', or 'Off'.", - "type": "string", - "required": true - }, - { - "name": "--soft-delete-retention-days", - "description": "Soft delete retention period (14-180 days).", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "f1291650-8ff2-413c-8001-e4b33f157a3b", - "name": "get", - "description": "Retrieves backup job information. When --job is specified, returns detailed information\r\nabout a single job including operation type, status, start/end times, error codes, and\r\ndatasource details. When omitted, lists all backup jobs in the vault.", - "command": "azurebackup job get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--vault", - "--vault-type", - "--learn" - ], - "options": [ - { - "name": "--job", - "description": "The backup job ID.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "bc5e600b-c414-4bce-8b7d-a6021cfd3d23", - "name": "create", - "description": "Creates a backup policy for a specified workload type with schedule and retention rules.", - "command": "azurebackup policy create", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--vault", - "--vault-type", - "--learn" - ], - "options": [ - { - "name": "--policy", - "description": "The name of the backup policy.", - "type": "string", - "required": true - }, - { - "name": "--workload-type", - "description": "Workload type: VM, SQL, SAPHANA, SAPASE, AzureFileShare (RSV types); AzureDisk, AzureBlob, AKS, ElasticSAN, PostgreSQLFlexible, ADLS, CosmosDB (DPP types). Also accepts aliases like AzureVM, SQLDatabase, etc.", - "type": "string", - "required": true - }, - { - "name": "--schedule-time", - "description": "Backup time in UTC (e.g., '02:00').", - "type": "string" - }, - { - "name": "--daily-retention-days", - "description": "Daily recovery point retention in days. Defaults to datasource-specific value if omitted.", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "5f7ef3ae-72f3-4fe8-bd1e-ea56e4db86df", - "name": "get", - "description": "Retrieves backup policy information. When --policy is specified, returns detailed\r\ninformation about a single policy including datasource types and protected items count.\r\nWhen omitted, lists all backup policies configured in the vault.", - "command": "azurebackup policy get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--vault", - "--vault-type", - "--learn" - ], - "options": [ - { - "name": "--policy", - "description": "The name of the backup policy.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "a3f7d2c1-9e84-4b6a-8d3c-5f1e7a2b9c04", - "name": "update", - "description": "Modifies an existing RSV backup policy. Updates the backup schedule time and daily retention days for VM, SQL, SAP HANA, and file share workload policies. The named policy must already exist in the vault.", - "command": "azurebackup policy update", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--vault", - "--vault-type", - "--learn" - ], - "options": [ - { - "name": "--policy", - "description": "The name of the backup policy.", - "type": "string", - "required": true - }, - { - "name": "--schedule-time", - "description": "Backup time in UTC (e.g., '02:00').", - "type": "string" - }, - { - "name": "--daily-retention-days", - "description": "Daily recovery point retention in days. Defaults to datasource-specific value if omitted.", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "9f6b0a1e-1c2d-4e5f-8a9b-7c6d5e4f3a21", - "name": "list", - "description": "Lists items that can be backed up (protectable items) in a Recovery Services vault,\r\nsuch as SQL databases and SAP HANA databases discovered on registered VMs.\r\nUse this to find databases and workloads available for backup protection.\r\nOnly supported for RSV vaults; DPP datasources are protected by ARM resource ID directly.\r\nFilter results by --workload-type (e.g., SQL, SAPHana) or --container.", - "command": "azurebackup protectableitem list", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--vault", - "--vault-type", - "--learn" - ], - "options": [ - { - "name": "--workload-type", - "description": "Workload type: VM, SQL, SAPHANA, SAPASE, AzureFileShare (RSV types); AzureDisk, AzureBlob, AKS, ElasticSAN, PostgreSQLFlexible, ADLS, CosmosDB (DPP types). Also accepts aliases like AzureVM, SQLDatabase, etc.", - "type": "string" - }, - { - "name": "--container", - "description": "The RSV protection container name. Only applicable for Recovery Services vaults.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "bc985e4f-8945-447a-9aba-ef13df309001", - "name": "get", - "description": "Retrieves protected item information. When --protected-item is specified, returns\r\ndetailed information about a single backup instance including protection status,\r\ndatasource details, policy assignment, and last backup time. Specify --container\r\nfor RSV workload items. When --protected-item is omitted, lists all protected items\r\n(backup instances) in the vault.", - "command": "azurebackup protecteditem get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--vault", - "--vault-type", - "--learn" - ], - "options": [ - { - "name": "--protected-item", - "description": "The name of the protected item or backup instance.", - "type": "string" - }, - { - "name": "--container", - "description": "The RSV protection container name. Only applicable for Recovery Services vaults.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "7a6fc193-ca3c-4309-97c5-ee1e7fe90e69", - "name": "protect", - "description": "Enables or configures backup protection for an Azure resource by creating a\r\nprotected item or backup instance. Protects VMs, disks, file shares, SQL databases,\r\nSAP HANA databases, and other supported datasources.\r\nFor VMs: pass the VM ARM resource ID as --datasource-id.\r\nFor workloads (SQL/HANA): pass the protectable item name from 'protectableitem list'\r\nas --datasource-id (e.g., 'SAPHanaDatabase;instance;dbname'), and specify --container.\r\nRequires a backup policy name via --policy. The operation is asynchronous;\r\nuse 'azurebackup job get' to monitor the protection job progress.", - "command": "azurebackup protecteditem protect", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--vault", - "--vault-type", - "--learn" - ], - "options": [ - { - "name": "--datasource-id", - "description": "The datasource identifier. For VM/FileShare/DPP workloads, use the ARM resource ID (e.g., '/subscriptions/.../virtualMachines/myvm'). For RSV in-guest workloads (SQL/SAPHANA), use the protectable item name from 'protectableitem list' (e.g., 'SAPHanaDatabase;instance;dbname').", - "type": "string", - "required": true - }, - { - "name": "--policy", - "description": "The name of the backup policy.", - "type": "string", - "required": true - }, - { - "name": "--container", - "description": "The RSV protection container name. Only applicable for Recovery Services vaults.", - "type": "string" - }, - { - "name": "--datasource-type", - "description": "The workload type hint: VM, SQL, SAPHANA, SAPASE, AzureFileShare (RSV types); AzureDisk, AzureBlob, AKS, ElasticSAN, PostgreSQLFlexible, ADLS, CosmosDB (DPP types). Also accepts aliases like AzureVM, SQLDatabase, etc.", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "d8e3a1b7-5c42-4f9e-b6d1-7a2e9c3f4b58", - "name": "undelete", - "description": "Undeletes or restores a soft-deleted backup item to an active protection state.\r\nUse this when a backup or protected item was accidentally deleted and needs to be recovered.\r\nFor RSV vaults: pass the datasource ARM resource ID as --datasource-id.\r\nFor DPP vaults: pass the datasource ARM resource ID as --datasource-id.\r\nOptionally specify --container for RSV workload items (SQL/HANA).\r\nThe operation is asynchronous; use 'azurebackup job get' to monitor progress.", - "command": "azurebackup protecteditem undelete", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--vault", - "--vault-type", - "--learn" - ], - "options": [ - { - "name": "--datasource-id", - "description": "The datasource identifier. For VM/FileShare/DPP workloads, use the ARM resource ID (e.g., '/subscriptions/.../virtualMachines/myvm'). For RSV in-guest workloads (SQL/SAPHANA), use the protectable item name from 'protectableitem list' (e.g., 'SAPHanaDatabase;instance;dbname').", - "type": "string", - "required": true - }, - { - "name": "--container", - "description": "The RSV protection container name. Only applicable for Recovery Services vaults.", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "e930bbb6-b495-454b-bae4-46b9da14eb1c", - "name": "get", - "description": "Retrieves recovery point information for a protected item. When --recovery-point is\r\nspecified, returns detailed information about a single recovery point including time\r\nand type. When omitted, lists all available recovery points for the protected item.", - "command": "azurebackup recoverypoint get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--vault", - "--vault-type", - "--learn" - ], - "options": [ - { - "name": "--protected-item", - "description": "The name of the protected item or backup instance.", - "type": "string", - "required": true - }, - { - "name": "--container", - "description": "The RSV protection container name. Only applicable for Recovery Services vaults.", - "type": "string" - }, - { - "name": "--recovery-point", - "description": "The recovery point ID.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "1dccdb24-d81c-4bde-9437-577a7bd0cf09", - "name": "create", - "description": "Creates a new backup vault. Specify --vault-type as 'rsv' for a Recovery Services vault\r\nor 'dpp' for a Backup vault (Data Protection). For DPP vaults a System-Assigned\r\nManaged Identity is enabled by default so the vault can authenticate to protected\r\ndatasources (storage accounts, disks, PG Flex, etc.) - change later with\r\n'azurebackup vault update --identity-type ...' if needed. Returns the created\r\nvault details.", - "command": "azurebackup vault create", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--vault", - "--vault-type", - "--learn" - ], - "options": [ - { - "name": "--location", - "description": "The Azure region (e.g., 'eastus', 'westus2').", - "type": "string", - "required": true - }, - { - "name": "--sku", - "description": "The vault SKU.", - "type": "string" - }, - { - "name": "--storage-type", - "description": "Storage redundancy: 'GeoRedundant', 'LocallyRedundant', or 'ZoneRedundant'.", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "4a1084d5-50d9-489f-9e4c-acc594441b1f", - "name": "get", - "description": "Retrieves backup vault information. When --vault and --resource-group are specified,\r\nreturns detailed information about a single vault including type, location, SKU, and\r\nstorage redundancy. When omitted, lists all backup vaults (RSV and Backup vaults) in\r\nthe subscription. Optionally filter by --vault-type ('rsv' or 'dpp') and/or\r\n--resource-group to narrow the listing results.", - "command": "azurebackup vault get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--vault-type", - "--learn" - ], - "options": [ - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--vault", - "description": "The name of the backup vault (Recovery Services vault or Backup vault).", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "da7f163e-471c-4d7d-ae00-d41f5f4b939e", - "name": "update", - "description": "Updates vault-level settings including storage redundancy, soft delete, immutability, and managed identity.", - "command": "azurebackup vault update", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--vault", - "--vault-type", - "--learn" - ], - "options": [ - { - "name": "--redundancy", - "description": "Storage redundancy: 'GeoRedundant', 'LocallyRedundant', 'ZoneRedundant', or 'ReadAccessGeoZoneRedundant'.", - "type": "string" - }, - { - "name": "--soft-delete", - "description": "Soft delete state: 'AlwaysOn', 'On', or 'Off'.", - "type": "string" - }, - { - "name": "--soft-delete-retention-days", - "description": "Soft delete retention period (14-180 days).", - "type": "string" - }, - { - "name": "--immutability-state", - "description": "Immutability state: 'Disabled', 'Enabled', or 'Locked' (irreversible).", - "type": "string" - }, - { - "name": "--identity-type", - "description": "Managed identity type: 'SystemAssigned', 'UserAssigned', or 'None'.", - "type": "string" - }, - { - "name": "--tags", - "description": "Resource tags as JSON key-value object.", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "d4e8c9b2-5f3a-4d1c-8b7e-2a9f1c6d5e4b", - "name": "getguidance", - "description": "Get how-to guidance for modifying, configuring, or customizing an existing Platform Landing Zone.\r\nUse this tool when user asks \"how do I\", \"show me how to\", \"get guidance for\", or asks about \r\ndisabling, enabling, turning off, changing, or modifying Landing Zone settings.\r\n\r\n**Use this tool for questions about:**\r\n- How to turn off or disable Bastion, DDoS, DNS, gateways, Defender, or monitoring\r\n- How to change IP addresses, CIDR ranges, network topology, or regions\r\n- How to modify policies, enable zero trust, or update management groups\r\n- How to change resource naming patterns or conventions\r\n- Finding or searching for specific policies within a Landing Zone\r\n- Listing all available policies by archetype\r\n\r\n**Available scenarios:**\r\n- bastion: Turn off Bastion host\r\n- ddos: Enable or disable DDoS protection plan\r\n- dns: Turn off Private DNS zones and resolvers\r\n- gateways: Turn off Virtual Network Gateways (VPN/ExpressRoute)\r\n- ip-addresses: Adjust CIDR ranges and IP address space\r\n- regions: Add or remove secondary regions\r\n- resource-names: Update resource naming prefixes and suffixes\r\n- management-groups: Customize management group names and IDs\r\n- policy-enforcement: Change policy enforcement mode to DoNotEnforce\r\n- policy-assignment: Remove or disable a policy assignment\r\n- ama: Turn off Azure Monitoring Agent\r\n- amba: Deploy Azure Monitoring Baseline Alerts\r\n- defender: Turn off Defender Plans\r\n- zero-trust: Implement Zero Trust Networking\r\n- slz: Implement Sovereign Landing Zone controls\r\n\r\n**For policy searches:**\r\n- Use policy-name to search for a specific policy\r\n- Use list-policies=true to list ALL policies by archetype", - "command": "azuremigrate platformlandingzone getguidance", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--learn" - ], - "options": [ - { - "name": "--scenario", - "description": "The modification scenario key. Valid values: resource-names, management-groups, ddos, bastion, dns, gateways, regions, ip-addresses, policy-enforcement, policy-assignment, ama, amba, defender, zero-trust, slz.", - "type": "string", - "required": true - }, - { - "name": "--policy-name", - "description": "The policy assignment name to look up (e.g., 'Enable-DDoS-VNET'). Used with policy-enforcement or policy-assignment scenarios.", - "type": "string" - }, - { - "name": "--list-policies", - "description": "Set to true to list all available policies organized by archetype. Useful for finding the exact policy name.", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": true, - "readOnly": false, - "secret": false, - "localRequired": true - }, - { - "id": "a7f3b8c1-9e2d-4f6a-8b3c-5d1e7f9a2c4b", - "name": "request", - "description": "Generate and download platform landing zone configurations for Azure Migrate projects.\r\nUpdates parameters, check existing landing zones, and view parameters status.\r\n\r\n**Actions:**\r\n- createmigrateproject: Create a new Azure Migrate project if one doesn't exist (requires location parameter)\r\n- check: Check if a platform landing zone already exists\r\n- update: Update all parameters for generation (collect ALL params in one call)\r\n- generate: Generate the platform landing zone\r\n- download: Download generated files to local workspace\r\n- status: View cached parameters\r\n\r\n**Context (required for most actions):**\r\n- subscription, resourceGroup, migrateProjectName\r\n\r\n**Create Azure Migrate Parameters (for 'createmigrateproject' action):**\r\n- subscription, resourceGroup, migrateProjectName, location\r\n\r\n**Generation Parameters (for 'update' action - collect ALL at once from user):**\r\n| Parameter | Options | Default |\r\n|-----------|---------|----------|\r\n| regionType | single, multi | single |\r\n| firewallType | azurefirewall, nva | azurefirewall |\r\n| networkArchitecture | hubspoke, vwan | hubspoke |\r\n| versionControlSystem | local, github, azuredevops | local |\r\n| regions | comma-separated (e.g., eastus,westus) | eastus |\r\n| environmentName | any string | prod |\r\n| organizationName | any string | contoso |\r\n| identitySubscriptionId | GUID | (uses main subscription) |\r\n| managementSubscriptionId | GUID | (uses main subscription) |\r\n| connectivitySubscriptionId | GUID | (uses main subscription) |\r\n\r\n**Workflow:**\r\n1. Ask the user if they want to create a new Azure Migrate project or use an existing one. If creating, collect location parameter and create the project.\r\n2. action='createmigrateproject' - Create a new Azure Migrate project only if the user doesn't have one already. Requires location parameter.\r\n3. action='check' - See if one already exists\r\n4. action='update' with ALL parameters - Ask user to confirm defaults or provide values\r\n5. action='generate' - Create the landing zone\r\n6. action='download' - Get the files\r\n7. Extract zip to workspace root\r\n\r\n**IMPORTANT:** When using 'update', collect ALL parameters from the user in ONE call.\r\nShow them the defaults and ask which ones they want to change.", - "command": "azuremigrate platformlandingzone request", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--action", - "description": "The action to perform: 'update' (set parameters), 'check' (check existing platform landing zone), 'generate' (generate platform landing zone), 'download' (get download instructions), 'status' (view parameter status).", - "type": "string", - "required": true - }, - { - "name": "--region-type", - "description": "The region type for the Platform Landing Zone. Valid values: 'single', 'multi'.", - "type": "string" - }, - { - "name": "--firewall-type", - "description": "The firewall type for the Platform Landing Zone. Valid values: 'azurefirewall', 'nva'.", - "type": "string" - }, - { - "name": "--network-architecture", - "description": "The network architecture for the Platform Landing Zone. Valid values: 'hubspoke', 'vwan'.", - "type": "string" - }, - { - "name": "--identity-subscription-id", - "description": "The Azure subscription ID for the identity management group in Platform Landing Zone (GUID format).", - "type": "string" - }, - { - "name": "--management-subscription-id", - "description": "The Azure subscription ID for the management group in Platform Landing Zone (GUID format).", - "type": "string" - }, - { - "name": "--connectivity-subscription-id", - "description": "The Azure subscription ID for the connectivity group in Platform Landing Zone (GUID format).", - "type": "string" - }, - { - "name": "--security-subscription-id", - "description": "The Azure subscription ID for security resources in Platform Landing Zone (GUID format).", - "type": "string" - }, - { - "name": "--regions", - "description": "Comma-separated list of Azure regions for Platform Landing Zone (e.g., 'eastus,westus2').", - "type": "string" - }, - { - "name": "--environment-name", - "description": "The environment name for the Platform Landing Zone.", - "type": "string" - }, - { - "name": "--version-control-system", - "description": "The version control system for the Platform Landing Zone. Valid values: 'local', 'github', 'azuredevops'.", - "type": "string" - }, - { - "name": "--organization-name", - "description": "The organization name for the Platform Landing Zone.", - "type": "string" - }, - { - "name": "--migrate-project-name", - "description": "The Azure Migrate project name for Platform Landing Zone generation context.", - "type": "string", - "required": true - }, - { - "name": "--migrate-project-resource-id", - "description": "The full resource ID of the Azure Migrate project for Platform Landing Zone (alternative to subscription/resourceGroup/migrateProjectName).", - "type": "string" - }, - { - "name": "--location", - "description": "The Azure region location for creating new resources (e.g., 'eastus', 'westus2'). Required for 'createmigrateproject' action.", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": true - }, - { - "id": "e5f6a7b8-c9d0-1234-ef01-456789012cde", - "name": "get", - "description": "Retrieves the documentation (README.md) for a specific version of an Azure Verified Module (AVM).\r\nReturns the full module documentation including usage examples, input variables,\r\noutput values, and resource descriptions. Use --module-name and --module-version\r\nto specify the module and version (e.g., --module-name avm-res-storage-storageaccount --module-version 0.4.0).", - "command": "azureterraform avm get", - "commonOptions": [ - "--learn" - ], - "options": [ - { - "name": "--module-name", - "description": "The name of the Azure Verified Module (e.g., avm-res-storage-storageaccount).", - "type": "string", - "required": true - }, - { - "name": "--module-version", - "description": "The version of the Azure Verified Module (e.g., 0.4.0).", - "type": "string", - "required": true - } - ], - "destructive": false, - "idempotent": true, - "openWorld": true, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "c3d4e5f6-a7b8-9012-cdef-234567890abc", - "name": "list", - "description": "Retrieves all available Azure Verified Modules (AVM) for Terraform.\r\nReturns a list of modules with their name, description, source reference, and repository URL.\r\nThe source field can be used directly in Terraform module blocks.", - "command": "azureterraform avm list", - "commonOptions": [ - "--learn" - ], - "destructive": false, - "idempotent": true, - "openWorld": true, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "d4e5f6a7-b8c9-0123-def0-345678901bcd", - "name": "versions", - "description": "Retrieves all available versions of a specified Azure Verified Module (AVM).\r\nReturns version tags with creation dates, sorted from newest to oldest.\r\nThe first version in the list is the latest. Use --module-name to specify\r\nthe module (e.g., avm-res-storage-storageaccount).", - "command": "azureterraform avm versions", - "commonOptions": [ - "--learn" - ], - "options": [ - { - "name": "--module-name", - "description": "The name of the Azure Verified Module (e.g., avm-res-storage-storageaccount).", - "type": "string", - "required": true - } - ], - "destructive": false, - "idempotent": true, - "openWorld": true, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "f6a7b8c9-d0e1-2345-bcde-678901234ef0", - "name": "get", - "description": "Retrieves AzAPI Terraform provider documentation and schema for a specified Azure resource type.\r\nReturns the resource schema in HCL format suitable for azapi_resource blocks, including property\r\ndefinitions with types and requirements, parent resource information, and Terraform usage examples.\r\nUse --resource-type to specify the Azure resource type in ARM format\r\n(e.g., Microsoft.Compute/virtualMachines, Microsoft.Storage/storageAccounts).\r\nOptionally specify --api-version to target a specific API version.\r\nThis tool reuses Azure Bicep type definitions to generate accurate AzAPI schemas.", - "command": "azureterraform azapi get", - "commonOptions": [ - "--learn" - ], - "options": [ - { - "name": "--resource-type", - "description": "The Azure resource type in ARM format (e.g., Microsoft.Compute/virtualMachines, Microsoft.Storage/storageAccounts).", - "type": "string", - "required": true - }, - { - "name": "--api-version", - "description": "The API version to use for the resource schema. If omitted, the latest stable version is used.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": true, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "b8c9d0e1-f2a3-4567-1234-789012345f01", - "name": "query", - "description": "Generates an aztfexport command to export Azure resources matching an Azure Resource Graph query\r\nto Terraform configuration. Returns the command and arguments for the agent to execute locally.\r\nSpecify --query with a KQL WHERE clause for Azure Resource Graph (e.g., \"type =~ 'Microsoft.Storage/storageAccounts'\").\r\nOptionally configure the Terraform provider (azurerm or azapi), naming pattern, output folder,\r\nparallelism, and whether to include role assignments.\r\nIf aztfexport is not installed locally, returns installation instructions instead.", - "command": "azureterraform aztfexport query", - "commonOptions": [ - "--learn" - ], - "options": [ - { - "name": "--query", - "description": "Azure Resource Graph KQL WHERE clause to select resources for export (e.g., \"type =~ 'Microsoft.Storage/storageAccounts'\").", - "type": "string", - "required": true - }, - { - "name": "--output-folder", - "description": "Output folder name for the generated Terraform files.", - "type": "string" - }, - { - "name": "--provider", - "description": "Terraform provider to use: 'azurerm' (default) or 'azapi'.", - "type": "string" - }, - { - "name": "--name-pattern", - "description": "Pattern for naming resources in the generated Terraform configuration.", - "type": "string" - }, - { - "name": "--include-role-assignment", - "description": "Include role assignments in the export.", - "type": "string" - }, - { - "name": "--parallelism", - "description": "Number of parallel operations (default: 10, max: 50).", - "type": "string" - }, - { - "name": "--continue-on-error", - "description": "Continue export even if some resources fail (default: true).", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": true, - "readOnly": true, - "secret": false, - "localRequired": true - }, - { - "id": "f6a7b8c9-d0e1-2345-f012-567890123def", - "name": "resource", - "description": "Generates an aztfexport command to export a single Azure resource to Terraform configuration.\r\nReturns the command and arguments for the agent to execute locally.\r\nSpecify --resource-id with the full Azure resource ID. Optionally configure the Terraform provider\r\n(azurerm or azapi), custom resource name, output folder, parallelism, and whether to include role assignments.\r\nIf aztfexport is not installed locally, returns installation instructions instead.", - "command": "azureterraform aztfexport resource", - "commonOptions": [ - "--learn" - ], - "options": [ - { - "name": "--resource-id", - "description": "The full Azure resource ID to export (e.g., /subscriptions/.../resourceGroups/.../providers/Microsoft.Storage/storageAccounts/mystorageaccount).", - "type": "string", - "required": true - }, - { - "name": "--output-folder", - "description": "Output folder name for the generated Terraform files.", - "type": "string" - }, - { - "name": "--provider", - "description": "Terraform provider to use: 'azurerm' (default) or 'azapi'.", - "type": "string" - }, - { - "name": "--terraform-resource-name", - "description": "Custom resource name to use in the generated Terraform configuration.", - "type": "string" - }, - { - "name": "--include-role-assignment", - "description": "Include role assignments in the export.", - "type": "string" - }, - { - "name": "--parallelism", - "description": "Number of parallel operations (default: 10, max: 50).", - "type": "string" - }, - { - "name": "--continue-on-error", - "description": "Continue export even if some resources fail (default: true).", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": true, - "readOnly": true, - "secret": false, - "localRequired": true - }, - { - "id": "a7b8c9d0-e1f2-3456-0123-678901234ef0", - "name": "resourcegroup", - "description": "Generates an aztfexport command to export an Azure resource group and all its resources to Terraform configuration.\r\nReturns the command and arguments for the agent to execute locally.\r\nSpecify --resource-group with the name of the resource group. Optionally configure the Terraform provider\r\n(azurerm or azapi), naming pattern, output folder, parallelism, and whether to include role assignments.\r\nIf aztfexport is not installed locally, returns installation instructions instead.", - "command": "azureterraform aztfexport resourcegroup", - "commonOptions": [ - "--learn" - ], - "options": [ - { - "name": "--resource-group", - "description": "The name of the Azure resource group to export.", - "type": "string", - "required": true - }, - { - "name": "--output-folder", - "description": "Output folder name for the generated Terraform files.", - "type": "string" - }, - { - "name": "--provider", - "description": "Terraform provider to use: 'azurerm' (default) or 'azapi'.", - "type": "string" - }, - { - "name": "--name-pattern", - "description": "Pattern for naming resources in the generated Terraform configuration.", - "type": "string" - }, - { - "name": "--include-role-assignment", - "description": "Include role assignments in the export.", - "type": "string" - }, - { - "name": "--parallelism", - "description": "Number of parallel operations (default: 10, max: 50).", - "type": "string" - }, - { - "name": "--continue-on-error", - "description": "Continue export even if some resources fail (default: true).", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": true, - "readOnly": true, - "secret": false, - "localRequired": true - }, - { - "id": "d4e5f6a7-b8c9-0123-abcd-567890123def", - "name": "get", - "description": "Retrieves comprehensive AzureRM Terraform provider documentation for a specified resource type.\r\nReturns the resource summary, arguments with descriptions and requirements, attributes,\r\nusage examples, and important notes. Use --resource-type to specify the resource\r\n(e.g., azurerm_resource_group). Optionally filter by --doc-type (resource or data-source),\r\n--argument, or --attribute.", - "command": "azureterraform azurerm get", - "commonOptions": [ - "--learn" - ], - "options": [ - { - "name": "--resource-type", - "description": "The AzureRM Terraform resource type name (e.g., azurerm_resource_group, azurerm_storage_account). The 'azurerm_' prefix is optional.", - "type": "string", - "required": true - }, - { - "name": "--doc-type", - "description": "The documentation type to retrieve. Options: 'resource' (default), 'data-source'.", - "type": "string" - }, - { - "name": "--argument", - "description": "Filter results to a specific argument name.", - "type": "string" - }, - { - "name": "--attribute", - "description": "Filter results to a specific attribute name.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": true, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "b2c3d4e5-f6a7-8901-bcde-f01234567890", - "name": "plan", - "description": "Generates a conftest command to validate a Terraform plan JSON file against Azure policies.\r\nReturns the command and arguments for the agent to execute locally.\r\nUses the Azure policy library (policy-library-avm) for validation with configurable policy sets.\r\nSpecify --plan-folder with the path to the folder containing tfplan.json. Optionally configure the policy set\r\n('all', 'Azure-Proactive-Resiliency-Library-v2', or 'avmsec'), severity filter (for avmsec), and custom policy paths.\r\nIf conftest is not installed locally, returns installation instructions instead.", - "command": "azureterraform conftest plan", - "commonOptions": [ - "--learn" - ], - "options": [ - { - "name": "--plan-folder", - "description": "Path to the folder containing the Terraform plan JSON file (tfplan.json) to validate.", - "type": "string", - "required": true - }, - { - "name": "--policy-set", - "description": "Policy set to use for validation: 'all' (default), 'Azure-Proactive-Resiliency-Library-v2', or 'avmsec'.", - "type": "string" - }, - { - "name": "--severity-filter", - "description": "Severity filter for avmsec policies: 'high', 'medium', 'low', or 'info'. Only applicable when policy-set is 'avmsec'.", - "type": "string" - }, - { - "name": "--custom-policies", - "description": "Comma-separated list of custom policy paths to include in validation.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": true, - "readOnly": true, - "secret": false, - "localRequired": true - }, - { - "id": "a1b2c3d4-e5f6-7890-abcd-ef0123456789", - "name": "workspace", - "description": "Generates a conftest command to validate Terraform .tf files in a workspace against Azure policies.\r\nReturns the command and arguments for the agent to execute locally.\r\nUses the Azure policy library (policy-library-avm) for validation with configurable policy sets.\r\nSpecify --workspace-folder with the path to the Terraform workspace. Optionally configure the policy set\r\n('all', 'Azure-Proactive-Resiliency-Library-v2', or 'avmsec'), severity filter (for avmsec), and custom policy paths.\r\nIf conftest is not installed locally, returns installation instructions instead.", - "command": "azureterraform conftest workspace", - "commonOptions": [ - "--learn" - ], - "options": [ - { - "name": "--workspace-folder", - "description": "Path to the Terraform workspace folder containing .tf files to validate.", - "type": "string", - "required": true - }, - { - "name": "--policy-set", - "description": "Policy set to use for validation: 'all' (default), 'Azure-Proactive-Resiliency-Library-v2', or 'avmsec'.", - "type": "string" - }, - { - "name": "--severity-filter", - "description": "Severity filter for avmsec policies: 'high', 'medium', 'low', or 'info'. Only applicable when policy-set is 'avmsec'.", - "type": "string" - }, - { - "name": "--custom-policies", - "description": "Comma-separated list of custom policy paths to include in validation.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": true, - "readOnly": true, - "secret": false, - "localRequired": true - }, - { - "id": "5bd36575-6313-4bf4-aa26-a79fe0fa32a8", - "name": "get", - "description": "Returns Terraform best practices for Azure. Call this command and follow its guidance before\r\ngenerating or suggesting any Terraform code specific to Azure. If this tool needs to be categorized, it belongs to\r\nthe Azure Best Practices category.", - "command": "azureterraformbestpractices get", - "commonOptions": [ - "--learn" - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "553c003a-7cdf-4382-b833-94fe8bbb7386", - "name": "get", - "description": "Provides the Bicep schema definition of any Azure resource type (latest service version). Use this to get the schema needed to write Bicep IaC (infrasturcture as code) for Azure resources such as AI models, storage accounts, databases, virtual machines, app services, key vaults, and more. Do not use this tool for resource deployment, deployment guidelines, or getting best practices.", - "command": "bicepschema get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--learn" - ], - "options": [ - { - "name": "--resource-type", - "description": "The name of the Bicep Resource Type and must be in the full Azure Resource Manager format '{ResourceProvider}/{ResourceType}'. (e.g., 'Microsoft.KeyVault/vaults', 'Microsoft.Storage/storageAccounts', 'Microsoft.Compute/virtualMachines')(e.g., Microsoft.Storage/storageAccounts).", - "type": "string", - "required": true - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "aa7c2a8b-c664-423b-8fb5-8edfbdadc783", - "name": "design", - "description": "Recommends architecture design for cloud services/apps/solutions, such as: file storage, banking, video streaming, e-commerce, SaaS, and more. Use as follows:\r\n1. Ask about user role, business goals, etc (1-2 questions at a time).\r\n2. Track confidence returned by service and update requirements (explicit/implicit/assumed).\r\n3. Repeat steps 1 and 2 as needed until confidence >= 0.7\r\n4. Present architecture with table format, visual organization, ASCII diagrams.\r\n5. Follow Azure Well-Architected Framework principles.\r\n6. Cover all tiers: infrastructure, platform, application, data, security, operations.\r\n7. Provide actionable advice and high-level overview. Note: State tracks components, requirements by category, and confidence factors. Be conservative with suggestions.", - "command": "cloudarchitect design", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--learn" - ], - "options": [ - { - "name": "--question", - "description": "The current question being asked", - "type": "string" - }, - { - "name": "--question-number", - "description": "Current question number", - "type": "string" - }, - { - "name": "--total-questions", - "description": "Estimated total questions needed", - "type": "string" - }, - { - "name": "--answer", - "description": "The user's response to the question", - "type": "string" - }, - { - "name": "--next-question-needed", - "description": "Whether another question is needed", - "type": "string" - }, - { - "name": "--confidence-score", - "description": "A value between 0.0 and 1.0 representing confidence in understanding requirements. When this reaches 0.7 or higher, nextQuestionNeeded should be set to false.", - "type": "string" - }, - { - "name": "--state", - "description": "The complete architecture state from the previous request as JSON, State input schema:\n{\n\"state\":{\n\"type\":\"object\",\n\"description\":\"The complete architecture state from the previous request\",\n\"properties\":{\n\"architectureComponents\":{\n\"type\":\"array\",\n\"description\":\"All architecture components suggested so far\",\n\"items\":{\n\"type\":\"string\"\n}\n},\n\"architectureTiers\":{\n\"type\":\"object\",\n\"description\":\"Components organized by architecture tier\",\n\"additionalProperties\":{\n\"type\":\"array\",\n\"items\":{\n\"type\":\"string\"\n}\n}\n},\n\"thought\":{\n\"type\":\"string\",\n\"description\":\"The calling agent's thoughts on the next question or reasoning process. The calling agent should use the requirements it has gathered to reason about the next question.\"\n},\n\"suggestedHint\":{\n\"type\":\"string\",\n\"description\":\"A suggested interaction hint to show the user, such as 'Ask me to create an ASCII art diagram of this architecture' or 'Ask about how this design handles disaster recovery'.\"\n},\n\"requirements\":{\n\"type\":\"object\",\n\"description\":\"Tracked requirements organized by type\",\n\"properties\":{\n\"explicit\":{\n\"type\":\"array\",\n\"description\":\"Requirements explicitly stated by the user\",\n\"items\":{\n\"type\":\"object\",\n\"properties\":{\n\"category\":{\n\"type\":\"string\"\n},\n\"description\":{\n\"type\":\"string\"\n},\n\"source\":{\n\"type\":\"string\"\n},\n\"importance\":{\n\"type\":\"string\",\n\"enum\":[\n\"high\",\n\"medium\",\n\"low\"\n]\n},\n\"confidence\":{\n\"type\":\"number\"\n}\n}\n}\n},\n\"implicit\":{\n\"type\":\"array\",\n\"description\":\"Requirements implied by user responses\",\n\"items\":{\n\"type\":\"object\",\n\"properties\":{\n\"category\":{\n\"type\":\"string\"\n},\n\"description\":{\n\"type\":\"string\"\n},\n\"source\":{\n\"type\":\"string\"\n},\n\"importance\":{\n\"type\":\"string\",\n\"enum\":[\n\"high\",\n\"medium\",\n\"low\"\n]\n},\n\"confidence\":{\n\"type\":\"number\"\n}\n}\n}\n},\n\"assumed\":{\n\"type\":\"array\",\n\"description\":\"Requirements assumed based on context/best practices\",\n\"items\":{\n\"type\":\"object\",\n\"properties\":{\n\"category\":{\n\"type\":\"string\"\n},\n\"description\":{\n\"type\":\"string\"\n},\n\"source\":{\n\"type\":\"string\"\n},\n\"importance\":{\n\"type\":\"string\",\n\"enum\":[\n\"high\",\n\"medium\",\n\"low\"\n]\n},\n\"confidence\":{\n\"type\":\"number\"\n}\n}\n}\n}\n}\n},\n\"confidenceFactors\":{\n\"type\":\"object\",\n\"description\":\"Factors that contribute to the overall confidence score\",\n\"properties\":{\n\"explicitRequirementsCoverage\":{\n\"type\":\"number\"\n},\n\"implicitRequirementsCertainty\":{\n\"type\":\"number\"\n},\n\"assumptionRisk\":{\n\"type\":\"number\"\n}\n}\n}\n}\n}\n}", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "60f79b69-9e90-4f07-9bf4-bd4452f1143d", - "name": "send", - "description": "Send emails to one or multiple recipients to the given email-address. The emails can be plain text or HTML formatted. You can include a subject, custom sender name, CC and BCC recipients, and reply-to addresses.", - "command": "communication email send", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--learn" - ], - "options": [ - { - "name": "--endpoint", - "description": "The Communication Services URI endpoint (e.g., https://myservice.communication.azure.com). Required for credential authentication.", - "type": "string", - "required": true - }, - { - "name": "--from", - "description": "The email address to send from (must be from a verified domain)", - "type": "string", - "required": true - }, - { - "name": "--sender-name", - "description": "The display name of the sender", - "type": "string" - }, - { - "name": "--to", - "description": "The recipient email address(es) to send the email to.", - "type": "string", - "required": true - }, - { - "name": "--cc", - "description": "CC recipient email addresses", - "type": "string" - }, - { - "name": "--bcc", - "description": "BCC recipient email addresses", - "type": "string" - }, - { - "name": "--subject", - "description": "The email subject", - "type": "string", - "required": true - }, - { - "name": "--message", - "description": "The email message content to send to the recipient(s).", - "type": "string", - "required": true - }, - { - "name": "--is-html", - "description": "Flag indicating whether the message content is HTML", - "type": "string" - }, - { - "name": "--reply-to", - "description": "Reply-to email addresses", - "type": "string" - } - ], - "destructive": false, - "idempotent": false, - "openWorld": true, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "a0dc94f3-25ac-4971-a552-0d90fd57e902", - "name": "send", - "description": "Sends SMS messages to one or more recipients to the given phone-number. You can enable delivery reports and receipt tracking, broadcast SMS, and tag messages for easier tracking.\r\nReturns message IDs and delivery status for each sent message.", - "command": "communication sms send", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--learn" - ], - "options": [ - { - "name": "--endpoint", - "description": "The Communication Services URI endpoint (e.g., https://myservice.communication.azure.com). Required for credential authentication.", - "type": "string", - "required": true - }, - { - "name": "--from", - "description": "The SMS-enabled phone number associated with your Communication Services resource (in E.164 format, e.g., +14255550123). Can also be a short code or alphanumeric sender ID.", - "type": "string", - "required": true - }, - { - "name": "--to", - "description": "The recipient phone number(s) in E.164 international standard format (e.g., +14255550123). Multiple numbers can be provided.", - "type": "string", - "required": true - }, - { - "name": "--message", - "description": "The SMS message content to send to the recipient(s).", - "type": "string", - "required": true - }, - { - "name": "--enable-delivery-report", - "description": "Whether to enable delivery reporting for the SMS message. When enabled, events are emitted when delivery is successful.", - "type": "string" - }, - { - "name": "--tag", - "description": "Optional custom tag to apply to the SMS message for tracking purposes.", - "type": "string" - } - ], - "destructive": false, - "idempotent": false, - "openWorld": true, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "3f8a1b2c-5d6e-4a7b-8c9d-0e1f2a3b4c5d", - "name": "create", - "description": "Creates a new Azure managed disk in the specified resource group. Supports creating empty disks (specify --size-gb), disks from a source such as a snapshot, another managed disk, or a blob URI (specify --source), disks from a Shared Image Gallery image version (specify --gallery-image-reference), or disks ready for upload (specify --upload-type and --upload-size-bytes). If location is not specified, defaults to the resource group's location. Supports configuring disk size, storage SKU (e.g., Premium_LRS, Standard_LRS, UltraSSD_LRS), OS type, availability zone, hypervisor generation, tags, encryption settings, performance tier, shared disk, on-demand bursting, and IOPS/throughput limits for UltraSSD disks. Create a disk with network access policy DenyAll, AllowAll, or AllowPrivate and associate a disk access resource during creation.", - "command": "compute disk create", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--disk-name", - "description": "The name of the disk", - "type": "string", - "required": true - }, - { - "name": "--source", - "description": "Source to create the disk from, including a resource ID of a snapshot or disk, or a blob URI of a VHD. When a source is provided, --size-gb is optional and defaults to the source size.", - "type": "string" - }, - { - "name": "--location", - "description": "The Azure region/location. Defaults to the resource group's location if not specified.", - "type": "string" - }, - { - "name": "--size-gb", - "description": "Size of the disk in GB. Max size: 4095 GB.", - "type": "string" - }, - { - "name": "--sku", - "description": "Underlying storage SKU. Accepted values: Premium_LRS, PremiumV2_LRS, Premium_ZRS, StandardSSD_LRS, StandardSSD_ZRS, Standard_LRS, UltraSSD_LRS.", - "type": "string" - }, - { - "name": "--os-type", - "description": "The Operating System type of the disk. Accepted values: Linux, Windows.", - "type": "string" - }, - { - "name": "--zone", - "description": "Availability zone into which to provision the resource.", - "type": "string" - }, - { - "name": "--hyper-v-generation", - "description": "The hypervisor generation of the Virtual Machine. Applicable to OS disks only. Accepted values: V1, V2.", - "type": "string" - }, - { - "name": "--max-shares", - "description": "The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a shared disk.", - "type": "string" - }, - { - "name": "--network-access-policy", - "description": "Policy for accessing the disk via network. Accepted values: AllowAll, AllowPrivate, DenyAll.", - "type": "string" - }, - { - "name": "--enable-bursting", - "description": "Enable on-demand bursting beyond the provisioned performance target of the disk. Does not apply to Ultra disks. Accepted values: true, false.", - "type": "string" - }, - { - "name": "--tags", - "description": "Space-separated tags in 'key=value' format. Use '' to clear existing tags.", - "type": "string" - }, - { - "name": "--disk-encryption-set", - "description": "Resource ID of the disk encryption set to use for enabling encryption at rest.", - "type": "string" - }, - { - "name": "--encryption-type", - "description": "Encryption type of the disk. Accepted values: EncryptionAtRestWithCustomerKey, EncryptionAtRestWithPlatformAndCustomerKeys, EncryptionAtRestWithPlatformKey.", - "type": "string" - }, - { - "name": "--disk-access", - "description": "Resource ID of the disk access resource for using private endpoints on disks.", - "type": "string" - }, - { - "name": "--tier", - "description": "Performance tier of the disk (e.g., P10, P15, P20, P30, P40, P50, P60, P70, P80). Applicable to Premium SSD disks only.", - "type": "string" - }, - { - "name": "--gallery-image-reference", - "description": "Resource ID of a Shared Image Gallery image version to use as the source for the disk. Format: /subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.Compute/galleries/{gallery}/images/{image}/versions/{version}.", - "type": "string" - }, - { - "name": "--gallery-image-reference-lun", - "description": "LUN (Logical Unit Number) of the data disk in the gallery image version. If specified, the disk is created from the data disk at this LUN. If not specified, the disk is created from the OS disk of the image.", - "type": "string" - }, - { - "name": "--disk-iops-read-write", - "description": "The number of IOPS allowed for this disk. Only settable for UltraSSD disks.", - "type": "string" - }, - { - "name": "--disk-mbps-read-write", - "description": "The bandwidth allowed for this disk in MBps. Only settable for UltraSSD disks.", - "type": "string" - }, - { - "name": "--upload-type", - "description": "Type of upload for the disk. Accepted values: Upload, UploadWithSecurityData. When specified, the disk is created in a ReadyToUpload state.", - "type": "string" - }, - { - "name": "--upload-size-bytes", - "description": "The size in bytes (including the VHD footer of 512 bytes) of the content to be uploaded. Required when --upload-type is specified.", - "type": "string" - }, - { - "name": "--security-type", - "description": "Security type of the managed disk. Accepted values: ConfidentialVM_DiskEncryptedWithCustomerKey, ConfidentialVM_DiskEncryptedWithPlatformKey, ConfidentialVM_VMGuestStateOnlyEncryptedWithPlatformKey, Standard, TrustedLaunch. Required when --upload-type is UploadWithSecurityData.", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "a7c3e9f1-4b82-4d5a-9e6c-1f3d8b2a7c4e", - "name": "delete", - "description": "Deletes an Azure managed disk from the specified resource group. This is an idempotent operation that returns Deleted = true if the disk was successfully removed, or Deleted = false if the disk was not found. The disk must not be attached to a virtual machine; detach it first before deleting.", - "command": "compute disk delete", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--disk-name", - "description": "The name of the disk", - "type": "string", - "required": true - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": true, - "localRequired": false - }, - { - "id": "01ab6f7e-2b27-4d6e-b0cc-b29043efac8e", - "name": "get", - "description": "Lists available Azure managed disks or retrieves detailed information about a specific disk. Shows all disks in a subscription or resource group, including disk size, SKU, provisioning state, and OS type. Supports wildcard patterns in disk names (e.g., 'win_OsDisk*'). When disk name is provided without resource group, searches across the entire subscription. When resource group is specified, scopes the search to that resource group. Both parameters are optional.", - "command": "compute disk get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--disk-name", - "description": "The name of the disk", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "4a9b2c3d-6e7f-5b8c-9d0e-1f2a3b4c5d6e", - "name": "update", - "description": "Updates or modifies properties of an existing Azure managed disk that was previously created. If resource group is not specified, the disk is located by name within the subscription. Supports changing disk size (can only increase), storage SKU, IOPS and throughput limits (UltraSSD only), max shares for shared disk attachments, on-demand bursting, tags, encryption settings, disk access, and performance tier. Modify the network access policy to DenyAll, AllowAll, or AllowPrivate on an existing disk. Only specified properties are updated; unspecified properties remain unchanged.", - "command": "compute disk update", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--disk-name", - "description": "The name of the disk", - "type": "string", - "required": true - }, - { - "name": "--size-gb", - "description": "Size of the disk in GB. Max size: 4095 GB.", - "type": "string" - }, - { - "name": "--sku", - "description": "Underlying storage SKU. Accepted values: Premium_LRS, PremiumV2_LRS, Premium_ZRS, StandardSSD_LRS, StandardSSD_ZRS, Standard_LRS, UltraSSD_LRS.", - "type": "string" - }, - { - "name": "--disk-iops-read-write", - "description": "The number of IOPS allowed for this disk. Only settable for UltraSSD disks.", - "type": "string" - }, - { - "name": "--disk-mbps-read-write", - "description": "The bandwidth allowed for this disk in MBps. Only settable for UltraSSD disks.", - "type": "string" - }, - { - "name": "--max-shares", - "description": "The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a shared disk.", - "type": "string" - }, - { - "name": "--network-access-policy", - "description": "Policy for accessing the disk via network. Accepted values: AllowAll, AllowPrivate, DenyAll.", - "type": "string" - }, - { - "name": "--enable-bursting", - "description": "Enable on-demand bursting beyond the provisioned performance target of the disk. Does not apply to Ultra disks. Accepted values: true, false.", - "type": "string" - }, - { - "name": "--tags", - "description": "Space-separated tags in 'key=value' format. Use '' to clear existing tags.", - "type": "string" - }, - { - "name": "--disk-encryption-set", - "description": "Resource ID of the disk encryption set to use for enabling encryption at rest.", - "type": "string" - }, - { - "name": "--encryption-type", - "description": "Encryption type of the disk. Accepted values: EncryptionAtRestWithCustomerKey, EncryptionAtRestWithPlatformAndCustomerKeys, EncryptionAtRestWithPlatformKey.", - "type": "string" - }, - { - "name": "--disk-access", - "description": "Resource ID of the disk access resource for using private endpoints on disks.", - "type": "string" - }, - { - "name": "--tier", - "description": "Performance tier of the disk (e.g., P10, P15, P20, P30, P40, P50, P60, P70, P80). Applicable to Premium SSD disks only.", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "b765ab9c-788d-4422-80aa-54488f6be648", - "name": "create", - "description": "Create, deploy, or provision a single Azure Virtual Machine (VM).\r\nUse this to launch a new Linux or Windows VM with SSH key or password authentication.\r\nAutomatically creates networking resources (VNet, subnet, NSG, NIC, public IP) when not specified.\r\nEquivalent to 'az vm create'. Defaults to Standard_D2s_v5 VM size when not specified.\r\nThe --image option is required and has no default; if the user does not specify an image, ask them which image to use\r\n(an alias such as 'Ubuntu2404' or 'Win2022Datacenter', a marketplace URN like 'publisher:offer:sku:version',\r\nor a shared gallery image ID starting with '/sharedGalleries/').\r\nFor Linux VMs with SSH, read the user's public key file (e.g., ~/.ssh/id_rsa.pub) and pass its content.\r\nDo not use this for creating Virtual Machine Scale Sets with multiple identical instances (use VMSS create instead).", - "command": "compute vm create", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--vm-name", - "description": "The name of the virtual machine", - "type": "string", - "required": true - }, - { - "name": "--location", - "description": "The Azure region/location. Defaults to the resource group's location if not specified.", - "type": "string", - "required": true - }, - { - "name": "--admin-username", - "description": "The admin username for the VM. Required for VM creation", - "type": "string", - "required": true - }, - { - "name": "--admin-password", - "description": "The admin password for Windows VMs or when SSH key is not provided for Linux VMs", - "type": "string" - }, - { - "name": "--ssh-public-key", - "description": "SSH public key for Linux VMs. Can be the key content or path to a file", - "type": "string" - }, - { - "name": "--image", - "description": "The OS image to use. Can be a URN (publisher:offer:sku:version), a shared gallery image ID (starting with '/sharedGalleries/'), or an alias such as 'Ubuntu2404' or 'Win2022Datacenter'.", - "type": "string", - "required": true - }, - { - "name": "--vm-size", - "description": "The VM size (e.g., Standard_D2s_v3, Standard_B2s). Defaults to Standard_D2s_v5 if not specified", - "type": "string" - }, - { - "name": "--os-type", - "description": "The Operating System type of the disk. Accepted values: Linux, Windows.", - "type": "string" - }, - { - "name": "--virtual-network", - "description": "Name of an existing virtual network to use. If not specified, a new one will be created", - "type": "string" - }, - { - "name": "--subnet", - "description": "Name of the subnet within the virtual network", - "type": "string" - }, - { - "name": "--public-ip-address", - "description": "Name of the public IP address to use or create", - "type": "string" - }, - { - "name": "--network-security-group", - "description": "Name of the network security group to use or create", - "type": "string" - }, - { - "name": "--no-public-ip", - "description": "Do not create or assign a public IP address", - "type": "string" - }, - { - "name": "--source-address-prefix", - "description": "Source IP address range for NSG inbound rules (e.g., '203.0.113.0/24' or a specific IP). Defaults to '*' (any source)", - "type": "string" - }, - { - "name": "--zone", - "description": "Availability zone into which to provision the resource.", - "type": "string" - }, - { - "name": "--os-disk-size-gb", - "description": "OS disk size in GB. Defaults based on image requirements", - "type": "string" - }, - { - "name": "--os-disk-type", - "description": "OS disk type: 'Premium_LRS', 'StandardSSD_LRS', 'Standard_LRS'. Defaults based on VM size", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": true, - "localRequired": false - }, - { - "id": "d4e2c8a1-6f3b-4d9e-b8c7-1a2e3f4d5e6f", - "name": "delete", - "description": "Delete, remove, or destroy an Azure Virtual Machine (VM).\r\nUse this to permanently remove a VM that is no longer needed.\r\nEquivalent to 'az vm delete'. This operation is irreversible and the VM data will be lost.\r\nUse --force-deletion to force delete the VM even if it is in a running or failed state\r\n(passes forceDeletion=true to the Azure API).\r\nAssociated resources like disks, NICs, and public IPs are NOT automatically deleted.\r\nDo not use this to delete Virtual Machine Scale Sets (use VMSS delete instead).", - "command": "compute vm delete", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--vm-name", - "description": "The name of the virtual machine", - "type": "string", - "required": true - }, - { - "name": "--force-deletion", - "description": "Force delete the resource even if it is in a running or failed state (passes forceDeletion=true to the Azure API)", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": true, - "localRequired": false - }, - { - "id": "c1a8b3e5-4f2d-4a6e-8c7b-9d2e3f4a5b6c", - "name": "get", - "description": "List or get Azure Virtual Machine (VM) configuration and properties in a resource group. By default, returns VM details including name, location, size, provisioning state, and OS type. When retrieving a specific VM with --vm-name and --instance-view, the response also includes power state (running/stopped/deallocated). Use this tool to retrieve VM configuration details.", - "command": "compute vm get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--vm-name", - "description": "The name of the virtual machine", - "type": "string" - }, - { - "name": "--instance-view", - "description": "Include instance view details (only available when retrieving a specific VM)", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "f330138e-8048-4a4a-8170-d8b6f958eaa4", - "name": "update", - "description": "Update, modify, or reconfigure an existing Azure Virtual Machine (VM).\r\nUse this to resize a VM, update tags, configure boot diagnostics, or change user data.\r\nEquivalent to 'az vm update'. The VM may need to be deallocated before resizing to certain sizes.\r\nDo not use this to create a new VM (use VM create) or to update Virtual Machine Scale Sets (use VMSS update).", - "command": "compute vm update", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--vm-name", - "description": "The name of the virtual machine", - "type": "string", - "required": true - }, - { - "name": "--vm-size", - "description": "The VM size (e.g., Standard_D2s_v3, Standard_B2s). Defaults to Standard_D2s_v5 if not specified", - "type": "string" - }, - { - "name": "--tags", - "description": "Space-separated tags in 'key=value' format. Use '' to clear existing tags.", - "type": "string" - }, - { - "name": "--license-type", - "description": "License type for Azure Hybrid Benefit: 'Windows_Server', 'Windows_Client', 'RHEL_BYOS', 'SLES_BYOS', or 'None' to disable", - "type": "string" - }, - { - "name": "--boot-diagnostics", - "description": "Enable or disable boot diagnostics: 'true' or 'false'", - "type": "string" - }, - { - "name": "--user-data", - "description": "Base64-encoded user data for the VM. Use to update custom data scripts", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "c46a4bc5-cba6-4d99-991b-a9109fc689ad", - "name": "create", - "description": "Create, deploy, or provision an Azure Virtual Machine Scale Set (VMSS) for running multiple identical VM instances.\r\nUse this to deploy workloads that need horizontal scaling, load balancing, or high availability across instances.\r\nEquivalent to 'az vmss create'. Defaults to 2 instances and Standard_D2s_v5 size when not specified.\r\nThe --image option is required and has no default; if the user does not specify an image, ask them which image to use\r\n(an alias such as 'Ubuntu2404' or 'Win2022Datacenter', a marketplace URN like 'publisher:offer:sku:version',\r\nor a shared gallery image ID starting with '/sharedGalleries/').\r\nFor Linux VMSS with SSH, read the user's public key file (e.g., ~/.ssh/id_rsa.pub) and pass its content.\r\nDo not use this for creating a single standalone VM (use VM create instead).", - "command": "compute vmss create", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--vmss-name", - "description": "The name of the virtual machine scale set", - "type": "string", - "required": true - }, - { - "name": "--location", - "description": "The Azure region/location. Defaults to the resource group's location if not specified.", - "type": "string", - "required": true - }, - { - "name": "--admin-username", - "description": "The admin username for the VM. Required for VM creation", - "type": "string", - "required": true - }, - { - "name": "--admin-password", - "description": "The admin password for Windows VMs or when SSH key is not provided for Linux VMs", - "type": "string" - }, - { - "name": "--ssh-public-key", - "description": "SSH public key for Linux VMs. Can be the key content or path to a file", - "type": "string" - }, - { - "name": "--image", - "description": "The OS image to use. Can be a URN (publisher:offer:sku:version), a shared gallery image ID (starting with '/sharedGalleries/'), or an alias such as 'Ubuntu2404' or 'Win2022Datacenter'.", - "type": "string", - "required": true - }, - { - "name": "--vm-size", - "description": "The VM size (e.g., Standard_D2s_v3, Standard_B2s). Defaults to Standard_D2s_v5 if not specified", - "type": "string" - }, - { - "name": "--os-type", - "description": "The Operating System type of the disk. Accepted values: Linux, Windows.", - "type": "string" - }, - { - "name": "--instance-count", - "description": "Number of VM instances in the scale set. Default is 2", - "type": "string" - }, - { - "name": "--upgrade-policy", - "description": "Upgrade policy mode: 'Automatic', 'Manual', or 'Rolling'. Default is 'Manual'", - "type": "string" - }, - { - "name": "--virtual-network", - "description": "Name of an existing virtual network to use. If not specified, a new one will be created", - "type": "string" - }, - { - "name": "--subnet", - "description": "Name of the subnet within the virtual network", - "type": "string" - }, - { - "name": "--zone", - "description": "Availability zone into which to provision the resource.", - "type": "string" - }, - { - "name": "--os-disk-size-gb", - "description": "OS disk size in GB. Defaults based on image requirements", - "type": "string" - }, - { - "name": "--os-disk-type", - "description": "OS disk type: 'Premium_LRS', 'StandardSSD_LRS', 'Standard_LRS'. Defaults based on VM size", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": true, - "localRequired": false - }, - { - "id": "e5f3d9b2-7a4c-4e8f-c9d8-2b3f4a5e6d7c", - "name": "delete", - "description": "Delete, remove, or destroy an Azure Virtual Machine Scale Set (VMSS) and all its VM instances.\r\nUse this to permanently remove a scale set that is no longer needed.\r\nEquivalent to 'az vmss delete'. This operation is irreversible and all VMSS instances will be lost.\r\nUse --force-deletion to force delete the VMSS even if it is in a running or failed state\r\n(passes forceDeletion=true to the Azure API).\r\nDo not use this to delete a single VM (use VM delete instead).", - "command": "compute vmss delete", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--vmss-name", - "description": "The name of the virtual machine scale set", - "type": "string", - "required": true - }, - { - "name": "--force-deletion", - "description": "Force delete the resource even if it is in a running or failed state (passes forceDeletion=true to the Azure API)", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": true, - "localRequired": false - }, - { - "id": "a5e2f7i9-8j6h-8e0i-2g1f-3h6i7j8e9f0g", - "name": "get", - "description": "List or get Azure Virtual Machine Scale Sets (VMSS) and their instances in a subscription or resource group. Returns scale set details including name, location, SKU, capacity, upgrade policy, and individual VM instance information.", - "command": "compute vmss get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--vmss-name", - "description": "The name of the virtual machine scale set", - "type": "string" - }, - { - "name": "--instance-id", - "description": "The instance ID of the virtual machine in the scale set", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "aaa0ad51-3c16-4ec2-99e2-b24f28a1e7d0", - "name": "update", - "description": "Update, modify, or reconfigure an existing Azure Virtual Machine Scale Set (VMSS).\r\nUse this to scale instance count, resize VMs, change upgrade policy, or update tags on a scale set.\r\nEquivalent to 'az vmss update'. Changes may require 'update-instances' to roll out to existing VMs.\r\nDo not use this to create a new VMSS (use VMSS create) or to update a single VM (use VM update).", - "command": "compute vmss update", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--vmss-name", - "description": "The name of the virtual machine scale set", - "type": "string", - "required": true - }, - { - "name": "--upgrade-policy", - "description": "Upgrade policy mode: 'Automatic', 'Manual', or 'Rolling'. Default is 'Manual'", - "type": "string" - }, - { - "name": "--capacity", - "description": "Number of VM instances (capacity) in the scale set", - "type": "string" - }, - { - "name": "--vm-size", - "description": "The VM size (e.g., Standard_D2s_v3, Standard_B2s). Defaults to Standard_D2s_v5 if not specified", - "type": "string" - }, - { - "name": "--overprovision", - "description": "Enable or disable overprovisioning. When enabled, Azure provisions more VMs than requested and deletes extra VMs after deployment", - "type": "string" - }, - { - "name": "--enable-auto-os-upgrade", - "description": "Enable automatic OS image upgrades. Requires health probes or Application Health extension", - "type": "string" - }, - { - "name": "--scale-in-policy", - "description": "Scale-in policy to determine which VMs to remove: 'Default', 'NewestVM', or 'OldestVM'", - "type": "string" - }, - { - "name": "--tags", - "description": "Space-separated tags in 'key=value' format. Use '' to clear existing tags.", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "94fec47b-eb44-4d20-862f-24c284328956", - "name": "append", - "description": "Appends a tamper-proof entry to a Confidential Ledger instance and returns the transaction identifier.", - "command": "confidentialledger entries append", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--learn" - ], - "options": [ - { - "name": "--ledger", - "description": "The name of the Confidential Ledger instance (e.g., 'myledger').", - "type": "string", - "required": true - }, - { - "name": "--content", - "description": "The JSON or text payload to append as a tamper-proof ledger entry.", - "type": "string", - "required": true - }, - { - "name": "--collection-id", - "description": "Optional ledger collection identifier. If omitted the default collection is used.", - "type": "string" - } - ], - "destructive": false, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "f1281e49-6392-455d-8caf-eb58428e8f5e", - "name": "get", - "description": "Retrieves the Confidential Ledger entry and its recorded contents for the specified transaction ID, optionally scoped to a collection.", - "command": "confidentialledger entries get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--learn" - ], - "options": [ - { - "name": "--ledger", - "description": "The name of the Confidential Ledger instance (e.g., 'myledger').", - "type": "string", - "required": true - }, - { - "name": "--transaction-id", - "description": "The Confidential Ledger transaction identifier (for example: '2.199').", - "type": "string", - "required": true - }, - { - "name": "--collection-id", - "description": "Optional ledger collection identifier. If omitted the default collection is used.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "d4e5f6a7-b8c9-0d1e-2f3a-4b5c6d7e8f90", - "name": "list", - "description": "List Azure Container Apps in a subscription. Optionally filter by resource group. Each container app result\r\nincludes: name, location, resourceGroup, managedEnvironmentId, provisioningState. If no container apps are\r\nfound the tool returns an empty list of results (consistent with other list commands).", - "command": "containerapps list", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "5c19a92a-4e0c-44dc-b1e7-5560a0d277b5", - "name": "query", - "description": "List items from a Cosmos DB container by specifying the account name, database name, and container name, optionally providing a custom SQL query to filter results.", - "command": "cosmos database container item query", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--account", - "description": "The name of the Cosmos DB account to query (e.g., my-cosmos-account).", - "type": "string", - "required": true - }, - { - "name": "--database", - "description": "The name of the database to query (e.g., my-database).", - "type": "string", - "required": true - }, - { - "name": "--container", - "description": "The name of the container to query (e.g., my-container).", - "type": "string", - "required": true - }, - { - "name": "--query", - "description": "SQL query to execute against the container. Uses Cosmos DB SQL syntax.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", - "name": "list", - "description": "List Cosmos DB accounts, databases, or containers. Returns all accounts in the subscription by default. Specify --account to list databases in that account, or --account and --database to list containers in a specific database.", - "command": "cosmos list", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--account", - "description": "The name of the Cosmos DB account (optional). When not specified, lists all accounts in the subscription. Specify this to list databases, or combine with --database to list containers.", - "type": "string" - }, - { - "name": "--database", - "description": "The name of the database (optional). Requires --account to be specified. When provided, lists containers within this database.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "bbd026b6-df96-4c52-8b72-13734984a600", - "name": "list", - "description": "List monitored resources in Datadog for a datadog resource taken as input from the user.\r\nThis command retrieves all monitored azure resources available.\r\nRequires `datadog-resource`, `resource-group` and `subscription`.\r\nResult is a list of monitored resources as a JSON array.", - "command": "datadog monitoredresources list", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--datadog-resource", - "description": "The name of the Datadog resource to use. This is the unique name you chose for your Datadog resource in Azure.", - "type": "string", - "required": true - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "ce9d648d-7c76-48a0-8cba-b9b57c6fd00b", - "name": "get", - "description": "Shows application logs for Azure Developer CLI (azd) deployed applications from their associated Log Analytics workspace. Supports Container Apps, App Services, and Function Apps deployed via 'azd up'. Requires local workspace access to read the azure.yaml project file. Automatically discovers the correct Log Analytics workspace and resources based on azd environment configuration. Returns console log entries for checking deployment status or troubleshooting post-deployment issues.", - "command": "deploy app logs get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--workspace-folder", - "description": "The full path of the workspace folder.", - "type": "string", - "required": true - }, - { - "name": "--azd-env-name", - "description": "The name of the environment created by azd (AZURE_ENV_NAME) during `azd init` or `azd up`. If not provided in context, try to find it in the .azure directory in the workspace or use 'azd env list'.", - "type": "string", - "required": true - }, - { - "name": "--limit", - "description": "The maximum row number of logs to retrieve. Use this to get a specific number of logs or to avoid the retrieved logs from reaching token limit. Default is 200.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": true - }, - { - "id": "34d7ec6a-e229-4775-8af3-85f81ae3e6d3", - "name": "generate", - "description": "Generates a Mermaid architecture diagram showing recommended Azure services and their connections for an application. Input is a structured AppTopology JSON built by scanning the workspace: detect services, frameworks, ports, Docker settings, and dependencies from connection strings and environment variables. For .NET Aspire applications, check aspireManifest.json. Returns a Mermaid diagram string. Supported compute types include AppService, FunctionApp, ContainerApp, StaticWebApp, and AKS. Supported dependency types include SQL, Cosmos, Redis, Storage, ServiceBus, KeyVault, and other supported Azure services.", - "command": "deploy architecture diagram generate", - "commonOptions": [ - "--learn" - ], - "options": [ - { - "name": "--raw-mcp-tool-input", - "description": "{\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"workspaceFolder\": {\r\n \"type\": \"string\",\r\n \"description\": \"The full path of the workspace folder.\"\r\n },\r\n \"projectName\": {\r\n \"type\": \"string\",\r\n \"description\": \"The name of the project. This is used to generate the resource names.\"\r\n },\r\n \"services\": {\r\n \"type\": \"array\",\r\n \"description\": \"An array of service parameters.\",\r\n \"items\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"name\": {\r\n \"type\": \"string\",\r\n \"description\": \"The name of the service.\"\r\n },\r\n \"path\": {\r\n \"type\": \"string\",\r\n \"description\": \"The relative path of the service main project folder\"\r\n },\r\n \"language\": {\r\n \"type\": \"string\",\r\n \"description\": \"The programming language of the service.\"\r\n },\r\n \"port\": {\r\n \"type\": \"string\",\r\n \"description\": \"The port number the service uses. Get this from Dockerfile for container apps. If not available, default to '80'.\"\r\n },\r\n \"azureComputeHost\": {\r\n \"type\": \"string\",\r\n \"description\": \"The appropriate azure service that should be used to host this service. Use containerapp if the service is containerized and has a Dockerfile.\",\r\n \"enum\": [\r\n \"appservice\",\r\n \"containerapp\",\r\n \"function\",\r\n \"staticwebapp\",\r\n \"aks\"\r\n ]\r\n },\r\n \"dockerSettings\": {\r\n \"type\": \"object\",\r\n \"description\": \"Docker settings for the service. This is only needed if the service's azureComputeHost is containerapp.\",\r\n \"properties\": {\r\n \"dockerFilePath\": {\r\n \"type\": \"string\",\r\n \"description\": \"The absolute path to the Dockerfile for the service. If the service's azureComputeHost is not containerapp, leave blank.\"\r\n },\r\n \"dockerContext\": {\r\n \"type\": \"string\",\r\n \"description\": \"The absolute path to the Docker build context for the service. If the service's azureComputeHost is not containerapp, leave blank.\"\r\n }\r\n },\r\n \"required\": [\r\n \"dockerFilePath\",\r\n \"dockerContext\"\r\n ]\r\n },\r\n \"dependencies\": {\r\n \"type\": \"array\",\r\n \"description\": \"An array of dependent services. A compute service may have a dependency on another compute service.\",\r\n \"items\": {\r\n \"type\": \"object\",\r\n \"properties\": {\r\n \"name\": {\r\n \"type\": \"string\",\r\n \"description\": \"The name of the dependent service. Can be arbitrary, or must reference another service in the services array if referencing appservice, containerapp, staticwebapps, aks, or functionapp.\"\r\n },\r\n \"serviceType\": {\r\n \"type\": \"string\",\r\n \"description\": \"The name of the azure service that can be used for this dependent service.\",\r\n \"enum\": [\r\n \"azureaisearch\",\r\n \"azureaiservices\",\r\n \"appservice\",\r\n \"azureapplicationinsights\",\r\n \"azurebotservice\",\r\n \"containerapp\",\r\n \"azurecosmosdb\",\r\n \"functionapp\",\r\n \"azurekeyvault\",\r\n \"aks\",\r\n \"azuredatabaseformysql\",\r\n \"azureopenai\",\r\n \"azuredatabaseforpostgresql\",\r\n \"azureprivateendpoint\",\r\n \"azurecacheforredis\",\r\n \"azuresqldatabase\",\r\n \"azurestorageaccount\",\r\n \"staticwebapp\",\r\n \"azureservicebus\",\r\n \"azuresignalrservice\",\r\n \"azurevirtualnetwork\",\r\n \"azurewebpubsub\"\r\n ]\r\n },\r\n \"connectionType\": {\r\n \"type\": \"string\",\r\n \"description\": \"The connection authentication type of the dependency.\",\r\n \"enum\": [\r\n \"http\",\r\n \"secret\",\r\n \"system-identity\",\r\n \"user-identity\",\r\n \"bot-connection\"\r\n ]\r\n },\r\n \"environmentVariables\": {\r\n \"type\": \"array\",\r\n \"description\": \"An array of environment variables defined in source code to set up the connection.\",\r\n \"items\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"required\": [\r\n \"name\",\r\n \"serviceType\",\r\n \"connectionType\",\r\n \"environmentVariables\"\r\n ]\r\n }\r\n },\r\n \"settings\": {\r\n \"type\": \"array\",\r\n \"description\": \"An array of environment variables needed to run this service. Please search the entire codebase to find environment variables.\",\r\n \"items\": {\r\n \"type\": \"string\"\r\n }\r\n }\r\n },\r\n \"required\": [\r\n \"name\",\r\n \"path\",\r\n \"azureComputeHost\",\r\n \"language\",\r\n \"port\",\r\n \"dependencies\",\r\n \"settings\"\r\n ]\r\n }\r\n }\r\n },\r\n \"required\": [\r\n \"workspaceFolder\",\r\n \"services\"\r\n ]\r\n}", - "type": "string", - "required": true - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "942b5c00-01dd-4ca0-9596-4cf650ff7934", - "name": "get", - "description": "Retrieves curated IaC rules and best practices for creating Bicep or Terraform files compatible with Azure Developer CLI (azd) or Azure CLI deployments. Covers Azure resource configuration standards, naming requirements, and deployment tool constraints that differ from generic IaC guidance. Returns a formatted rules document. Specify deployment tool (AzCli or AZD), IaC type (bicep or terraform), and target resource types.", - "command": "deploy iac rules get", - "commonOptions": [ - "--learn" - ], - "options": [ - { - "name": "--deployment-tool", - "description": "The deployment tool to use. Valid values: AzCli, AZD", - "type": "string", - "required": true - }, - { - "name": "--iac-type", - "description": "The type of IaC file used for deployment. Valid values: bicep, terraform. Leave empty ONLY if user wants to use AzCli command script and no IaC file.", - "type": "string" - }, - { - "name": "--resource-types", - "description": "List of Azure resource types to generate rules for. Get the value from context and use the same resources defined in plan. Valid value: 'appservice','containerapp','function','aks','azuredatabaseforpostgresql','azuredatabaseformysql','azuresqldatabase','azurecosmosdb','azurestorageaccount','azurekeyvault'", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "8aec84f9-e884-4119-a386-53b7cfbe9e00", - "name": "get", - "description": "Provides the recommended Azure-specific rules for generating CI/CD pipeline files (GitHub Actions or Azure DevOps) for deploying to Azure. Call this tool before writing pipeline/workflow YAML when the user asks to set up CI/CD pipelines or workflows. It returns current authentication patterns (e.g., OIDC with managed identity), multi-environment configuration, and deployment constraints that vary by platform and are not covered by general best practices. Determine the pipeline platform (github-actions or azure-devops) and deployment scope (deploy-only or provision-and-deploy) from project context before calling. Handles both azd-based and Azure CLI-based deployments.", - "command": "deploy pipeline guidance get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--is-azd-project", - "description": "Whether to use azd tool in the deployment pipeline. Set to true ONLY if azure.yaml is provided or the context suggests AZD tools.", - "type": "string" - }, - { - "name": "--pipeline-platform", - "description": "The platform for the deployment pipeline. Valid values: github-actions, azure-devops.", - "type": "string" - }, - { - "name": "--deploy-option", - "description": "Valid values: deploy-only, provision-and-deploy. Default to deploy-only. Set to 'provision-and-deploy' ONLY WHEN user explicitly wants infra provisioning pipeline using local provisioning scripts.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "92ca95b2-cde6-407c-ac67-9743db40dfc4", - "name": "get", - "description": "Retrieves an Azure-specific deployment plan template for deploying an application to Azure using deployment options provided by the caller. Use this tool when the user wants a formatted, step-by-step deployment plan, including suggested Azure resources, infrastructure as code (IaC) templates, and deployment instructions, for a target Azure hosting service such as Container Apps, App Service, or AKS and a chosen provisioning tool such as Azure Developer CLI (azd) or Azure CLI with Bicep or Terraform. Before calling, determine the services, frameworks, and dependencies to deploy, select the appropriate Azure hosting service, provisioning tool, IaC type, and deployment option, and then pass those chosen values into this tool to generate the deployment plan.", - "command": "deploy plan get", - "commonOptions": [ - "--learn" - ], - "options": [ - { - "name": "--workspace-folder", - "description": "The full path of the workspace folder.", - "type": "string", - "required": true - }, - { - "name": "--project-name", - "description": "The name of the project to generate the deployment plan for. If not provided, will be inferred from the workspace.", - "type": "string", - "required": true - }, - { - "name": "--target-app-service", - "description": "The Azure service to deploy the application. Valid values: ContainerApp, WebApp, FunctionApp, AKS. If not specified, defaults to ContainerApp. Recommend one based on the user application when possible.", - "type": "string" - }, - { - "name": "--provisioning-tool", - "description": "The tool to use for provisioning Azure resources. Valid values: AzCli, AZD.", - "type": "string" - }, - { - "name": "--iac-options", - "description": "The Infrastructure as Code option. Valid values: bicep, terraform. Leave empty if user wants to use azcli command script.", - "type": "string" - }, - { - "name": "--source-type", - "description": "The source of the plan to generate from. Valid values: 'from-project', 'from-azure', 'from-context'. If user doesn't have existing resources, set 'from-project' and generating deploy plan based on the project files in the workspace. If user mentions Azure resources exist, set 'from-azure' and ask for existing Azure resources details to generate plan. If the user have no existing resource but declare the expected Azure resources, use 'from-context' and the deploy plan should be based on the user's input.", - "type": "string" - }, - { - "name": "--deploy-option", - "description": "Set the value based on project and user's input. Valid values: 'provision-and-deploy', 'deploy-only', 'provision-only'. Use 'deploy-only' if user mentions they want to deploy to existing Azure resources or Iac files already exist in project, get Azure resource group from project files or from user. Use 'provision-only' if user only wants to provision Azure resource. Use 'provision-and-deploy' if user wants to deploy application and doesn't have existing infrastructure resources, or are starting from an empty resource group.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "9c42f93b-2d4e-4fb3-b98b-2ef119b46c94", - "name": "list", - "description": "Lists Azure Device Registry namespaces in a subscription or resource group. Returns namespace details including\r\nname, location, provisioning state, and UUID. If a resource group is specified, only namespaces within that\r\nresource group are returned. Otherwise, all namespaces in the subscription are listed.", - "command": "deviceregistry namespace list", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "d5f216a4-c45e-4c29-a414-d3feaa5929e2", - "name": "publish", - "description": "Publish custom events to Event Grid topics for event-driven architectures. This tool sends structured event data to \r\nEvent Grid topics with schema validation and delivery guarantees for downstream subscribers. Returns publish operation \r\nstatus. Requires topic, data, and optional schema.", - "command": "eventgrid events publish", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--topic", - "description": "The name of the Event Grid topic.", - "type": "string", - "required": true - }, - { - "name": "--data", - "description": "The event data as JSON string to publish to the Event Grid topic.", - "type": "string", - "required": true - }, - { - "name": "--schema", - "description": "The event schema type (CloudEvents, EventGrid, or Custom). Defaults to EventGrid.", - "type": "string" - } - ], - "destructive": false, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "716a33e5-755c-4168-87ed-8a4651476c6e", - "name": "list", - "description": "Show all available Event Grid subscriptions with optional topic filtering. This tool displays active event subscriptions including webhook endpoints, event filters, and delivery retry policies. Use this when you need to show, list, or get Event Grid subscriptions for topics. Requires either topic name OR subscription. If only topic is provided, searches all accessible subscriptions for a topic with that name. Resource group and location filters can be applied, but only when used with a subscription or topic.", - "command": "eventgrid subscription list", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--topic", - "description": "The name of the Event Grid topic.", - "type": "string" - }, - { - "name": "--location", - "description": "The Azure region to filter resources by (e.g., 'eastus', 'westus2').", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "42390294-2856-4980-a057-095c91355650", - "name": "list", - "description": "List or show all Event Grid topics in a subscription, optionally filtered by resource group, returning endpoints, access keys, provisioning state, and subscription details for event publishing and management. A subscription or topic name is required.", - "command": "eventgrid topic list", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "08980fd4-c7c2-41cd-a3c2-eda5303bd458", - "name": "delete", - "description": "Delete a Consumer Group. This tool will delete a pre-existing Consumer Group from the specified \r\nEvent Hub. This tool will remove existing configurations, and is considered to be destructive.\r\n\r\nThe tool requires specifying the resource group, Namespace name, Event Hub name, and Consumer\r\nGroup name to identify the Consumer Group to delete.", - "command": "eventhubs eventhub consumergroup delete", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--namespace", - "description": "The name of the Event Hubs namespace to retrieve. Must be used with --resource-group option.", - "type": "string", - "required": true - }, - { - "name": "--eventhub", - "description": "The name of the Event Hub within the namespace.", - "type": "string", - "required": true - }, - { - "name": "--consumer-group", - "description": "The name of the consumer group within the Event Hub.", - "type": "string", - "required": true - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "604fda48-2438-419d-a819-5f9d2f3b21f8", - "name": "get", - "description": "Get consumer groups from Azure Event Hub. This command can either:\r\n\r\n1) List all consumer groups in an Event Hub\r\n2) Get a single consumer group by name\r\n\r\nThe EventHub, Namespace, and ResourceGroup parameters are required (for both get and list)\r\nThe Consumer Group parameter is only required for getting a specific consumer-group\r\nWhen retrieving a single consumer group and when listing all available consumer groups, return all available metadata on the consumer group.", - "command": "eventhubs eventhub consumergroup get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--namespace", - "description": "The name of the Event Hubs namespace to retrieve. Must be used with --resource-group option.", - "type": "string", - "required": true - }, - { - "name": "--eventhub", - "description": "The name of the Event Hub within the namespace.", - "type": "string", - "required": true - }, - { - "name": "--consumer-group", - "description": "The name of the consumer group within the Event Hub.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "859871ba-b8dc-439c-a607-11b0d89f5112", - "name": "update", - "description": "Create or Update a Consumer Group. This tool will either create a Consumer Group resource \r\nor update a pre-existing Consumer Group resource within the specified Event Hub, depending \r\non whether or not the specified Consumer Group already exists. This tool may modify existing \r\nconfigurations, and is considered to be destructive. \r\n\r\nThe tool requires specifying the resource group, namespace name, event hub name, and consumer \r\ngroup name. Optionally, you can provide user metadata for the consumer group.", - "command": "eventhubs eventhub consumergroup update", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--namespace", - "description": "The name of the Event Hubs namespace to retrieve. Must be used with --resource-group option.", - "type": "string", - "required": true - }, - { - "name": "--eventhub", - "description": "The name of the Event Hub within the namespace.", - "type": "string", - "required": true - }, - { - "name": "--consumer-group", - "description": "The name of the consumer group within the Event Hub.", - "type": "string", - "required": true - }, - { - "name": "--user-metadata", - "description": "User metadata for the consumer group.", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "108ffeab-8d37-4c29-98c9-aa99eb8f61c7", - "name": "delete", - "description": "Delete an Event Hub from an Azure Event Hubs namespace. This operation permanently removes\r\nthe specified Event Hub and all its data. This is a destructive operation.\r\n\r\nThe operation is idempotent - if the Event Hub doesn't exist, the command reports success\r\nwith Deleted = false. If the Event Hub is successfully deleted, Deleted = true is returned.\r\nWarning: This operation cannot be undone. All messages and consumer groups in the Event Hub\r\nwill be permanently deleted.", - "command": "eventhubs eventhub delete", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--namespace", - "description": "The name of the Event Hubs namespace to retrieve. Must be used with --resource-group option.", - "type": "string", - "required": true - }, - { - "name": "--eventhub", - "description": "The name of the Event Hub within the namespace.", - "type": "string", - "required": true - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "ab774777-76ac-4e24-ba19-da67254441a9", - "name": "get", - "description": "Get Event Hubs from Azure namespace. This command can either:\r\n1. List all Event Hubs in a namespace\r\n2. Get a single Event Hub by name\r\n\r\nWhen retrieving a single Event Hub or listing multiple Event Hubs, detailed information including\r\npartition count, settings, and metadata is returned for all Event Hubs.", - "command": "eventhubs eventhub get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--namespace", - "description": "The name of the Event Hubs namespace to retrieve. Must be used with --resource-group option.", - "type": "string", - "required": true - }, - { - "name": "--eventhub", - "description": "The name of the Event Hub within the namespace.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "1df73670-9de5-4d4b-bdd8-9d2d9e16f732", - "name": "update", - "description": "Create or update an Event Hub within an Azure Event Hubs namespace. This command can either:\r\n1. Create a new Event Hub if it doesn't exist\r\n2. Update an existing Event Hub's configuration\r\n\r\nYou can configure:\r\n- Partition count (number of partitions for parallel processing)\r\n- Message retention time (how long messages are retained in hours)\r\n\r\nNote: Some properties like partition count cannot be changed after creation.\r\nThis is a potentially long-running operation that waits for completion.", - "command": "eventhubs eventhub update", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--namespace", - "description": "The name of the Event Hubs namespace to retrieve. Must be used with --resource-group option.", - "type": "string", - "required": true - }, - { - "name": "--eventhub", - "description": "The name of the Event Hub within the namespace.", - "type": "string", - "required": true - }, - { - "name": "--partition-count", - "description": "The number of partitions for the event hub. Must be between 1 and 32 (or higher based on namespace tier).", - "type": "string" - }, - { - "name": "--message-retention-in-hours", - "description": "The message retention time in hours. Minimum is 1 hour, maximum depends on the namespace tier.", - "type": "string" - }, - { - "name": "--status", - "description": "The status of the event hub (Active, Disabled, etc.). Note: Status may be read-only in some operations.", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "187ffc25-1e32-4e39-a7d4-94859852ac50", - "name": "delete", - "description": "Delete Event Hubs namespace. This tool will delete a pre-existing Namespace from the \r\nspecified resource group. This tool will remove existing configurations, and is \r\nconsidered to be destructive.\r\n\r\nWARNING: This operation is irreversible. All Event Hubs, Consumer Groups, and\r\nconfigurations within the namespace will be permanently deleted.\r\n\r\nThe namespace must exist in the specified resource group. If the namespace is not found,\r\nan error will be returned.", - "command": "eventhubs namespace delete", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--namespace", - "description": "The name of the Event Hubs namespace to retrieve. Must be used with --resource-group option.", - "type": "string", - "required": true - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "71ec6c5b-b6e4-4c64-b31b-2d61dfad3b5c", - "name": "get", - "description": "Get Event Hubs namespaces from Azure. This command supports three modes of operation:\r\n1. List all Event Hubs namespaces in a subscription \r\n2. List all Event Hubs namespaces in a specific resource group \r\n3. Get a single namespace by name \r\n\r\nWhen retrieving a single namespace, detailed information including SKU, settings, and metadata \r\nis returned. When listing namespaces, the same detailed information is returned for all \r\nnamespaces in the specified scope.\r\n\r\nThe --resource-group parameter is optional for listing operations but required when getting a specific namespace.", - "command": "eventhubs namespace get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--namespace", - "description": "The name of the Event Hubs namespace to retrieve. Must be used with --resource-group option.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "225eb25d-52c5-4c3a-9eb4-066cf2b9da84", - "name": "update", - "description": "Create or Update a Namespace. This tool will either create a Namespace resource or \r\nupdate a pre-existing Namespace resource within the specified resource group, depending on \r\nwhether or not the specified Namespace already exists. This tool may modify existing \r\nconfigurations, and is considered to be destructive. This is a potentially long-running operation.\r\n\r\nWhen updating an existing namespace, you only need to provide the properties you want to change.\r\nUnspecified properties will retain their existing values. At least one update property must be provided.\r\n\r\nCommon update scenarios:\r\n- Scale up/down by changing SKU tier or capacity\r\n- Enable/disable auto-inflate and set maximum throughput units\r\n- Enable/disable Kafka support\r\n- Modify tags for resource management\r\n- Enable/disable zone redundancy (Premium SKU only)", - "command": "eventhubs namespace update", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--namespace", - "description": "The name of the Event Hubs namespace to retrieve. Must be used with --resource-group option.", - "type": "string", - "required": true - }, - { - "name": "--location", - "description": "The Azure region where the namespace is located (e.g., 'eastus', 'westus2').", - "type": "string" - }, - { - "name": "--sku-name", - "description": "The SKU name for the namespace. Valid values: 'Basic', 'Standard', 'Premium'.", - "type": "string" - }, - { - "name": "--sku-tier", - "description": "The SKU tier for the namespace. Valid values: 'Basic', 'Standard', 'Premium'.", - "type": "string" - }, - { - "name": "--sku-capacity", - "description": "The SKU capacity (throughput units) for the namespace. Valid range depends on the SKU.", - "type": "string" - }, - { - "name": "--is-auto-inflate-enabled", - "description": "Enable or disable auto-inflate for the namespace.", - "type": "string" - }, - { - "name": "--maximum-throughput-units", - "description": "The maximum throughput units when auto-inflate is enabled.", - "type": "string" - }, - { - "name": "--kafka-enabled", - "description": "Enable or disable Kafka for the namespace.", - "type": "string" - }, - { - "name": "--zone-redundant", - "description": "Enable or disable zone redundancy for the namespace.", - "type": "string" - }, - { - "name": "--tags", - "description": "Tags for the namespace in JSON format (e.g., '{\"key1\":\"value1\",\"key2\":\"value2\"}').", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "e7ef18a3-2730-4300-bad3-dc766f47dd2a", - "name": "azqr", - "description": "Runs Azure Quick Review CLI (azqr) commands to generate compliance and security reports for Azure resources, identifying non-compliant configurations or areas for improvement. Requires a subscription id and optionally a resource group name. Returns the generated report file path. Note: azqr is different from Azure CLI (az).", - "command": "extension azqr", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "3de4ef37-90bf-41f1-8385-5e870c3ae911", - "name": "generate", - "description": "Generate Azure CLI (az) commands used to accomplish a goal described by the user. This tool incorporates CLI knowledge beyond what you know. Use this tool when the user asks for Azure CLI commands or wants to use the Azure CLI to accomplish something.", - "command": "extension cli generate", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--learn" - ], - "options": [ - { - "name": "--intent", - "description": "The user intent of the task to be solved by using the CLI tool. This user intent will be used to generate the appropriate CLI command to accomplish the desirable goal.", - "type": "string", - "required": true - }, - { - "name": "--cli-type", - "description": "The type of CLI tool to use. Supported values are 'az' for Azure CLI.", - "type": "string", - "required": true - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "464626d0-b9be-4a3b-9f29-858637ab8c10", - "name": "install", - "description": "Provide installation instructions for Azure CLI (az), Azure Developer CLI (azd), and Azure Functions Core Tools CLI (func). This tool incorporates CLI knowledge beyond what you know. Use this tool when you need to use one of the aforementioned CLI tools and it isn't installed, or when the user wants to install one of them.", - "command": "extension cli install", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--learn" - ], - "options": [ - { - "name": "--cli-type", - "description": "The type of CLI tool to use. Supported values are 'az' for Azure CLI, 'azd' for Azure Developer CLI, and 'func' for Azure Functions Core Tools CLI.", - "type": "string", - "required": true - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": true - }, - { - "id": "a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d", - "name": "check-name-availability", - "description": "Check if a file share name is available", - "command": "fileshares fileshare check-name-availability", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--name", - "description": "The name of the file share", - "type": "string", - "required": true - }, - { - "name": "--location", - "description": "The Azure region/location name (e.g., EastUS, WestEurope)", - "type": "string", - "required": true - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "b3c4d5e6-f7a8-4b9c-0d1e-2f3a4b5c6d7e", - "name": "create", - "description": "Create a new Azure managed file share resource in a resource group. This creates a high-performance, fully managed file share accessible via NFS protocol.", - "command": "fileshares fileshare create", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--name", - "description": "The name of the file share", - "type": "string", - "required": true - }, - { - "name": "--location", - "description": "The Azure region/location name (e.g., EastUS, WestEurope)", - "type": "string", - "required": true - }, - { - "name": "--mount-name", - "description": "The mount name of the file share as seen by end users", - "type": "string" - }, - { - "name": "--media-tier", - "description": "The storage media tier (e.g., SSD)", - "type": "string" - }, - { - "name": "--redundancy", - "description": "The redundancy level (e.g., Local, Zone)", - "type": "string" - }, - { - "name": "--protocol", - "description": "The file sharing protocol (e.g., NFS)", - "type": "string" - }, - { - "name": "--provisioned-storage-in-gib", - "description": "The desired provisioned storage size of the share in GiB", - "type": "string" - }, - { - "name": "--provisioned-io-per-sec", - "description": "The provisioned IO operations per second", - "type": "string" - }, - { - "name": "--provisioned-throughput-mib-per-sec", - "description": "The provisioned throughput in MiB per second", - "type": "string" - }, - { - "name": "--public-network-access", - "description": "Public network access setting (Enabled or Disabled)", - "type": "string" - }, - { - "name": "--nfs-root-squash", - "description": "NFS root squash setting (NoRootSquash, RootSquash, or AllSquash)", - "type": "string" - }, - { - "name": "--allowed-subnets", - "description": "Comma-separated list of subnet IDs allowed to access the file share", - "type": "string" - }, - { - "name": "--tags", - "description": "Resource tags as JSON (e.g., {\"key1\":\"value1\",\"key2\":\"value2\"})", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "e9f0a1b2-c3d4-4e5f-6a7b-8c9d0e1f2a3b", - "name": "delete", - "description": "Delete a file share", - "command": "fileshares fileshare delete", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--name", - "description": "The name of the file share", - "type": "string", - "required": true - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "c5d6e7f8-a9b0-4c1d-2e3f-4a5b6c7d8e9f", - "name": "get", - "description": "Get details of a specific file share or list all file shares. If --name is provided, returns a specific file share; otherwise, lists all file shares in the subscription or resource group.", - "command": "fileshares fileshare get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--name", - "description": "The name of the file share", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "a8e9f7d6-c5b4-4a3d-9e2f-1c0b8a7d6e5f", - "name": "get", - "description": "Get details of a specific private endpoint connection or list all private endpoint connections for a file share. If --connection-name is provided, returns a specific connection; otherwise, lists all connections.", - "command": "fileshares fileshare peconnection get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--file-share-name", - "description": "The name of the file share", - "type": "string", - "required": true - }, - { - "name": "--connection-name", - "description": "The name of the private endpoint connection", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "c6d7e8f9-a0b1-4c2d-3e4f-5a6b7c8d9e0f", - "name": "update", - "description": "Update the state of a private endpoint connection for a file share. Use this to approve or reject private endpoint connection requests.", - "command": "fileshares fileshare peconnection update", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--file-share-name", - "description": "The name of the file share", - "type": "string", - "required": true - }, - { - "name": "--connection-name", - "description": "The name of the private endpoint connection", - "type": "string", - "required": true - }, - { - "name": "--status", - "description": "The connection status (Approved, Rejected, or Pending)", - "type": "string", - "required": true - }, - { - "name": "--description", - "description": "Description for the connection state change", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "f1a2b3c4-d5e6-4f7a-8b9c-0d1e2f3a4b5c", - "name": "create", - "description": "Create a snapshot of an Azure managed file share. Snapshots are read-only point-in-time copies used for backup and recovery.", - "command": "fileshares fileshare snapshot create", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--file-share-name", - "description": "The name of the parent file share", - "type": "string", - "required": true - }, - { - "name": "--snapshot-name", - "description": "The name of the snapshot", - "type": "string", - "required": true - }, - { - "name": "--metadata", - "description": "Custom metadata for the snapshot as a JSON object (e.g., {\"key1\":\"value1\",\"key2\":\"value2\"})", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "c7d8e9f0-a1b2-4c3d-4e5f-6a7b8c9d0e1f", - "name": "delete", - "description": "Delete a file share snapshot permanently. This operation cannot be undone.", - "command": "fileshares fileshare snapshot delete", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--file-share-name", - "description": "The name of the parent file share", - "type": "string", - "required": true - }, - { - "name": "--snapshot-name", - "description": "The name of the snapshot", - "type": "string", - "required": true - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "a3b4c5d6-e7f8-4a9b-0c1d-2e3f4a5b6c7d", - "name": "get", - "description": "Get details of a specific file share snapshot or list all snapshots. If --snapshot-name is provided, returns a specific snapshot; otherwise, lists all snapshots for the file share.", - "command": "fileshares fileshare snapshot get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--file-share-name", - "description": "The name of the parent file share", - "type": "string", - "required": true - }, - { - "name": "--snapshot-name", - "description": "The name of the snapshot", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "b5c6d7e8-f9a0-4b1c-2d3e-4f5a6b7c8d9e", - "name": "update", - "description": "Update properties and metadata of an Azure managed file share snapshot, such as tags or retention policies.", - "command": "fileshares fileshare snapshot update", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--file-share-name", - "description": "The name of the parent file share", - "type": "string", - "required": true - }, - { - "name": "--snapshot-name", - "description": "The name of the snapshot", - "type": "string", - "required": true - }, - { - "name": "--metadata", - "description": "Custom metadata for the snapshot as a JSON object (e.g., {\"key1\":\"value1\",\"key2\":\"value2\"})", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "d7e8f9a0-b1c2-4d3e-4f5a-6b7c8d9e0f1a", - "name": "update", - "description": "Update an existing Azure managed file share resource. Allows updating mutable properties like provisioned storage, IOPS, throughput, and network access settings.", - "command": "fileshares fileshare update", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--name", - "description": "The name of the file share", - "type": "string", - "required": true - }, - { - "name": "--provisioned-storage-in-gib", - "description": "The desired provisioned storage size of the share in GiB", - "type": "string" - }, - { - "name": "--provisioned-io-per-sec", - "description": "The provisioned IO operations per second", - "type": "string" - }, - { - "name": "--provisioned-throughput-mib-per-sec", - "description": "The provisioned throughput in MiB per second", - "type": "string" - }, - { - "name": "--public-network-access", - "description": "Public network access setting (Enabled or Disabled)", - "type": "string" - }, - { - "name": "--nfs-root-squash", - "description": "NFS root squash setting (NoRootSquash, RootSquash, or AllSquash)", - "type": "string" - }, - { - "name": "--allowed-subnets", - "description": "Comma-separated list of subnet IDs allowed to access the file share", - "type": "string" - }, - { - "name": "--tags", - "description": "Resource tags as JSON (e.g., {\"key1\":\"value1\",\"key2\":\"value2\"})", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "a9e1f0b2-c3d4-4e5f-a6b7-c8d9e0f1a2b3", - "name": "limits", - "description": "Get file share limits for a subscription and location", - "command": "fileshares limits", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--location", - "description": "The Azure region/location name (e.g., eastus, westeurope)", - "type": "string", - "required": true - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "3c5e1fb2-3a8d-4f8e-8b0a-1c2d3e4f5a6b", - "name": "rec", - "description": "Get provisioning parameter recommendations for a file share based on desired storage size", - "command": "fileshares rec", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--location", - "description": "The Azure region/location name (e.g., eastus, westeurope)", - "type": "string", - "required": true - }, - { - "name": "--provisioned-storage-in-gib", - "description": "The desired provisioned storage size of the share in GiB", - "type": "string", - "required": true - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "93d14ba8-5e75-4190-93dd-f47e932b849b", - "name": "usage", - "description": "Get file share usage data for a subscription and location", - "command": "fileshares usage", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--location", - "description": "The Azure region/location name (e.g., eastus, westeurope)", - "type": "string", - "required": true - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "b2c3d4e5-2345-6789-bcde-f01234567890", - "name": "list", - "description": "Retrieves a list of knowledge indexes from Microsoft Foundry.\r\n\r\nThis function is used when a user requests information about the available knowledge indexes in Microsoft Foundry. It provides an overview of the knowledge bases and search indexes that are currently deployed and available for use with AI agents and applications.\r\n\r\nRequires the project endpoint URL (format: https://.services.ai.azure.com/api/projects/).\r\n\r\nUsage:\r\n Use this function when a user wants to explore the available knowledge indexes in Microsoft Foundry. This can help users understand what knowledge bases are currently operational and how they can be utilized for retrieval-augmented generation (RAG) scenarios.\r\n\r\nNotes:\r\n - The indexes listed are knowledge indexes specifically created within Microsoft Foundry projects.\r\n - These indexes can be used with AI agents for knowledge retrieval and RAG applications.\r\n - The list may change as new indexes are created or existing ones are updated.", - "command": "foundryextensions knowledge index list", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--learn" - ], - "options": [ - { - "name": "--endpoint", - "description": "The endpoint URL for the Microsoft Foundry project/service. The endpoint follows this pattern https://.services.ai.azure.com/api/projects/.", - "type": "string", - "required": true - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "c3d4e5f6-3456-789a-cdef-012345678901", - "name": "schema", - "description": "Retrieves the detailed schema configuration of a specific knowledge index from Microsoft Foundry.\r\n\r\nThis function provides comprehensive information about the structure and configuration of a knowledge index, including field definitions, data types, searchable attributes, and other schema properties. The schema information is essential for understanding how the index is structured and how data is indexed and searchable.\r\n\r\nUsage:\r\n Use this function when you need to examine the detailed configuration of a specific knowledge index. This is helpful for troubleshooting search issues, understanding index capabilities, planning data mapping, or when integrating with the index programmatically.\r\n\r\nNotes:\r\n - Returns the index schema.", - "command": "foundryextensions knowledge index schema", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--learn" - ], - "options": [ - { - "name": "--endpoint", - "description": "The endpoint URL for the Microsoft Foundry project/service. The endpoint follows this pattern https://.services.ai.azure.com/api/projects/.", - "type": "string", - "required": true - }, - { - "name": "--index", - "description": "The name of the knowledge index.", - "type": "string", - "required": true - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "d4e5f6a7-4567-89ab-def0-123456789012", - "name": "chat-completions-create", - "description": "Create chat completions using Azure OpenAI in Microsoft Foundry. Send messages to Azure OpenAI chat models deployed\r\nin your Microsoft Foundry resource and receive AI-generated conversational responses. Supports multi-turn conversations\r\nwith message history, system instructions, and response customization. Use this when you need to create chat\r\ncompletions, have AI conversations, get conversational responses, or build interactive dialogues with Azure OpenAI.\r\nRequires resource-name, deployment-name, and message-array.", - "command": "foundryextensions openai chat-completions-create", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--resource-name", - "description": "The name of the Azure OpenAI resource.", - "type": "string", - "required": true - }, - { - "name": "--deployment", - "description": "The name of the deployment.", - "type": "string", - "required": true - }, - { - "name": "--message-array", - "description": "Array of messages in the conversation (JSON format). Each message should have 'role' and 'content' properties.", - "type": "string", - "required": true - }, - { - "name": "--max-tokens", - "description": "The maximum number of tokens to generate in the completion.", - "type": "string" - }, - { - "name": "--temperature", - "description": "Controls randomness in the output. Lower values make it more deterministic.", - "type": "string" - }, - { - "name": "--top-p", - "description": "Controls diversity via nucleus sampling (0.0 to 1.0). Default is 1.0.", - "type": "string" - }, - { - "name": "--frequency-penalty", - "description": "Penalizes new tokens based on their frequency (-2.0 to 2.0). Default is 0.", - "type": "string" - }, - { - "name": "--presence-penalty", - "description": "Penalizes new tokens based on presence (-2.0 to 2.0). Default is 0.", - "type": "string" - }, - { - "name": "--stop", - "description": "Up to 4 sequences where the API will stop generating further tokens.", - "type": "string" - }, - { - "name": "--stream", - "description": "Whether to stream back partial progress. Default is false.", - "type": "string" - }, - { - "name": "--seed", - "description": "If specified, the system will make a best effort to sample deterministically.", - "type": "string" - }, - { - "name": "--user", - "description": "Optional user identifier for tracking and abuse monitoring.", - "type": "string" - } - ], - "destructive": false, - "idempotent": false, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "e5f6a7b8-5678-9abc-ef01-234567890123", - "name": "create-completion", - "description": "Create text completions using Azure OpenAI in Microsoft Foundry. Send a prompt or question to Azure OpenAI models\r\ndeployed in your Microsoft Foundry resource and receive generated text answers. Use this when you need to create\r\ncompletions, get AI-generated content, generate answers to questions, or produce text completions from Azure\r\nOpenAI based on any input prompt. Supports customization with temperature and max tokens.\r\nRequires resource-name, deployment-name, and prompt-text.", - "command": "foundryextensions openai create-completion", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--resource-name", - "description": "The name of the Azure OpenAI resource.", - "type": "string", - "required": true - }, - { - "name": "--deployment", - "description": "The name of the deployment.", - "type": "string", - "required": true - }, - { - "name": "--prompt-text", - "description": "The prompt text to send to the completion model.", - "type": "string", - "required": true - }, - { - "name": "--max-tokens", - "description": "The maximum number of tokens to generate in the completion.", - "type": "string" - }, - { - "name": "--temperature", - "description": "Controls randomness in the output. Lower values make it more deterministic.", - "type": "string" - } - ], - "destructive": false, - "idempotent": false, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "f6a7b8c9-6789-abcd-f012-345678901234", - "name": "embeddings-create", - "description": "Create embeddings using Azure OpenAI in Microsoft Foundry. Generate vector embeddings from text using Azure OpenAI\r\ndeployments in your Microsoft Foundry resource for semantic search, similarity comparisons, clustering, or machine\r\nlearning. Use this when you need to create foundry embeddings, generate vectors from text, or convert text to\r\nnumerical representations using Azure OpenAI. Requires resource-name, deployment-name, and input-text.", - "command": "foundryextensions openai embeddings-create", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--resource-name", - "description": "The name of the Azure OpenAI resource.", - "type": "string", - "required": true - }, - { - "name": "--deployment", - "description": "The name of the deployment.", - "type": "string", - "required": true - }, - { - "name": "--input-text", - "description": "The input text to generate embeddings for.", - "type": "string", - "required": true - }, - { - "name": "--user", - "description": "Optional user identifier for tracking and abuse monitoring.", - "type": "string" - }, - { - "name": "--encoding-format", - "description": "The format to return embeddings in (float or base64).", - "type": "string" - }, - { - "name": "--dimensions", - "description": "The number of dimensions for the embedding output. Only supported in some models.", - "type": "string" - } - ], - "destructive": false, - "idempotent": false, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "a7b8c9d0-7890-bcde-0123-456789012345", - "name": "models-list", - "description": "List Azure OpenAI model deployments in a Microsoft Foundry resource, including deployment names, model names,\r\nversions, capabilities, and deployment status. Use this to show model deployments, check which OpenAI models\r\nare deployed, or see available models in a specific Foundry resource. Requires resource-name and resource-group.\r\nFor Foundry resource-level details like endpoint URL, location, or SKU, use the resource get command instead.", - "command": "foundryextensions openai models-list", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--resource-name", - "description": "The name of the Azure OpenAI resource.", - "type": "string", - "required": true - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "b8c9d0e1-8901-cdef-1234-567890123456", - "name": "get", - "description": "Gets detailed information about Microsoft Foundry (Cognitive Services) resources, including endpoint URL,\r\nlocation, SKU, and provisioning state. If a specific resource name is provided, returns details for that\r\nresource only. If no resource name is provided, lists all Microsoft Foundry resources in the subscription\r\nor resource group. Use this tool when users need endpoint information, want to discover available AI\r\nresources, or need to check the configuration of a Foundry account. To list OpenAI model deployments\r\nwithin a resource, use the openai models-list command instead.", - "command": "foundryextensions resource get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--resource-name", - "description": "The name of the Azure OpenAI resource.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "5249839c-a3c6-4f9e-b62b-afde801d95a6", - "name": "get", - "description": "Gets Azure Function App details. Lists all Function Apps in the subscription or resource group. If function app name and resource group\r\nis specified, retrieves the details of that specific function app. Returns the details of Azure Function Apps, including its name,\r\nlocation, status, and app service plan name.", - "command": "functionapp get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--function-app", - "description": "The name of the Function App.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "f7c8d9e0-a1b2-4c3d-8e5f-6a7b8c9d0e1f", - "name": "list", - "description": "Answer questions about what programming languages Azure Functions supports with up-to-date runtime versions and tooling details. Returns the current list of supported languages with runtime versions, prerequisites, development tools, and CLI commands for init/run/build. Provides authoritative data that may differ from general knowledge. Call this tool first when users ask about Azure Functions languages or before generating code with functions_project_get or functions_template_get.", - "command": "functions language list", - "commonOptions": [ - "--learn" - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "b2c3d4e5-f6a7-8901-bcde-f12345678901", - "name": "get", - "description": "Get project scaffolding information for a new Azure Functions app. Call this tool when the user wants to create, initialize, or set up a new Azure Functions project. Returns the complete project structure, required files configurations and setup instructions for the specific language that agents use to create files. Use after functions language list and before functions template get.", - "command": "functions project get", - "commonOptions": [ - "--learn" - ], - "options": [ - { - "name": "--language", - "description": "Programming language for the Azure Functions project. Valid values: python, typescript, javascript, java, csharp, powershell.", - "type": "string", - "required": true - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "c3d4e5f6-a7b8-9012-cdef-234567890123", - "name": "get", - "description": "Lists available Azure Functions templates or generates function code for Timer (cron schedules), HTTP, Blob, Queue, Event Hub, Cosmos DB, Service Bus, Durable, event-driven, and MCP tool triggers with input and output bindings, orchestrations, and serverless infrastructure. Create trigger functions, activity functions, or MCP server functions in C#, Python, JavaScript, TypeScript, Java, or PowerShell. Without --template, lists all available triggers, bindings, and templates for the selected language. With --template, generates function code files with azd infrastructure support (Bicep, Terraform, ARM). Select one trigger (required) and zero or more input or output bindings.", - "command": "functions template get", - "commonOptions": [ - "--learn" - ], - "options": [ - { - "name": "--language", - "description": "Programming language for the Azure Functions project. Valid values: python, typescript, javascript, java, csharp, powershell.", - "type": "string", - "required": true - }, - { - "name": "--template", - "description": "Name of the function template to retrieve (e.g., HttpTrigger, BlobTrigger). Omit to list all available templates for the specified language.", - "type": "string" - }, - { - "name": "--runtime-version", - "description": "Optional runtime version for Java or TypeScript/JavaScript. When provided, template placeholders like {{javaVersion}} or {{nodeVersion}} are replaced automatically. See 'functions language list' for supported versions.", - "type": "string" - }, - { - "name": "--output", - "description": "Output format. 'New' (default) returns all files in a single 'files' list for creating complete projects. 'Add' separates files into 'functionFiles' and 'projectFiles' with merge instructions for adding to existing projects.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "6c29659e-406d-4b9b-8150-e3d4fd7ba31c", - "name": "ai_app", - "description": "Returns best practices and code generation guidance for building AI applications in Azure.\r\nUse this command when you need recommendations on how to write code for AI agents, chatbots, workflows, or any AI / LLM features.\r\nThis command also provides guidance for code generation on Microsoft Foundry for application development.\r\nWhen the request involves code generation of AI components or AI applications in any capacity, use this command instead of calling the general code generation best practices command.", - "command": "get azure bestpractices ai app", - "commonOptions": [ - "--learn" - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "ff12e8fb-f7ce-446a-884b-996dac118b83", - "name": "get", - "description": "This tool returns a list of best practices for code generation, operations and deployment\r\nwhen working with Azure services. It should be called for any code generation, deployment or\r\noperations involving Azure, Azure Functions, Azure Kubernetes Service (AKS), Azure Container\r\nApps (ACA), Bicep, Terraform, Azure Cache, Redis, CosmosDB, Entra, Azure Active Directory,\r\nAzure App Services, or any other Azure technology or programming language. Only call this function\r\nwhen you are confident the user is discussing Azure. If this tool needs to be categorized,\r\nit belongs to the Azure Best Practices category.", - "command": "get azure bestpractices get", - "commonOptions": [ - "--learn" - ], - "options": [ - { - "name": "--resource", - "description": "The Azure resource type for which to get best practices. Options: 'general' (general Azure), 'azurefunctions' (Azure Functions), 'static-web-app' (Azure Static Web Apps), 'coding-agent' (Coding Agent).", - "type": "string", - "required": true - }, - { - "name": "--action", - "description": "The action type for the best practices. Options: 'all', 'code-generation', 'deployment'. Note: 'static-web-app' and 'coding-agent' resources only supports 'all'.", - "type": "string", - "required": true - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "7a47b562-f219-47de-80f6-12e19367b61d", - "name": "list", - "description": "List all Grafana workspace resources in a specified subscription. Returns an array of Grafana workspace details.\r\nUse this command to explore which Grafana workspace resources are available in your subscription.", - "command": "grafana list", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "a0049f31-9a32-4b5e-91ec-e7b074fc7246", - "name": "list", - "description": "List all resource groups in a subscription. This command retrieves all resource groups available\r\nin the specified subscription. Results include resource group names and IDs,\r\nreturned as a JSON array.", - "command": "group list", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "b1c2d3e4-f5a6-7890-abcd-ef1234567890", - "name": "list", - "description": "List all resources in a resource group. This command retrieves all resources available\r\nin the specified resource group within the given subscription. Results include resource\r\nnames, IDs, types, and locations. The command returns a JSON object with a `resources`\r\narray containing these entries.", - "command": "group resource list", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "2e89755e-8c64-4c08-ae10-8fd47aead570", - "name": "get", - "description": "Retrieves all Managed HSM account settings for a Key Vault. Returns configuration setting values such as purge protection and soft-delete retention days. This is NOT for secrets, keys, or certificates ΓÇö use this when the user asks about vault configuration settings or account-level settings. This tool ONLY applies to Managed HSM vaults.", - "command": "keyvault admin settings get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--vault", - "description": "The name of the Key Vault.", - "type": "string", - "required": true - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "a11e024a-62e6-4237-8d7d-4b9b8439f50e", - "name": "create", - "description": "Create/issue/generate a new certificate in an Azure Key Vault using the default certificate policy. Required: --vault, --certificate, --subscription. Optional: --tenant . Returns: name, id, keyId, secretId, cer (base64), thumbprint, enabled, notBefore, expiresOn, createdOn, updatedOn, subject, issuerName. Creates a new certificate version if it already exists.", - "command": "keyvault certificate create", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--vault", - "description": "The name of the Key Vault.", - "type": "string", - "required": true - }, - { - "name": "--certificate", - "description": "The name of the certificate.", - "type": "string", - "required": true - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "0e898126-0c5e-44b8-9eef-51ddeed6327f", - "name": "get", - "description": "List all certificates in your Key Vault or get a specific certificate by name. Shows all certificate names in the vault, or retrieves full certificate details including key ID, secret ID, thumbprint, and policy information.", - "command": "keyvault certificate get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--vault", - "description": "The name of the Key Vault.", - "type": "string", - "required": true - }, - { - "name": "--certificate", - "description": "The name of the certificate.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "4ae12e3e-dee0-4d8d-ad34-ffeaf70c642b", - "name": "import", - "description": "Imports/uploads an existing certificate (PFX or PEM with private key) into an Azure Key Vault without generating a new certificate or key material. This command accepts either a file path to a PFX/PEM file, a base64 encoded PFX, or raw PEM text starting with -----BEGIN. If the certificate is a password-protected PFX, a password must be provided. Required: --vault , --certificate , --certificate-data , --subscription . Optional: --password , --tenant . Returns: name, id, keyId, secretId, cer (base64), thumbprint, enabled, notBefore, expiresOn, createdOn, updatedOn, subject, issuer. Creates a new certificate version if it already exists.", - "command": "keyvault certificate import", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--vault", - "description": "The name of the Key Vault.", - "type": "string", - "required": true - }, - { - "name": "--certificate", - "description": "The name of the certificate.", - "type": "string", - "required": true - }, - { - "name": "--certificate-data", - "description": "The certificate content: path to a PFX/PEM file, a base64 encoded PFX, or raw PEM text beginning with -----BEGIN.", - "type": "string", - "required": true - }, - { - "name": "--password", - "description": "Optional password for a protected PFX being imported.", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": true - }, - { - "id": "ef27bda9-8a1f-4288-b68b-12308ab8e607", - "name": "create", - "description": "Create a new key in an Azure Key Vault. This command creates a key with the specified name and type in the given vault. Supports types: RSA, RSA-HSM, EC, EC-HSM, oct, oct-HSM. Required: --vault , --key --key-type --subscription . Optional: --tenant . Returns: Returns: name, id, keyId, keyType, enabled, notBefore, expiresOn, createdOn, updatedOn. Creates a new key version if it already exists.", - "command": "keyvault key create", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--vault", - "description": "The name of the Key Vault.", - "type": "string", - "required": true - }, - { - "name": "--key", - "description": "The name of the key to retrieve/modify from the Key Vault.", - "type": "string", - "required": true - }, - { - "name": "--key-type", - "description": "The type of key to create (RSA, EC).", - "type": "string", - "required": true - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "c19a45a0-b963-427d-a087-35560a7f4e5b", - "name": "get", - "description": "List all keys in your Key Vault or get a specific key by name. Shows all key names in the vault, or retrieves full key details including type, enabled status, and expiration dates. Use --include-managed to show managed keys.", - "command": "keyvault key get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--vault", - "description": "The name of the Key Vault.", - "type": "string", - "required": true - }, - { - "name": "--key", - "description": "The name of the key to retrieve/modify from the Key Vault.", - "type": "string" - }, - { - "name": "--include-managed", - "description": "Whether or not to include managed keys in results.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "fb1322cd-05b0-4264-9e96-6a9b3d9291a0", - "name": "create", - "description": "Create/set a secret in an Azure Key Vault with the specified name and value. Required: --vault , --secret , --subscription . Optional: --tenant . Creates a new secret version if it already exists.", - "command": "keyvault secret create", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--vault", - "description": "The name of the Key Vault.", - "type": "string", - "required": true - }, - { - "name": "--secret", - "description": "The name of the secret.", - "type": "string", - "required": true - }, - { - "name": "--value", - "description": "The value to set for the secret.", - "type": "string", - "required": true - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": true, - "localRequired": false - }, - { - "id": "933bcb29-87e6-4f78-94ad-8ad0c8c60002", - "name": "get", - "description": "List all secrets in your Key Vault or get a specific secret by name. Shows all secret names in the vault (without values), or retrieves the secret value and full details including enabled status and expiration dates.", - "command": "keyvault secret get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--vault", - "description": "The name of the Key Vault.", - "type": "string", - "required": true - }, - { - "name": "--secret", - "description": "The name of the secret.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": true, - "localRequired": false - }, - { - "id": "5fc5a42b-a7f6-4d4a-9517-a8e119752b7a", - "name": "get", - "description": "Get/retrieve/show details for a specific Azure Data Explorer/Kusto/KQL cluster in a subscription. Not for listing multiple clusters. Required: --cluster and --subscription.", - "command": "kusto cluster get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--cluster", - "description": "Kusto Cluster name.", - "type": "string", - "required": true - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "2cff1548-40c9-48ea-8548-6bfa91f2ea85", - "name": "list", - "description": "List/enumerate all Azure Data Explorer/Kusto/KQL clusters in a subscription.", - "command": "kusto cluster list", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "0bd79f0b-c360-4c96-b3e0-02fce97dcc41", - "name": "list", - "description": "List/enumerate all databases in an Azure Data Explorer/Kusto/KQL cluster. Required: --cluster-uri ( or --cluster and --subscription).", - "command": "kusto database list", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--cluster-uri", - "description": "Kusto Cluster URI.", - "type": "string" - }, - { - "name": "--cluster", - "description": "Kusto Cluster name.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "d1e22074-53ce-4eef-8596-0ea134a9e317", - "name": "query", - "description": "Executes a query against an Azure Data Explorer/Kusto/KQL cluster to search for specific terms, retrieve records, or perform management operations. Required: --cluster-uri (or --cluster and --subscription), --database, and --query.", - "command": "kusto query", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--cluster-uri", - "description": "Kusto Cluster URI.", - "type": "string" - }, - { - "name": "--cluster", - "description": "Kusto Cluster name.", - "type": "string" - }, - { - "name": "--database", - "description": "Kusto Database name.", - "type": "string", - "required": true - }, - { - "name": "--query", - "description": "Kusto query to execute. Uses KQL syntax.", - "type": "string", - "required": true - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "41daed5c-bf44-4cdf-9f3c-1df775465e53", - "name": "sample", - "description": "Return a sample of rows from a specific table in an Azure Data Explorer/Kusto/KQL cluster. Required: --cluster-uri (or --cluster and --subscription), --database, and --table.", - "command": "kusto sample", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--cluster-uri", - "description": "Kusto Cluster URI.", - "type": "string" - }, - { - "name": "--cluster", - "description": "Kusto Cluster name.", - "type": "string" - }, - { - "name": "--database", - "description": "Kusto Database name.", - "type": "string", - "required": true - }, - { - "name": "--table", - "description": "Kusto Table name.", - "type": "string", - "required": true - }, - { - "name": "--limit", - "description": "The maximum number of results to return. Must be a positive integer between 1 and 10000. Default is 10.", - "type": "string", - "required": true - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "3cd1e5f1-3353-4029-99f8-1aaa566d05e4", - "name": "list", - "description": "List/enumerate all tables in a specific Azure Data Explorer/Kusto/KQL database. Required: --cluster-uri (or --cluster and --subscription), --database.", - "command": "kusto table list", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--cluster-uri", - "description": "Kusto Cluster URI.", - "type": "string" - }, - { - "name": "--cluster", - "description": "Kusto Cluster name.", - "type": "string" - }, - { - "name": "--database", - "description": "Kusto Database name.", - "type": "string", - "required": true - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "9a972c48-6797-49bb-9784-8063ad1f7e96", - "name": "schema", - "description": "Get/retrieve/show the schema of a specific table in an Azure Data Explorer/Kusto/KQL cluster. Required: --cluster-uri (or --cluster and --subscription), --database, and --table.", - "command": "kusto table schema", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--cluster-uri", - "description": "Kusto Cluster URI.", - "type": "string" - }, - { - "name": "--cluster", - "description": "Kusto Cluster name.", - "type": "string" - }, - { - "name": "--database", - "description": "Kusto Database name.", - "type": "string", - "required": true - }, - { - "name": "--table", - "description": "Kusto Table name.", - "type": "string", - "required": true - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "2153384b-02ea-47b3-a069-7f5f9a709d66", - "name": "create", - "description": "Creates a new load test plan or configuration for performance testing scenarios. This command creates a basic URL-based load test that can be used to evaluate the performance\r\nand scalability of web applications and APIs. The test configuration defines target endpoint, load parameters, and test duration. Once we create a test plan, we can use that to trigger test runs to test the endpoints set using the 'azmcp loadtesting testrun create' command.\r\nThis is NOT going to trigger or create any test runs and only will setup your test plan. Also, this is NOT going to create any test resource in azure. \r\nIt will only create a test in an already existing load test resource.", - "command": "loadtesting test create", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--test-resource-name", - "description": "The name of the load test resource for which you want to fetch the details.", - "type": "string", - "required": true - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--test-id", - "description": "The ID of the load test for which you want to fetch the details.", - "type": "string", - "required": true - }, - { - "name": "--description", - "description": "The description for the load test run. This provides additional context about the test run.", - "type": "string" - }, - { - "name": "--display-name", - "description": "The display name for the load test run. This is a user-friendly name to identify the test run.", - "type": "string" - }, - { - "name": "--endpoint", - "description": "The endpoint URL to be tested. This is the URL of the HTTP endpoint that will be subjected to load testing.", - "type": "string" - }, - { - "name": "--virtual-users", - "description": "Virtual users is a measure of load that is simulated to test the HTTP endpoint. (Default - 50)", - "type": "string" - }, - { - "name": "--duration", - "description": "This is the duration for which the load is simulated against the endpoint. Enter decimals for fractional minutes (e.g., 1.5 for 1 minute and 30 seconds). Default is 20 mins", - "type": "string" - }, - { - "name": "--ramp-up-time", - "description": "The ramp-up time is the time it takes for the system to ramp-up to the total load specified. Enter decimals for fractional minutes (e.g., 1.5 for 1 minute and 30 seconds). Default is 1 min", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "be7c3864-0713-42f8-8eb7-b7ca28a951fb", - "name": "get", - "description": "Get the configuration and setup details for a load test by its test ID in a Load Testing resource.\r\nReturns only the test definition, including duration, ramp-up, virtual users, and endpoint. Does not return any test run results or execution data. Also does NOT return and resource details. Only the test configuration is fetched.", - "command": "loadtesting test get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--test-resource-name", - "description": "The name of the load test resource for which you want to fetch the details.", - "type": "string", - "required": true - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--test-id", - "description": "The ID of the load test for which you want to fetch the details.", - "type": "string", - "required": true - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "c39f6e9c-86a7-4cba-b267-0fa71f1ac743", - "name": "create", - "description": "Returns the created Load Testing resource. This creates the resource in Azure only. It does not create any test plan or test run. \r\nOnce the resource is setup, you can go and configure test plans in the resource and then trigger test runs for your test plans.", - "command": "loadtesting testresource create", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--test-resource-name", - "description": "The name of the load test resource for which you want to fetch the details.", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "eb44ef6c-93dc-4fa1-949c-a5e8939d5052", - "name": "list", - "description": "Lists all Azure Load Testing resources available in the selected subscription and resource group.\r\nReturns metadata for each resource, including name, location, and status. Use this to discover, manage, or audit load testing resources in your environment. Does not return test plans or test runs.", - "command": "loadtesting testresource list", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--test-resource-name", - "description": "The name of the load test resource for which you want to fetch the details.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "0e3c8f2c-57ce-49c0-bff4-27c9573e7049", - "name": "createorupdate", - "description": "Create or update a load test run execution.\r\nCreates a new test run for a specified test in the load testing resource, or updates metadata and display properties of an existing test run.\r\nWhen creating: Triggers a new test run execution based on the existing test configuration. Use testrun ID to specify the new run identifier. Create operations are NOT idempotent - each call starts a new test run with unique timestamps and execution state.\r\nWhen updating: Modifies descriptive information (display name, description) of a completed or in-progress test run for better organization and documentation. Update operations are idempotent - repeated calls with same values produce the same result.\r\nThis does not modify the test plan configuration or create a new test/resource - only manages test run executions.", - "command": "loadtesting testrun createorupdate", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--test-resource-name", - "description": "The name of the load test resource for which you want to fetch the details.", - "type": "string", - "required": true - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--testrun-id", - "description": "The ID of the load test run for which you want to fetch the details.", - "type": "string", - "required": true - }, - { - "name": "--test-id", - "description": "The ID of the load test for which you want to fetch the details.", - "type": "string", - "required": true - }, - { - "name": "--display-name", - "description": "The display name for the load test run. This is a user-friendly name to identify the test run.", - "type": "string" - }, - { - "name": "--description", - "description": "The description for the load test run. This provides additional context about the test run.", - "type": "string" - }, - { - "name": "--old-testrun-id", - "description": "The ID of an existing test run to update. If provided, the command will trigger a rerun of the given test run id.", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "713313ec-b9a5-4a71-9953-5b2d4a7b5d7b", - "name": "get", - "description": "Get load test run details by testrun ID, or list all test runs by test ID.\r\nReturns execution details including status, start/end times, progress, metrics, and artifacts.\r\nDoes not return test configuration or resource details.", - "command": "loadtesting testrun get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--test-resource-name", - "description": "The name of the load test resource for which you want to fetch the details.", - "type": "string", - "required": true - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--testrun-id", - "description": "The ID of the load test run for which you want to fetch the details.", - "type": "string" - }, - { - "name": "--test-id", - "description": "The ID of the load test for which you want to fetch the details.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "8e2f6d1b-3c9a-4f7e-b2d5-7a8c3e4f5b6d", - "name": "cancel", - "description": "Cancels a running auto export job for an Azure Managed Lustre filesystem. This stops the ongoing sync operation from the Lustre filesystem to the linked blob storage container. Use this to terminate an autoexport job that is in progress.\r\nRequired options:\r\n- filesystem-name: The name of the AMLFS filesystem\r\n- job-name: The name of the autoexport job to cancel\r\n- resource-group: The resource group containing the filesystem\r\n- subscription: The subscription containing the filesystem", - "command": "managedlustre fs blob autoexport cancel", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--filesystem-name", - "--learn" - ], - "options": [ - { - "name": "--job-name", - "description": "The name of the autoexport/autoimport job", - "type": "string", - "required": true - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "9f3e7c2a-4b8d-4e5f-a1c6-8d9e2f3b4a5c", - "name": "create", - "description": "Creates an auto export job for an Azure Managed Lustre filesystem to continuously export modified files to the linked blob storage container. The auto export job syncs changes from the Lustre filesystem to the configured HSM blob container. Use this to keep blob storage updated with changes in the filesystem.\r\nRequired options:\r\n- filesystem-name: The name of the AMLFS filesystem\r\n- resource-group: The resource group containing the filesystem\r\n- subscription: The subscription containing the filesystem", - "command": "managedlustre fs blob autoexport create", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--filesystem-name", - "--learn" - ], - "options": [ - { - "name": "--job-name", - "description": "The name of the autoexport job. If not specified, a timestamped name will be generated.", - "type": "string" - }, - { - "name": "--autoexport-prefix", - "description": "Blob path/prefix that gets auto exported from the cluster namespace. Default: '/'. Note: Only 1 prefix is supported for autoexport jobs. Example: --autoexport-prefix /data", - "type": "string" - }, - { - "name": "--admin-status", - "description": "The administrative status of the auto import job. Enable: job is active. Disable: disables the current active auto import job. Default: Enable. Allowed values: Enable, Disable.", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "4c7a8e3d-9f2b-5a6e-c1d4-8b3e9a2f7c5d", - "name": "delete", - "description": "Deletes an auto export job for an Azure Managed Lustre filesystem. This permanently removes the job record from the filesystem. Use this to clean up completed, failed, or cancelled autoexport jobs.\r\nRequired options:\r\n- filesystem-name: The name of the AMLFS filesystem\r\n- job-name: The name of the autoexport job to delete\r\n- resource-group: The resource group containing the filesystem\r\n- subscription: The subscription containing the filesystem", - "command": "managedlustre fs blob autoexport delete", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--filesystem-name", - "--learn" - ], - "options": [ - { - "name": "--job-name", - "description": "The name of the autoexport/autoimport job", - "type": "string", - "required": true - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "9a3b7e2f-4d6c-8a1e-b5f3-2c7d8e9a1b4f", - "name": "get", - "description": "Gets the details of auto export jobs for an Azure Managed Lustre filesystem. Use this to retrieve the status, configuration, and progress information of autoexport operations that sync data from the Lustre filesystem to the linked blob storage container. If job-name is provided, returns details of a specific job; otherwise returns all jobs for the filesystem.\r\nRequired options:\r\n- filesystem-name: The name of the AMLFS filesystem\r\n- resource-group: The resource group containing the filesystem\r\n- subscription: The subscription containing the filesystem\r\nOptional options:\r\n- job-name: The name of a specific autoexport job (if omitted, all jobs are returned)", - "command": "managedlustre fs blob autoexport get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--filesystem-name", - "--learn" - ], - "options": [ - { - "name": "--job-name", - "description": "The name of the autoexport/autoimport job", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "9f3g1h2i-4d0b-5g8f-c3e6-8b9d4f6g7c8h", - "name": "cancel", - "description": "Cancels a running auto import job for an Azure Managed Lustre filesystem. This stops the ongoing sync operation from the linked blob storage container to the Lustre filesystem. Use this to terminate an autoimport job that is in progress.\r\nRequired options:\r\n- filesystem-name: The name of the AMLFS filesystem\r\n- job-name: The name of the autoimport job to cancel\r\n- resource-group: The resource group containing the filesystem\r\n- subscription: The subscription containing the filesystem", - "command": "managedlustre fs blob autoimport cancel", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--filesystem-name", - "--learn" - ], - "options": [ - { - "name": "--job-name", - "description": "The name of the autoexport/autoimport job", - "type": "string", - "required": true - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d", - "name": "create", - "description": "Creates an auto import job for an Azure Managed Lustre filesystem to continuously import new or modified files from the linked blob storage container. The auto import job syncs changes from the configured HSM blob container to the Lustre filesystem. Use this to keep the filesystem updated with changes in blob storage.\r\nRequired options:\r\n- filesystem-name: The name of the AMLFS filesystem\r\n- resource-group: The resource group containing the filesystem\r\n- subscription: The subscription containing the filesystem\r\nOptional parameters:\r\n- job-name: Custom name for the job (default: autoimport-{timestamp})\r\n- conflict-resolution-mode: How to handle conflicts (Fail/Skip/OverwriteIfDirty/OverwriteAlways, default: Skip)\r\n- autoimport-prefixes: Array of blob paths/prefixes to auto import (default: '/', max: 100)\r\n- admin-status: Administrative status (Enable/Disable, default: Enable)\r\n- enable-deletions: Enable deletions during auto import (default: false)\r\n- maximum-errors: Max errors before failure (-1: infinite, 0: immediate exit, default: none)", - "command": "managedlustre fs blob autoimport create", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--filesystem-name", - "--learn" - ], - "options": [ - { - "name": "--job-name", - "description": "The name of the autoimport job. If not specified, a timestamped name will be generated.", - "type": "string" - }, - { - "name": "--conflict-resolution-mode", - "description": "How the auto import job handles conflicts. Fail: stop immediately on conflict. Skip: pass over the conflict. OverwriteIfDirty: delete and re-import if conflicting type, dirty, or currently released. OverwriteAlways: extends OverwriteIfDirty to include releasing restored but not dirty files. Default: Skip. Allowed values: Fail, Skip, OverwriteIfDirty, OverwriteAlways.", - "type": "string" - }, - { - "name": "--autoimport-prefixes", - "description": "Array of blob paths/prefixes that get auto imported to the cluster namespace. Default: '/'. Maximum: 100 paths. Example: --autoimport-prefixes /data --autoimport-prefixes /logs", - "type": "string" - }, - { - "name": "--admin-status", - "description": "The administrative status of the auto import job. Enable: job is active. Disable: disables the current active auto import job. Default: Enable. Allowed values: Enable, Disable.", - "type": "string" - }, - { - "name": "--enable-deletions", - "description": "Whether to enable deletions during auto import. This only affects overwrite-dirty mode. Default: false.", - "type": "string" - }, - { - "name": "--maximum-errors", - "description": "Total non-conflict-oriented errors (e.g., OS errors) that import will tolerate before exiting with failure. -1: infinite. 0: exit immediately on any error.", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "0h4i2j3k-5e1c-6h9g-d4f7-9c0e5g7h8d9i", - "name": "delete", - "description": "Deletes an auto import job for an Azure Managed Lustre filesystem. This permanently removes the job record from the filesystem. Use this to clean up completed, failed, or cancelled autoimport jobs.\r\nRequired options:\r\n- filesystem-name: The name of the AMLFS filesystem\r\n- job-name: The name of the autoimport job to delete\r\n- resource-group: The resource group containing the filesystem\r\n- subscription: The subscription containing the filesystem", - "command": "managedlustre fs blob autoimport delete", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--filesystem-name", - "--learn" - ], - "options": [ - { - "name": "--job-name", - "description": "The name of the autoexport/autoimport job", - "type": "string", - "required": true - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "b2c3d4e5-6f7a-8b9c-0d1e-2f3a4b5c6d7e", - "name": "get", - "description": "Gets the details of auto import jobs for an Azure Managed Lustre filesystem. Use this to retrieve the status, configuration, and progress information of autoimport operations that sync data from the linked blob storage container to the Lustre filesystem. If job-name is provided, returns details of a specific job; otherwise returns all jobs for the filesystem.\r\nRequired options:\r\n- filesystem-name: The name of the AMLFS filesystem\r\n- resource-group: The resource group containing the filesystem\r\n- subscription: The subscription containing the filesystem\r\nOptional options:\r\n- job-name: The name of a specific autoimport job (if omitted, all jobs are returned)", - "command": "managedlustre fs blob autoimport get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--filesystem-name", - "--learn" - ], - "options": [ - { - "name": "--job-name", - "description": "The name of the autoexport/autoimport job", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "d3h5e7g9-1f4a-6d8e-0g2c-4f6a8d0f2e4g", - "name": "cancel", - "description": "Cancels a running import job for an Azure Managed Lustre filesystem. This stops the import operation and prevents further processing. The job cannot be resumed after cancellation.\r\nRequired options:\r\n- filesystem-name: The name of the AMLFS filesystem\r\n- job-name: Name of the import job to cancel", - "command": "managedlustre fs blob import cancel", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--filesystem-name", - "--learn" - ], - "options": [ - { - "name": "--job-name", - "description": "The name of the autoexport/autoimport job", - "type": "string", - "required": true - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "b1f3c5e7-9d2a-4b8f-6c3e-1a7b9d2f5e8c", - "name": "create", - "description": "Creates a one-time import job for an Azure Managed Lustre filesystem to import files from the linked blob storage container. The import job performs a one-time sync of data from the configured HSM blob container to the Lustre filesystem. Use this to import specific prefixes or all data from blob storage into the filesystem at a point in time.\r\nRequired options:\r\n- filesystem-name: The name of the AMLFS filesystem\r\nOptional options:\r\n- job-name: Name for the import job (auto-generated if not provided)\r\n- conflict-resolution-mode: How to handle conflicting files (Fail, Skip, OverwriteIfDirty, OverwriteAlways, default: Fail)\r\n- import-prefixes: Blob prefixes to import (default: imports all data from root '/')\r\n- maximum-errors: Maximum errors allowed before job failure (-1: infinite, 0: fail on first error, default: use service default)", - "command": "managedlustre fs blob import create", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--filesystem-name", - "--learn" - ], - "options": [ - { - "name": "--job-name", - "description": "The name of the autoimport job. If not specified, a timestamped name will be generated.", - "type": "string" - }, - { - "name": "--conflict-resolution-mode", - "description": "How the auto import job handles conflicts. Fail: stop immediately on conflict. Skip: pass over the conflict. OverwriteIfDirty: delete and re-import if conflicting type, dirty, or currently released. OverwriteAlways: extends OverwriteIfDirty to include releasing restored but not dirty files. Default: Skip. Allowed values: Fail, Skip, OverwriteIfDirty, OverwriteAlways.", - "type": "string" - }, - { - "name": "--import-prefixes", - "description": "Array of blob paths/prefixes to import from blob storage. Default: '/'. Maximum: 100 paths. Example: --import-prefixes /data --import-prefixes /logs", - "type": "string" - }, - { - "name": "--maximum-errors", - "description": "Total non-conflict-oriented errors (e.g., OS errors) that import will tolerate before exiting with failure. -1: infinite. 0: exit immediately on any error.", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "e4i6f8h0-2g5b-7e9f-1h3d-5g7b9e1g3f5h", - "name": "delete", - "description": "Deletes an import job for an Azure Managed Lustre filesystem. This removes the job record and history. The job must be completed or cancelled before it can be deleted.\r\nRequired options:\r\n- filesystem-name: The name of the AMLFS filesystem\r\n- job-name: Name of the import job to delete", - "command": "managedlustre fs blob import delete", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--filesystem-name", - "--learn" - ], - "options": [ - { - "name": "--job-name", - "description": "The name of the autoexport/autoimport job", - "type": "string", - "required": true - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "c2g4d6f8-0e3a-5c7d-9f1b-3e5a7c9f1d3f", - "name": "get", - "description": "Gets import job details or lists all import jobs for an Azure Managed Lustre filesystem. If job-name is provided, returns details for that specific job. If job-name is omitted, returns a list of all import jobs for the filesystem.\r\nRequired options:\r\n- filesystem-name: The name of the AMLFS filesystem\r\nOptional options:\r\n- job-name: Name of specific import job to get (omit to list all jobs)", - "command": "managedlustre fs blob import get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--filesystem-name", - "--learn" - ], - "options": [ - { - "name": "--job-name", - "description": "The name of the autoimport job. If not specified, a timestamped name will be generated.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "814acadf-ee84-47f9-ad68-2d65ec7dbb07", - "name": "create", - "description": "Create an Azure Managed Lustre (AMLFS) file system using the specified network, capacity, maintenance window and availability zone.\r\nOptionally provides possibility to define Blob Integration, customer managed key encryption and root squash configuration.", - "command": "managedlustre fs create", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--name", - "description": "The AMLFS resource name. Must be DNS-friendly (letters, numbers, hyphens). Example: --name amlfs-001", - "type": "string", - "required": true - }, - { - "name": "--location", - "description": "Azure region/region short name (use Azure location token, lowercase). Examples: uaenorth, swedencentral, eastus.", - "type": "string", - "required": true - }, - { - "name": "--sku", - "description": "The AMLFS SKU. Exact allowed values: AMLFS-Durable-Premium-40, AMLFS-Durable-Premium-125, AMLFS-Durable-Premium-250, AMLFS-Durable-Premium-500.", - "type": "string", - "required": true - }, - { - "name": "--size", - "description": "The AMLFS size in TiB as an integer (no unit). Examples: 4, 12, 128.", - "type": "string", - "required": true - }, - { - "name": "--subnet-id", - "description": "Full subnet resource ID. Required format: /subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.Network/virtualNetworks/{vnet}/subnets/{subnet}.\nExample: --subnet-id /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-rg/providers/Microsoft.Network/virtualNetworks/vnet-001/subnets/subnet-001", - "type": "string", - "required": true - }, - { - "name": "--zone", - "description": "Availability zone identifier. Use a single digit string matching the region's AZ labels (e.g. '1').\nExample: --zone 1", - "type": "string", - "required": true - }, - { - "name": "--maintenance-day", - "description": "Preferred maintenance day. Allowed values: Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday.\n", - "type": "string", - "required": true - }, - { - "name": "--maintenance-time", - "description": "Preferred maintenance time in UTC. Format: HH:MM (24-hour). Examples: 00:00, 23:00.\n", - "type": "string", - "required": true - }, - { - "name": "--hsm-container", - "description": "Full blob container resource ID for HSM integration. HPC Cache Resource Provider must have before deployment Storage Blob Data Contributor and Storage Account Contributor roles on parent Storage Account.Format: /subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.Storage/storageAccounts/{account}/blobServices/default/containers/{container}.\nExample: --hsm-container /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Storage/storageAccounts/stacc/blobServices/default/containers/hsm-container\n", - "type": "string" - }, - { - "name": "--hsm-log-container", - "description": "Full blob container resource ID for HSM logging. HPC Cache Resource Provider must have before deployment Storage Blob Data Contributor and Storage Account Contributor roles on parent Storage Account. Same format as --hsm-container.\nExample: --hsm-log-container /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Storage/storageAccounts/stacc/blobServices/default/containers/hsm-logs\n", - "type": "string" - }, - { - "name": "--import-prefix", - "description": "Optional HSM import prefix (path prefix inside the container starting with /). Examples: '/ingest/', '/archive/2019/'.\n", - "type": "string" - }, - { - "name": "--root-squash-mode", - "description": "Root squash mode. Allowed values: All, RootOnly, None.\n", - "type": "string" - }, - { - "name": "--no-squash-nid-list", - "description": "Comma-separated list of NIDs (network identifiers) not to squash. Example: '10.0.2.4@tcp;10.0.2.[6-8]@tcp'.\n", - "type": "string" - }, - { - "name": "--squash-uid", - "description": "Numeric UID to squash root to. Required in case root squash mode is not None. Example: --squash-uid 1000.\n", - "type": "string" - }, - { - "name": "--squash-gid", - "description": "Numeric GID to squash root to. Required in case root squash mode is not None. Example: --squash-gid 1000.\n", - "type": "string" - }, - { - "name": "--custom-encryption", - "description": "Enable customer-managed encryption using a Key Vault key. When true, --key-url and --source-vault required, with a user-assigned identity already configured for Key Vault key access.", - "type": "string" - }, - { - "name": "--key-url", - "description": "Full Key Vault key URL. Format: https://{vaultName}.vault.azure.net/keys/{keyName}/{keyVersion}.\nExample: --key-url https://kv-amlfs-001.vault.azure.net/keys/key-amlfs-001/a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p\n", - "type": "string" - }, - { - "name": "--source-vault", - "description": "Full Key Vault resource ID. Format: /subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.KeyVault/vaults/{vaultName}.\nExample: --source-vault /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.KeyVault/vaults/kv-amlfs-001\n", - "type": "string" - }, - { - "name": "--user-assigned-identity-id", - "description": "User-assigned managed identity resource ID (full resource ID) to use for Key Vault access when custom encryption is enabled. The identity must have RBAC role to access the encryption key\nFormat: /subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{name}.\nExample: --user-assigned-identity-id /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1\n", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "723d9b34-9022-486e-83a7-f72d83bdafd2", - "name": "list", - "description": "Lists Azure Managed Lustre (AMLFS) file systems in a subscription or optional resource group including provisioning state, MGS address, tier, capacity (TiB), blob integration container, and maintenance window details. Use to inventory Azure Managed Lustre filesystems and to check their properties.", - "command": "managedlustre fs list", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "43f679ba-1b6e-4851-9315-f8ad16b789e5", - "name": "get", - "description": "Retrieves the available Azure Managed Lustre SKU, including increments, bandwidth, scale targets and zonal support. If a location is specified, the results will be filtered to that location.", - "command": "managedlustre fs sku get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--location", - "description": "Azure region/region short name (use Azure location token, lowercase). Examples: uaenorth, swedencentral, eastus.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "3d3f6f27-218b-4915-9c1e-243dd53b16da", - "name": "ask", - "description": "Calculates the required subnet size for an Azure Managed Lustre file system given a SKU and size. Use to plan network deployment for AMLFS. Returns the number of required IPs.", - "command": "managedlustre fs subnetsize ask", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--sku", - "description": "The AMLFS SKU. Exact allowed values: AMLFS-Durable-Premium-40, AMLFS-Durable-Premium-125, AMLFS-Durable-Premium-250, AMLFS-Durable-Premium-500.", - "type": "string", - "required": true - }, - { - "name": "--size", - "description": "The AMLFS size in TiB as an integer (no unit). Examples: 4, 12, 128.", - "type": "string", - "required": true - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "b6317bba-e28c-445b-9133-9cfbfe677698", - "name": "validate", - "description": "Validates that the provided subnet can host an Azure Managed Lustre filesystem for the given SKU and size.", - "command": "managedlustre fs subnetsize validate", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--sku", - "description": "The AMLFS SKU. Exact allowed values: AMLFS-Durable-Premium-40, AMLFS-Durable-Premium-125, AMLFS-Durable-Premium-250, AMLFS-Durable-Premium-500.", - "type": "string", - "required": true - }, - { - "name": "--size", - "description": "The AMLFS size in TiB as an integer (no unit). Examples: 4, 12, 128.", - "type": "string", - "required": true - }, - { - "name": "--subnet-id", - "description": "Full subnet resource ID. Required format: /subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.Network/virtualNetworks/{vnet}/subnets/{subnet}.\nExample: --subnet-id /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-rg/providers/Microsoft.Network/virtualNetworks/vnet-001/subnets/subnet-001", - "type": "string", - "required": true - }, - { - "name": "--location", - "description": "Azure region/region short name (use Azure location token, lowercase). Examples: uaenorth, swedencentral, eastus.", - "type": "string", - "required": true - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "db1bdf99-ac8a-4920-ab2e-15048623b2dc", - "name": "update", - "description": "Update maintenance window and/or root squash settings of an existing Azure Managed Lustre (AMLFS) file system. Provide either maintenance day and time or root squash fields (no-squash-nid-list, squash-uid, squash-gid). Root squash fields must be provided if root squash is not None. In case of maintenance window update, both maintenance day and maintenance time should be provided.", - "command": "managedlustre fs update", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--name", - "description": "The AMLFS resource name. Must be DNS-friendly (letters, numbers, hyphens). Example: --name amlfs-001", - "type": "string", - "required": true - }, - { - "name": "--maintenance-day", - "description": "Preferred maintenance day. Allowed values: Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday.\n", - "type": "string" - }, - { - "name": "--maintenance-time", - "description": "Preferred maintenance time in UTC. Format: HH:MM (24-hour). Examples: 00:00, 23:00.\n", - "type": "string" - }, - { - "name": "--no-squash-nid-list", - "description": "Comma-separated list of NIDs (network identifiers) not to squash. Example: '10.0.2.4@tcp;10.0.2.[6-8]@tcp'.\n", - "type": "string" - }, - { - "name": "--squash-uid", - "description": "Numeric UID to squash root to. Required in case root squash mode is not None. Example: --squash-uid 1000.\n", - "type": "string" - }, - { - "name": "--squash-gid", - "description": "Numeric GID to squash root to. Required in case root squash mode is not None. Example: --squash-gid 1000.\n", - "type": "string" - }, - { - "name": "--root-squash-mode", - "description": "Root squash mode. Allowed values: All, RootOnly, None.\n", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "729a12ee-9c63-4a31-b1b8-4a81ad093564", - "name": "get", - "description": "Retrieves detailed information about a specific Azure Marketplace product (offer) for a given subscription,\r\nincluding available plans, pricing, and product metadata.", - "command": "marketplace product get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--product-id", - "description": "The ID of the marketplace product to retrieve. This is the unique identifier for the product in the Azure Marketplace.", - "type": "string", - "required": true - }, - { - "name": "--include-stop-sold-plans", - "description": "Include stop-sold or hidden plans in the response.", - "type": "string" - }, - { - "name": "--language", - "description": "Product language code (e.g., 'en' for English, 'fr' for French).", - "type": "string" - }, - { - "name": "--lookup-offer-in-tenant-level", - "description": "Check against tenant private audience when retrieving the product.", - "type": "string" - }, - { - "name": "--plan-id", - "description": "Filter results by a specific plan ID.", - "type": "string" - }, - { - "name": "--sku-id", - "description": "Filter results by a specific SKU ID.", - "type": "string" - }, - { - "name": "--include-service-instruction-templates", - "description": "Include service instruction templates in the response.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "0485e8f9-61bf-4baf-b914-7fa5530a6f78", - "name": "list", - "description": "Retrieves and lists all marketplace products (offers) available to a subscription in the Azure Marketplace. Use this tool to search, select, browse, or filter marketplace offers by product name, publisher, pricing, or metadata. Returns information for each product, including display name, publisher details, category, pricing data, and available plans.", - "command": "marketplace product list", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--language", - "description": "Product language code (e.g., 'en' for English, 'fr' for French).", - "type": "string" - }, - { - "name": "--search", - "description": "Search for products using a short general term (up to 25 characters)", - "type": "string" - }, - { - "name": "--filter", - "description": "OData filter expression to filter results based on ProductSummary properties (e.g., \"displayName eq 'Azure'\").", - "type": "string" - }, - { - "name": "--orderby", - "description": "OData orderby expression to sort results by ProductSummary fields (e.g., \"displayName asc\" or \"popularity desc\").", - "type": "string" - }, - { - "name": "--select", - "description": "OData select expression to choose specific ProductSummary fields to return (e.g., \"displayName,publisherDisplayName,uniqueProductId\").", - "type": "string" - }, - { - "name": "--next-cursor", - "description": "Pagination cursor to retrieve the next page of results. Use the NextPageLink value from a previous response.", - "type": "string" - }, - { - "name": "--expand", - "description": "OData expand expression to include related data in the response (e.g., \"plans\" to include plan details).", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "ffc0ed72-0622-4a27-bfd8-6df9b83adce8", - "name": "list", - "description": "Always use this tool if user is asking for activity logs for a resource.\r\nLists activity logs for the specified Azure resource over the given prior number of hours.\r\nThis command retrieves activity logs to help understand resource deployment history, modification activities, and access patterns.\r\nReturns activity log events with details including timestamp, operation name, status, and caller information. should be called to help retrieve information about why a resource failed to deploy or may not be working.", - "command": "monitor activitylog list", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--resource-name", - "description": "The name of the Azure resource to retrieve activity logs for.", - "type": "string", - "required": true - }, - { - "name": "--resource-type", - "description": "The type of the Azure resource (e.g., 'Microsoft.Storage/storageAccounts'). Only provide this if needed to disambiguate between multiple resources with the same name.", - "type": "string" - }, - { - "name": "--hours", - "description": "The number of hours prior to now to retrieve activity logs for.", - "type": "string" - }, - { - "name": "--event-level", - "description": "The level of activity logs to retrieve. Valid levels are: Critical, Error, Informational, Verbose, Warning. If not provided, returns all levels.", - "type": "string" - }, - { - "name": "--top", - "description": "The maximum number of activity logs to retrieve.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "80b23546-a6ac-4f0c-ad70-f51d6dff5543", - "name": "get", - "description": "Retrieve the health status of an entity for a given Azure Monitor Health Model. Use this tool ONLY when the user mentions a specific health model name and asks for health status, health events. This provides application-level health monitoring with custom health models, not basic Azure resource availability.\r\nFor basic Azure resource availability status, use Resource Health tool instead `azmcp_resourcehealth_availability-status_get`. \r\nFor querying logs from a Log Analystics workspace, use `azmcp_monitor_workspace_log_query`. \r\nFor querying logs of a specific Azure resource, use `azmcp_monitor_resource_log_query`. \r\nRequired arguments:\r\n - --entity: The entity to get health for\r\n - --health-model: The health model name", - "command": "monitor healthmodels entity get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--entity", - "description": "The entity to get health for.", - "type": "string", - "required": true - }, - { - "name": "--health-model", - "description": "The name of the health model for which to get the health.", - "type": "string", - "required": true - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "2c9f3785-4b97-4dd6-8489-af515638f0d5", - "name": "get-learning-resource", - "description": "List all available learning resources for Azure Monitor instrumentation or get the content of a specific resource by path. Returns all resource paths by default, or retrieves the full content when a path is specified. Note: For instrumenting an application, use orchestrator-start instead.", - "command": "monitor instrumentation get-learning-resource", - "commonOptions": [ - "--learn" - ], - "options": [ - { - "name": "--path", - "description": "Learning resource path.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": true - }, - { - "id": "dd7d9a59-fb6d-436a-9e08-8bbdf6d5f9d5", - "name": "orchestrator-next", - "description": "Get the next instrumentation action after completing the current one.\r\nCall this ONLY after you have executed the EXACT instruction from the previous response.\r\nDO NOT skip steps. DO NOT improvise. DO NOT add extra code or commands.\r\n\r\nExpected workflow:\r\n1. You received an action from orchestrator-start or orchestrator-next\r\n2. You executed EXACTLY what the 'instruction' field told you to do\r\n3. Now call this tool to get the next action\r\n\r\nReturns: The next action to execute, or 'complete' status when all steps are done.", - "command": "monitor instrumentation orchestrator-next", - "commonOptions": [ - "--learn" - ], - "options": [ - { - "name": "--session-id", - "description": "The workspace path returned as sessionId from orchestrator-start.", - "type": "string", - "required": true - }, - { - "name": "--completion-note", - "description": "One sentence describing what you executed, e.g., 'Ran dotnet add package command' or 'Added UseAzureMonitor() to Program.cs'", - "type": "string", - "required": true - } - ], - "destructive": false, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": true - }, - { - "id": "35f577d9-6378-4d34-b822-111ff6e8957c", - "name": "orchestrator-start", - "description": "START HERE for Azure Monitor instrumentation. Analyzes workspace and returns the first action to execute. After executing the action, call orchestrator-next to continue. DO NOT improvise. Execute EXACTLY what the 'instruction' field tells you.", - "command": "monitor instrumentation orchestrator-start", - "commonOptions": [ - "--learn" - ], - "options": [ - { - "name": "--workspace-path", - "description": "Absolute path to the workspace folder.", - "type": "string", - "required": true - } - ], - "destructive": false, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": true - }, - { - "id": "8f69c45b-7e4f-4ea7-9a7d-58fa7fc0897e", - "name": "send-brownfield-analysis", - "description": "Send brownfield code analysis findings after orchestrator-start returned status 'analysis_needed'.\r\nYou must have scanned the workspace source files and filled in the analysis template.\r\nFor sections that do not exist in the codebase, pass an empty/default object (e.g. found: false, hasCustomSampling: false) rather than null.\r\nAfter this call succeeds, continue with orchestrator-next as usual.", - "command": "monitor instrumentation send-brownfield-analysis", - "commonOptions": [ - "--learn" - ], - "options": [ - { - "name": "--session-id", - "description": "The workspace path returned as sessionId from orchestrator-start.", - "type": "string", - "required": true - }, - { - "name": "--findings-json", - "description": "JSON object with brownfield analysis findings. Required properties:\r\n- serviceOptions: Service options findings from analyzing AddApplicationInsightsTelemetry() call. Null if not found.\r\n- initializers: Telemetry initializer findings from analyzing ITelemetryInitializer or IConfigureOptions implementations. Null if none found.\r\n- processors: Telemetry processor findings from analyzing ITelemetryProcessor implementations. Null if none found.\r\n- clientUsage: TelemetryClient usage findings from analyzing direct TelemetryClient usage. Null if not found.\r\n- sampling: Custom sampling configuration findings. Null if no custom sampling.\r\n- telemetryPipeline: Custom ITelemetryChannel or TelemetrySinks usage findings. Null if not found.\r\n- logging: Explicit logger provider and filter findings. Null if not found.\r\nFor sections that do not exist in the codebase, pass an empty/default object (e.g. found: false, hasCustomSampling: false) rather than null.", - "type": "string", - "required": true - } - ], - "destructive": false, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": true - }, - { - "id": "8fd4eb5f-14d1-450f-982c-82d761f0f7d6", - "name": "send-enhancement-select", - "description": "Submit the user's enhancement selection after orchestrator-start returned status 'enhancement_available'.\r\nPresent the enhancement options to the user first, then call this tool with their chosen option key(s).\r\nMultiple enhancements can be selected by passing a comma-separated list (e.g. 'redis,processors').\r\nAfter this call succeeds, continue with orchestrator-next as usual.", - "command": "monitor instrumentation send-enhancement-select", - "commonOptions": [ - "--learn" - ], - "options": [ - { - "name": "--session-id", - "description": "The workspace path returned as sessionId from orchestrator-start.", - "type": "string", - "required": true - }, - { - "name": "--enhancement-keys", - "description": "One or more enhancement keys, comma-separated (e.g. 'redis', 'redis,processors', 'entityframework,otlp').", - "type": "string", - "required": true - } - ], - "destructive": false, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": true - }, - { - "id": "d3bf37ed-5f2e-448d-a16e-73140ef908c2", - "name": "definitions", - "description": "List available metric definitions for an Azure resource. Returns metadata about the metrics available for the resource.", - "command": "monitor metrics definitions", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--resource-type", - "description": "The Azure resource type (e.g., 'Microsoft.Storage/storageAccounts', 'Microsoft.Compute/virtualMachines'). If not specified, will attempt to infer from resource name.", - "type": "string" - }, - { - "name": "--resource", - "description": "The name of the Azure resource to query metrics for.", - "type": "string", - "required": true - }, - { - "name": "--metric-namespace", - "description": "The metric namespace to query. Obtain this value from the azmcp-monitor-metrics-definitions command.", - "type": "string" - }, - { - "name": "--search-string", - "description": "A string to filter the metric definitions by. Helpful for reducing the number of records returned. Performs case-insensitive matching on metric name and description fields.", - "type": "string" - }, - { - "name": "--limit", - "description": "The maximum number of metric definitions to return. Defaults to 10.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "6e86ef31-04e1-4cec-8bda-5292d4bc3ad8", - "name": "query", - "description": "Query Azure Monitor metrics for a resource. Returns time series data for the specified metrics.", - "command": "monitor metrics query", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--resource-type", - "description": "The Azure resource type (e.g., 'Microsoft.Storage/storageAccounts', 'Microsoft.Compute/virtualMachines'). If not specified, will attempt to infer from resource name.", - "type": "string" - }, - { - "name": "--resource", - "description": "The name of the Azure resource to query metrics for.", - "type": "string", - "required": true - }, - { - "name": "--metric-names", - "description": "The names of metrics to query (comma-separated).", - "type": "string", - "required": true - }, - { - "name": "--start-time", - "description": "The start time for the query in ISO format (e.g., 2023-01-01T00:00:00Z). Defaults to 24 hours ago.", - "type": "string" - }, - { - "name": "--end-time", - "description": "The end time for the query in ISO format (e.g., 2023-01-01T00:00:00Z). Defaults to now.", - "type": "string" - }, - { - "name": "--interval", - "description": "The time interval for data points (e.g., PT1H for 1 hour, PT5M for 5 minutes).", - "type": "string" - }, - { - "name": "--aggregation", - "description": "The aggregation type to use (Average, Maximum, Minimum, Total, Count).", - "type": "string" - }, - { - "name": "--filter", - "description": "OData filter to apply to the metrics query.", - "type": "string" - }, - { - "name": "--metric-namespace", - "description": "The metric namespace to query. Obtain this value from the azmcp-monitor-metrics-definitions command.", - "type": "string", - "required": true - }, - { - "name": "--max-buckets", - "description": "The maximum number of time buckets to return. Defaults to 50.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "02aaf533-0593-4e1d-bd87-f7c69d34c7ba", - "name": "query", - "description": "Query diagnostic and activity logs for a SPECIFIC Azure resource in a Log Analytics workspace using Kusto Query Language (KQL). \r\nUse this tool when the user mentions a specific resource name or Resource ID in their request (e.g., \"show logs for resource 'app-monitor'\"). \r\nThis tool filters logs to only show data from the specified resource.\r\n\r\nWhen to use: User asks for logs from a specific resource by name or ID.\r\nWhen NOT to use: User asks for general workspace-wide logs without mentioning a specific resource.\r\n\r\nRequired arguments: resource ID or resource name, table name, KQL query\r\nOptional: hours, limit", - "command": "monitor resource log query", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--resource-id", - "description": "The Azure Resource ID to query logs. Example: /subscriptions//resourceGroups//providers/Microsoft.OperationalInsights/workspaces/", - "type": "string", - "required": true - }, - { - "name": "--table", - "description": "The name of the table to query. This is the specific table within the workspace.", - "type": "string", - "required": true - }, - { - "name": "--query", - "description": "The KQL query to execute against the Log Analytics workspace. You can use predefined queries by name:\n- 'recent': Shows most recent logs ordered by TimeGenerated\n- 'errors': Shows error-level logs ordered by TimeGenerated\nOtherwise, provide a custom KQL query.", - "type": "string", - "required": true - }, - { - "name": "--hours", - "description": "The number of hours to query back from now.", - "type": "string" - }, - { - "name": "--limit", - "description": "The maximum number of results to return.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "2b1ae0be-d6dd-4db9-9c58-fc4fcb3bf8e6", - "name": "list", - "description": "List all tables in a Log Analytics workspace. Requires workspace.\r\nReturns table names and schemas that can be used for constructing KQL queries.", - "command": "monitor table list", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--workspace", - "description": "The Log Analytics workspace ID or name. This can be either the unique identifier (GUID) or the display name of your workspace.", - "type": "string", - "required": true - }, - { - "name": "--table-type", - "description": "The type of table to query. Options: 'CustomLog', 'AzureMetrics', etc.", - "type": "string", - "required": true - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "17928c13-3907-428c-8232-74f7aec1d76d", - "name": "list", - "description": "List available table types in a Log Analytics workspace. Returns table type names.", - "command": "monitor table type list", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--workspace", - "description": "The Log Analytics workspace ID or name. This can be either the unique identifier (GUID) or the display name of your workspace.", - "type": "string", - "required": true - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "aa5a22bc-6a04-4bc0-a963-b6e462b5cdc4", - "name": "createorupdate", - "description": "Create or update a standard web test in Azure Monitor to monitor endpoint availability.\r\nUse this to set up new web tests or modify existing ones with monitoring configurations like URL, frequency, locations, and expected responses.\r\nAutomatically creates a new test if it doesn't exist, or updates an existing test with new settings.", - "command": "monitor webtests createorupdate", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--webtest-resource", - "description": "The name of the Web Test resource to operate on.", - "type": "string", - "required": true - }, - { - "name": "--appinsights-component", - "description": "The resource id of the Application Insights component to associate with the web test.", - "type": "string" - }, - { - "name": "--location", - "description": "The location where the web test resource is created. This should be the same as the AppInsights component location.", - "type": "string" - }, - { - "name": "--webtest-locations", - "description": "List of locations to run the test from (comma-separated values). Location refers to the geo-location population tag specific to Availability Tests.", - "type": "string" - }, - { - "name": "--request-url", - "description": "The absolute URL to test", - "type": "string" - }, - { - "name": "--webtest", - "description": "The name of the test in web test resource", - "type": "string" - }, - { - "name": "--description", - "description": "The description of the web test", - "type": "string" - }, - { - "name": "--enabled", - "description": "Whether the web test is enabled", - "type": "string" - }, - { - "name": "--expected-status-code", - "description": "Expected HTTP status code", - "type": "string" - }, - { - "name": "--follow-redirects", - "description": "Whether to follow redirects", - "type": "string" - }, - { - "name": "--frequency", - "description": "Test frequency in seconds. Supported values 300, 600, 900 seconds.", - "type": "string" - }, - { - "name": "--headers", - "description": "HTTP headers to include in the request. Comma-separated KEY=VALUE", - "type": "string" - }, - { - "name": "--http-verb", - "description": "HTTP method (get, post, etc.)", - "type": "string" - }, - { - "name": "--ignore-status-code", - "description": "Whether to ignore the status code validation", - "type": "string" - }, - { - "name": "--parse-requests", - "description": "Whether to parse dependent requests", - "type": "string" - }, - { - "name": "--request-body", - "description": "The body of the request", - "type": "string" - }, - { - "name": "--retry-enabled", - "description": "Whether retries are enabled", - "type": "string" - }, - { - "name": "--ssl-check", - "description": "Whether to check SSL certificates", - "type": "string" - }, - { - "name": "--ssl-lifetime-check", - "description": "Number of days to check SSL certificate lifetime", - "type": "string" - }, - { - "name": "--timeout", - "description": "Request timeout in seconds (max 2 minutes). Supported values: 30, 60, 90, 120 seconds", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "c9897ba5-445c-43dc-9902-e8454dbdc243", - "name": "get", - "description": "Gets details for a specific web test or lists all web tests.\r\nWhen --webtest-resource is provided, returns detailed information about a single web test.\r\nWhen --webtest-resource is omitted, returns a list of all web tests in the subscription (optionally filtered by resource group).", - "command": "monitor webtests get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--webtest-resource", - "description": "The name of the Web Test resource to operate on.", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "0c76b74e-14bf-4e0c-ab10-4bbeeb53347b", - "name": "list", - "description": "List Log Analytics workspaces in a subscription. This command retrieves all Log Analytics workspaces\r\navailable in the specified Azure subscription, displaying their names, IDs, and other key properties.\r\nUse this command to identify workspaces before querying their logs or tables.", - "command": "monitor workspace list", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "3f513aea-b6fc-4ad0-8f7d-9fbaa1056ac6", - "name": "query", - "description": "Query logs across an ENTIRE Log Analytics workspace using Kusto Query Language (KQL). \r\nUse this tool when the user wants to query all resources in a workspace or doesn't specify a particular resource name/ID (e.g., \"show all errors in workspace\", \"query workspace logs\", \"what happened in my workspace\").\r\nThis tool queries across all resources and tables in the workspace.\r\n\r\nWhen to use: User asks for workspace-wide logs, all resources, or doesn't mention a specific resource.\r\nWhen NOT to use: User mentions a specific resource name or Resource ID - use resource log query instead.\r\n\r\nRequires workspace and resource group.\r\nOptional: hours and limit.\r\nquery accepts KQL syntax.", - "command": "monitor workspace log query", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--workspace", - "description": "The Log Analytics workspace ID or name. This can be either the unique identifier (GUID) or the display name of your workspace.", - "type": "string", - "required": true - }, - { - "name": "--table", - "description": "The name of the table to query. This is the specific table within the workspace.", - "type": "string", - "required": true - }, - { - "name": "--query", - "description": "The KQL query to execute against the Log Analytics workspace. You can use predefined queries by name:\n- 'recent': Shows most recent logs ordered by TimeGenerated\n- 'errors': Shows error-level logs ordered by TimeGenerated\nOtherwise, provide a custom KQL query.", - "type": "string", - "required": true - }, - { - "name": "--hours", - "description": "The number of hours to query back from now.", - "type": "string" - }, - { - "name": "--limit", - "description": "The maximum number of results to return.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "b73afaa5-4c3f-41e8-9ef3-c54e75215a97", - "name": "query", - "description": "Executes a safe, read-only SQL SELECT query against a database on Azure Database for MySQL Flexible Server. Use this tool to explore or retrieve table data without modifying it. Rejects non-SELECT statements (INSERT/UPDATE/DELETE/REPLACE/MERGE/TRUNCATE/ALTER/CREATE/DROP), multi-statements, comments hiding writes, transaction control (BEGIN/COMMIT/ROLLBACK), INTO OUTFILE, and other destructive keywords. Only a single SELECT is executed to ensure data integrity. Best practices: List needed columns (avoid SELECT *), add WHERE filters, use LIMIT/OFFSET for paging, ORDER BY for deterministic results, and avoid unnecessary sensitive data. Example: SELECT id, name, status FROM customers WHERE status = 'Active' ORDER BY name LIMIT 50;", - "command": "mysql database query", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--user", - "description": "The user name to access MySQL server.", - "type": "string", - "required": true - }, - { - "name": "--server", - "description": "The MySQL server to be accessed.", - "type": "string", - "required": true - }, - { - "name": "--database", - "description": "The MySQL database to be accessed.", - "type": "string", - "required": true - }, - { - "name": "--query", - "description": "Query to be executed against a MySQL database.", - "type": "string", - "required": true - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "77e60b50-5c16-4879-96b1-6a40d9c08a37", - "name": "list", - "description": "List MySQL servers, databases, or tables in your subscription. Returns all servers by default. Specify --server to list databases on that server, or --server and --database to list tables in a specific database.", - "command": "mysql list", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--user", - "description": "The user name to access MySQL server.", - "type": "string", - "required": true - }, - { - "name": "--server", - "description": "The MySQL server to list databases from (optional).", - "type": "string" - }, - { - "name": "--database", - "description": "The MySQL database to list tables from (optional, requires --server).", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "677cef4f-0eb1-4665-a3a2-89301a75c201", - "name": "get", - "description": "Retrieves comprehensive configuration details for the specified Azure Database for MySQL Flexible Server instance. This command provides insights into server settings, performance parameters, security configurations, and operational characteristics essential for database administration and optimization. Returns configuration data in JSON format including ServerName, Location, Version, SKU, StorageSizeGB, BackupRetentionDays, and GeoRedundantBackup properties.", - "command": "mysql server config get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--user", - "description": "The user name to access MySQL server.", - "type": "string", - "required": true - }, - { - "name": "--server", - "description": "The MySQL server to be accessed.", - "type": "string", - "required": true - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "bae423b4-aee8-4f23-a104-e816727d183f", - "name": "get", - "description": "Retrieves the current value of a single server configuration parameter on an Azure Database for MySQL Flexible Server. Use to inspect a setting (e.g. max_connections, wait_timeout, slow_query_log) before changing it.", - "command": "mysql server param get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--user", - "description": "The user name to access MySQL server.", - "type": "string", - "required": true - }, - { - "name": "--server", - "description": "The MySQL server to be accessed.", - "type": "string", - "required": true - }, - { - "name": "--param", - "description": "The MySQL parameter to be accessed.", - "type": "string", - "required": true - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "8d086e44-8c8a-4649-a282-38f775704595", - "name": "set", - "description": "Sets/updates a single MySQL server configuration setting/parameter.", - "command": "mysql server param set", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--user", - "description": "The user name to access MySQL server.", - "type": "string", - "required": true - }, - { - "name": "--server", - "description": "The MySQL server to be accessed.", - "type": "string", - "required": true - }, - { - "name": "--param", - "description": "The MySQL parameter to be accessed.", - "type": "string", - "required": true - }, - { - "name": "--value", - "description": "The value to set for the MySQL parameter.", - "type": "string", - "required": true - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "1c8d2584-fa52-4641-85f9-fb67a8f5c7c9", - "name": "get", - "description": "Retrieves detailed schema information for a specific table within an Azure Database for MySQL Flexible Server database. This command provides comprehensive metadata including column definitions, data types, constraints, indexes, and relationships, essential for understanding table structure and supporting application development.", - "command": "mysql table schema get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--user", - "description": "The user name to access MySQL server.", - "type": "string", - "required": true - }, - { - "name": "--server", - "description": "The MySQL server to be accessed.", - "type": "string", - "required": true - }, - { - "name": "--database", - "description": "The MySQL database to be accessed.", - "type": "string", - "required": true - }, - { - "name": "--table", - "description": "The MySQL table to be accessed.", - "type": "string", - "required": true - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "b7c4d3e2-0f1a-4b8c-9d6e-5a7b8c9d0e1f", - "name": "list", - "description": "List policy assignments in a subscription or scope. This command retrieves all Azure Policy\r\nassignments along with their complete policy definition details (rules, effects, parameters schema),\r\nenforcement modes, assignment parameters, and metadata. This enables agents to understand policy\r\nrequirements and design compliant cloud services. You can optionally filter by scope to list\r\nassignments at a specific resource group, resource, or management group level.", - "command": "policy assignment list", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--scope", - "description": "The scope of the policy assignment (e.g., /subscriptions/{subscriptionId}, /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}).", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "81a28bca-014c-4738-9e1a-654d77cb2dd8", - "name": "query", - "description": "Executes a SQL query on an Azure Database for PostgreSQL server to search for specific terms, retrieve records, or perform SELECT operations.", - "command": "postgres database query", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--user", - "description": "The user name to access PostgreSQL server.", - "type": "string", - "required": true - }, - { - "name": "--server", - "description": "The PostgreSQL server to be accessed.", - "type": "string", - "required": true - }, - { - "name": "--database", - "description": "The PostgreSQL database to be accessed.", - "type": "string", - "required": true - }, - { - "name": "--auth-type", - "description": "The authentication type to access PostgreSQL server. Supported values are 'MicrosoftEntra' or 'PostgreSQL'. By default 'MicrosoftEntra' is used.", - "type": "string" - }, - { - "name": "--password", - "description": "The user password to access PostgreSQL server, Only required if 'auth-type' is set to 'PostgreSQL' authentication, not needed for 'MicrosoftEntra' authentication.", - "type": "string" - }, - { - "name": "--query", - "description": "Query to be executed against a PostgreSQL database.", - "type": "string", - "required": true - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "8a12c3f4-2e5d-4b3a-9f2c-5e6d7f8a9b0c", - "name": "list", - "description": "List PostgreSQL servers, databases, or tables. Returns all servers in the subscription by default (optionally scoped to a --resource-group). Specify --server to list databases on that server, or --server and --database to list tables in a specific database. --user is required when --server is provided.", - "command": "postgres list", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--user", - "description": "The user name to access PostgreSQL server.", - "type": "string" - }, - { - "name": "--server", - "description": "The PostgreSQL server to list databases from (optional).", - "type": "string" - }, - { - "name": "--database", - "description": "The PostgreSQL database to list tables from (optional, requires --server).", - "type": "string" - }, - { - "name": "--auth-type", - "description": "The authentication type to access PostgreSQL server. Supported values are 'MicrosoftEntra' or 'PostgreSQL'. By default 'MicrosoftEntra' is used.", - "type": "string" - }, - { - "name": "--password", - "description": "The user password to access PostgreSQL server, Only required if 'auth-type' is set to 'PostgreSQL' authentication, not needed for 'MicrosoftEntra' authentication.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "049a0d10-0a6e-4278-a0a3-15ce6b2e5ee1", - "name": "get", - "description": "Retrieve the configuration of a PostgreSQL server.", - "command": "postgres server config get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--user", - "description": "The user name to access PostgreSQL server.", - "type": "string", - "required": true - }, - { - "name": "--server", - "description": "The PostgreSQL server to be accessed.", - "type": "string", - "required": true - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "af3a581d-ab64-4939-9765-974815d9c7be", - "name": "get", - "description": "Retrieves a specific parameter of a PostgreSQL server.", - "command": "postgres server param get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--user", - "description": "The user name to access PostgreSQL server.", - "type": "string", - "required": true - }, - { - "name": "--server", - "description": "The PostgreSQL server to be accessed.", - "type": "string", - "required": true - }, - { - "name": "--param", - "description": "The PostgreSQL parameter to be accessed.", - "type": "string", - "required": true - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "2134621b-518f-48ac-a66a-82c40fcb58bb", - "name": "set", - "description": "Configures PostgreSQL server settings including replication, connection limits, and other parameters.", - "command": "postgres server param set", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--user", - "description": "The user name to access PostgreSQL server.", - "type": "string", - "required": true - }, - { - "name": "--server", - "description": "The PostgreSQL server to be accessed.", - "type": "string", - "required": true - }, - { - "name": "--param", - "description": "The PostgreSQL parameter to be accessed.", - "type": "string", - "required": true - }, - { - "name": "--value", - "description": "The value to set for the PostgreSQL parameter.", - "type": "string", - "required": true - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "643a3497-44e1-4727-b3d6-c2e5dba6cab2", - "name": "get", - "description": "Retrieves the schema of a specified table in a PostgreSQL database.", - "command": "postgres table schema get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--user", - "description": "The user name to access PostgreSQL server.", - "type": "string", - "required": true - }, - { - "name": "--server", - "description": "The PostgreSQL server to be accessed.", - "type": "string", - "required": true - }, - { - "name": "--database", - "description": "The PostgreSQL database to be accessed.", - "type": "string", - "required": true - }, - { - "name": "--auth-type", - "description": "The authentication type to access PostgreSQL server. Supported values are 'MicrosoftEntra' or 'PostgreSQL'. By default 'MicrosoftEntra' is used.", - "type": "string" - }, - { - "name": "--password", - "description": "The user password to access PostgreSQL server, Only required if 'auth-type' is set to 'PostgreSQL' authentication, not needed for 'MicrosoftEntra' authentication.", - "type": "string" - }, - { - "name": "--table", - "description": "The PostgreSQL table to be accessed.", - "type": "string", - "required": true - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "c5a8f7d2-9e3b-4a1c-8d6f-2b5e9c4a7d3e", - "name": "get", - "description": "Get Azure retail pricing information. CRITICAL/MANDATORY: Do NOT call this tool if the user only specifies a broad service name (e.g., 'Virtual Machines', 'Storage', 'SQL Database') without a specific SKU. Instead, FIRST ask the user which specific SKU or tier they want pricing for. If the user asks to compare pricing across regions or SKUs without specifying exact ARM SKU names, ask them which specific SKUs they want to compare.\r\nDo NOT assume or pick default SKUs. Only call this tool AFTER the user provides a specific SKU (--sku) or confirms they want all pricing for that service. Requires at least one filter: --sku, --service, --region, --service-family, or --filter. SAVINGS PLAN: 'SavingsPlan' is NOT a valid --price-type. Use --include-savings-plan flag instead.\r\nValid --price-type values: Consumption, Reservation, DevTestConsumption. When --include-savings-plan is true, Consumption items include nested 'savingsPlan' array with 1-year/3-year pricing (mainly Linux VMs).\r\nFOR BICEP/ARM COST ESTIMATION: When user asks to estimate costs from a Bicep or ARM template file, read the file, extract each resource's type and SKU, call this tool for each resource and aggregate the monthly costs (hourly price * 730 hours/month).", - "command": "pricing get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--learn" - ], - "options": [ - { - "name": "--currency", - "description": "Currency code for pricing (e.g., USD, EUR). Default is USD.", - "type": "string" - }, - { - "name": "--sku", - "description": "ARM SKU name (e.g., Standard_D4s_v5, Standard_E64-16ds_v4)", - "type": "string" - }, - { - "name": "--service", - "description": "Azure service name (e.g., Virtual Machines, Storage, SQL Database)", - "type": "string" - }, - { - "name": "--region", - "description": "Azure region (e.g., eastus, westeurope, westus2)", - "type": "string" - }, - { - "name": "--service-family", - "description": "Service family (e.g., Compute, Storage, Databases, Networking)", - "type": "string" - }, - { - "name": "--price-type", - "description": "Price type filter (Consumption, Reservation, DevTestConsumption)", - "type": "string" - }, - { - "name": "--include-savings-plan", - "description": "Include savings plan pricing information (uses preview API version)", - "type": "string" - }, - { - "name": "--filter", - "description": "Raw OData filter expression for advanced queries (e.g., \"meterId eq 'abc-123'\")", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "0b8902f5-3fd4-49d9-b73e-4cea88afdd62", - "name": "list", - "description": "Given a list of Azure resource types, this tool will return a list of regions where the resource types are available. Always get the user's subscription ID before calling this tool.", - "command": "quota region availability list", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--resource-types", - "description": "Comma-separated list of Azure resource types to check available regions for. The valid Azure resource types. E.g. 'Microsoft.App/containerApps, Microsoft.Web/sites, Microsoft.CognitiveServices/accounts'.", - "type": "string", - "required": true - }, - { - "name": "--cognitive-service-model-name", - "description": "Optional model name for cognitive services. Only needed when Microsoft.CognitiveServices is included in resource types.", - "type": "string" - }, - { - "name": "--cognitive-service-model-version", - "description": "Optional model version for cognitive services. Only needed when Microsoft.CognitiveServices is included in resource types.", - "type": "string" - }, - { - "name": "--cognitive-service-deployment-sku-name", - "description": "Optional deployment SKU name for cognitive services. Only needed when Microsoft.CognitiveServices is included in resource types.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "81f64603-5a56-4f74-90f8-395da69a99d3", - "name": "check", - "description": "This tool will check the usage and quota information for Azure resources in a region.", - "command": "quota usage check", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--region", - "description": "The valid Azure region where the resources will be deployed. E.g. 'eastus', 'westus', etc.", - "type": "string", - "required": true - }, - { - "name": "--resource-types", - "description": "The valid Azure resource types that are going to be deployed(comma-separated). E.g. 'Microsoft.App/containerApps,Microsoft.Web/sites,Microsoft.CognitiveServices/accounts', etc.", - "type": "string", - "required": true - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "750133dd-d57f-4ed4-9488-c1d406ad4a83", - "name": "create", - "description": "Create a new Azure Managed Redis resource in Azure. Use this command to provision a new Redis resource in your subscription.", - "command": "redis create", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--resource", - "description": "The name of the Redis resource (e.g., my-redis).", - "type": "string", - "required": true - }, - { - "name": "--sku", - "description": "The SKU for the Redis resource. (Default: Balanced_B0)", - "type": "string" - }, - { - "name": "--location", - "description": "The location for the Redis resource (e.g. eastus).", - "type": "string", - "required": true - }, - { - "name": "--access-keys-authentication", - "description": "Whether to enable access keys for authentication for the Redis resource. (Default: false)", - "type": "string" - }, - { - "name": "--public-network-access", - "description": "Whether to enable public network access for the Redis resource. (Default: false)", - "type": "string" - }, - { - "name": "--modules", - "description": "A list of modules to enable on the Azure Managed Redis resource (e.g., RedisBloom, RedisJSON).", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "eded7479-4187-4742-957f-d7778e03a69d", - "name": "list", - "description": "List/show all Redis resources in a subscription. Returns details of all Azure Managed Redis, Azure Cache for Redis, and Azure Redis Enterprise resources. Use this command to explore and view which Redis resources are available in your subscription.", - "command": "redis list", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "3b388cc7-4b16-4919-9e90-f592247d9891", - "name": "get", - "description": "Get the Azure Resource Health availability status for a specific resource or all resources in a subscription or resource group. Use this tool when asked about the availability status, health status, or Resource Health of an Azure resource (e.g. virtual machine, storage account). Reports whether a resource is Available, Unavailable, Degraded, or Unknown, including the reason and details. This is the correct tool for questions like 'What is the availability status of VM X?' or 'Is resource Y healthy?'.", - "command": "resourcehealth availability-status get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--resourceId", - "description": "The Azure resource ID to get health status for (e.g., /subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.Compute/virtualMachines/{vm}).", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "c3211c73-af20-4d8d-bed2-4f181e0e4c92", - "name": "list", - "description": "List Azure service health events to track service issues that occurred in recent timeframes (last 30 days, weeks, months). Query subscription for planned maintenance, past or ongoing service incidents, advisories, and security events. Provides detailed information about resource availability state, potential issues, and timestamps. Returns: trackingId, title, summary, eventType, status, startTime, endTime, impactedServices. Access Azure Service Health portal data programmatically.", - "command": "resourcehealth health-events list", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--event-type", - "description": "Filter by event type (ServiceIssue, PlannedMaintenance, HealthAdvisory, Security). If not specified, all event types are included.", - "type": "string" - }, - { - "name": "--status", - "description": "Filter by status (Active, Resolved). If not specified, all statuses are included.", - "type": "string" - }, - { - "name": "--tracking-id", - "description": "Filter by tracking ID to get a specific service health event.", - "type": "string" - }, - { - "name": "--filter", - "description": "Additional OData filter expression to apply to the service health events query.", - "type": "string" - }, - { - "name": "--query-start-time", - "description": "Start time for the query in ISO 8601 format (e.g., 2024-01-01T00:00:00Z). Events from this time onwards will be included.", - "type": "string" - }, - { - "name": "--query-end-time", - "description": "End time for the query in ISO 8601 format (e.g., 2024-01-31T23:59:59Z). Events up to this time will be included.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "1dfbef45-4014-4575-a9ba-2242bc792e54", - "name": "list", - "description": "List role assignments. This command retrieves and displays all Azure RBAC role assignments\r\nin the specified scope. Results include role definition IDs and principal IDs, returned as a JSON array.", - "command": "role assignment list", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--scope", - "description": "Scope at which the role assignment or definition applies to, e.g., /subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333, /subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup, or /subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup/providers/Microsoft.Compute/virtualMachines/myVM.", - "type": "string", - "required": true - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "471292d0-4f6d-49d8-bf29-cbcb7b27dedb", - "name": "get", - "description": "List/get/show Azure AI Search indexes in a Search service. Returns index properties such as fields,\r\ndescription, and more. If a specific index name is not provided, the command will return details for all\r\nindexes.", - "command": "search index get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--learn" - ], - "options": [ - { - "name": "--service", - "description": "The name of the Azure AI Search service (e.g., my-search-service).", - "type": "string", - "required": true - }, - { - "name": "--index", - "description": "The name of the search index within the Azure AI Search service.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "f1938a77-8d6c-49c7-b592-71b4f26508e7", - "name": "query", - "description": "Queries/searches documents in an Azure AI Search index with a given query, returning the results of the\r\nquery/search.", - "command": "search index query", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--learn" - ], - "options": [ - { - "name": "--service", - "description": "The name of the Azure AI Search service (e.g., my-search-service).", - "type": "string", - "required": true - }, - { - "name": "--index", - "description": "The name of the search index within the Azure AI Search service.", - "type": "string", - "required": true - }, - { - "name": "--query", - "description": "The search query to execute against the Azure AI Search index.", - "type": "string", - "required": true - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "e0e7c288-8d16-4d11-811d-9236dc86d9a8", - "name": "get", - "description": "Gets the details of Azure AI Search knowledge bases. Knowledge bases encapsulate retrieval and reasoning\r\ncapabilities over one or more knowledge sources or indexes. If a specific knowledge base name is not provided,\r\nthe command will return details for all knowledge bases within the specified service.\r\n\r\nRequired arguments:\r\n- service", - "command": "search knowledge base get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--learn" - ], - "options": [ - { - "name": "--service", - "description": "The name of the Azure AI Search service (e.g., my-search-service).", - "type": "string", - "required": true - }, - { - "name": "--knowledge-base", - "description": "The name of the knowledge base within the Azure AI Search service.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "dcd2952d-02af-4ffc-a7a2-3c6d04251f66", - "name": "retrieve", - "description": "Execute a retrieval operation using a specific Azure AI Search knowledge base, effectively searching and querying the underlying\r\ndata sources as needed to find relevant information. Provide either a --query for single-turn retrieval or one or more\r\nconversational --messages in role:content form (e.g. user:What policies apply?). Specifying both --query and --messages is not\r\nallowed.\r\n\r\nRequired arguments:\r\n- service\r\n- knowledge-base", - "command": "search knowledge base retrieve", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--learn" - ], - "options": [ - { - "name": "--service", - "description": "The name of the Azure AI Search service (e.g., my-search-service).", - "type": "string", - "required": true - }, - { - "name": "--knowledge-base", - "description": "The name of the knowledge base within the Azure AI Search service.", - "type": "string", - "required": true - }, - { - "name": "--query", - "description": "Natural language query for retrieval when a conversational message history isn't provided.", - "type": "string" - }, - { - "name": "--messages", - "description": "Conversation history messages passed to the knowledge base. Able to specify multiple --messages entries. Each entry formatted as role:content, where role is `user` or `assistant` (e.g., user:How many docs?).", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": true, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "efc985cd-5381-4547-8ffb-89ffe992ea41", - "name": "get", - "description": "Gets the details of Azure AI Search knowledge sources. A knowledge source may point directly at an\r\nexisting Azure AI Search index, or may represent external data (e.g. a blob storage container) that has been\r\nindexed in Azure AI Search internally. These knowledge sources are used by knowledge bases during retrieval.\r\nIf a specific knowledge source name is not provided, the command will return details for all knowledge sources\r\nwithin the specified service.\r\n\r\nRequired arguments:\r\n- service", - "command": "search knowledge source get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--learn" - ], - "options": [ - { - "name": "--service", - "description": "The name of the Azure AI Search service (e.g., my-search-service).", - "type": "string", - "required": true - }, - { - "name": "--knowledge-source", - "description": "The name of the knowledge source within the Azure AI Search service.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "b0684f8c-20de-4bc0-bbc3-982575c8441f", - "name": "list", - "description": "List/show Azure AI Search services in a subscription, returning details about each service.", - "command": "search service list", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "add0f6fe-258c-45c4-af74-0c165d4913cb", - "name": "info", - "description": "Displays running MCP server information.", - "command": "server info", - "commonOptions": [ - "--learn" - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "b3e7c1a2-4f85-4d9e-a6c3-8f2b1e0d7a94", - "name": "plugin-telemetry", - "description": "Publish plugin-related telemetry events from agent hooks.\r\nAccepts command-line options such as '--timestamp', '--event-type', '--session-id', '--client-type', '--client-name', \r\n'--plugin-name', '--plugin-version', '--skill-name', '--skill-version', '--tool-name', and '--file-reference'. \r\nUse this command from agent hooks in clients like VS Code, Claude Desktop, or Copilot CLI to emit usage metrics.", - "command": "server plugin-telemetry", - "commonOptions": [ - "--learn" - ], - "options": [ - { - "name": "--timestamp", - "description": "Timestamp of the telemetry event in ISO 8601 format.", - "type": "string", - "required": true - }, - { - "name": "--event-type", - "description": "Type of event being logged (e.g., 'skill_invocation', 'tool_invocation', 'reference_file_read').", - "type": "string", - "required": true - }, - { - "name": "--session-id", - "description": "Session identifier for correlating related events.", - "type": "string", - "required": true - }, - { - "name": "--client-type", - "description": "Type of client invoking the telemetry (e.g., 'copilot-cli', 'claude-code', 'vscode'). Deprecated: prefer --client-name.", - "type": "string" - }, - { - "name": "--client-name", - "description": "Name of the client invoking the telemetry (e.g., 'copilot-cli', 'claude-code', 'Visual Studio Code', 'Visual Studio Code - Insiders').", - "type": "string" - }, - { - "name": "--plugin-name", - "description": "Name of the plugin being invoked.", - "type": "string" - }, - { - "name": "--plugin-version", - "description": "Version of the plugin being invoked.", - "type": "string" - }, - { - "name": "--skill-name", - "description": "Name of the skill being invoked.", - "type": "string" - }, - { - "name": "--skill-version", - "description": "Version of the skill being invoked.", - "type": "string" - }, - { - "name": "--tool-name", - "description": "Name of the tool being invoked.", - "type": "string" - }, - { - "name": "--file-reference", - "description": "Plugin-relative file reference being accessed (will be validated against an allowlist).", - "type": "string" - } - ], - "destructive": false, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "9953ff62-e3d7-4bdf-9b70-d569e54e3df1", - "name": "start", - "description": "Starts Azure MCP Server.", - "command": "server start", - "commonOptions": [ - "--learn" - ], - "options": [ - { - "name": "--transport", - "description": "Transport mechanism to use for MCP Server.", - "type": "string" - }, - { - "name": "--namespace", - "description": "The service namespaces to expose on the MCP server (e.g., storage, keyvault, cosmos).", - "type": "string" - }, - { - "name": "--mode", - "description": "Mode for the MCP server. 'single' exposes one azure tool that routes to all services. 'namespace' (default) exposes one tool per service namespace. 'all' exposes all tools individually.", - "type": "string" - }, - { - "name": "--tool", - "description": "Expose only specific tools by name (e.g., 'acr_registry_list'). Repeat this option to include multiple tools, e.g., --tool \"acr_registry_list\" --tool \"group_list\". It automatically switches to \"all\" mode when \"--tool\" is used. It can't be used together with \"--namespace\".", - "type": "string" - }, - { - "name": "--read-only", - "description": "Whether the MCP server should be read-only. If true, no write operations will be allowed.", - "type": "string" - }, - { - "name": "--debug", - "description": "Enable debug mode with verbose logging to stderr.", - "type": "string" - }, - { - "name": "--dangerously-disable-http-incoming-auth", - "description": "Dangerously disables HTTP incoming authentication, exposing the server to unauthenticated access over HTTP. Use with extreme caution, this disables all transport security and may expose sensitive data to interception.", - "type": "string" - }, - { - "name": "--dangerously-disable-elicitation", - "description": "Disable elicitation (user confirmation) before allowing high risk commands to run, such as returning Secrets (passwords) from KeyVault.", - "type": "string" - }, - { - "name": "--outgoing-auth-strategy", - "description": "Outgoing authentication strategy for service requests. Valid values: NotSet, UseHostingEnvironmentIdentity, UseOnBehalfOf.", - "type": "string" - }, - { - "name": "--dangerously-write-support-logs-to-dir", - "description": "Dangerously enables detailed debug-level logging for support and troubleshooting purposes. Specify a folder path where log files will be automatically created with timestamp-based filenames (e.g., azmcp_20251202_143052.log). This may include sensitive information in logs. Use with extreme caution and only when requested by support.", - "type": "string" - }, - { - "name": "--dangerously-disable-retry-limits", - "description": "Dangerously disables upper bounds on retry delays, max delays, network timeouts, and max retries. This may lead to excessively long waits and should only be used when explicitly needed.", - "type": "string" - }, - { - "name": "--cloud", - "description": "Azure cloud environment for authentication. Valid values: AzureCloud (default), AzureChinaCloud, AzureUSGovernment, or a custom authority host URL starting with https://", - "type": "string" - }, - { - "name": "--disable-caching", - "description": "Disable caching of resource responses, requiring repeated requests to fetch fresh data each time.", - "type": "string" - } - ], - "destructive": false, - "idempotent": false, - "openWorld": true, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "a02c58ce-e89f-4303-ac4a-c9dfb118e761", - "name": "details", - "description": "Get details about a Service Bus queue. Returns queue properties and runtime information. Properties returned include\r\nlock duration, max message size, queue size, creation date, status, current message counts, etc.\r\n\r\nRequired arguments:\r\n- namespace: The fully qualified Service Bus namespace host name. (This is usually in the form .servicebus.windows.net)\r\n- queue: Queue name to get details and runtime information for.", - "command": "servicebus queue details", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--namespace", - "description": "The fully qualified Service Bus namespace host name. (This is usually in the form .servicebus.windows.net)", - "type": "string", - "required": true - }, - { - "name": "--queue", - "description": "The queue name to peek messages from.", - "type": "string", - "required": true - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "c2487c40-58d0-40f7-98f1-105744865a11", - "name": "details", - "description": "Retrieves details about a Service Bus topic. Returns runtime information and topic properties including number of subscriptions, max message size, max topic size, number of scheduled messages, etc.\r\nRequired arguments are namespace: The fully qualified Service Bus namespace host name (usually in the form .servicebus.windows.net) and topic: Topic name to get information about.\r\nDo not use this to get details on Service Bus subscription- instead use servicebus_topic_subscription_details.", - "command": "servicebus topic details", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--namespace", - "description": "The fully qualified Service Bus namespace host name. (This is usually in the form .servicebus.windows.net)", - "type": "string", - "required": true - }, - { - "name": "--topic", - "description": "The name of the topic containing the subscription.", - "type": "string", - "required": true - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "578edf30-01f3-45da-b451-3932dcce7cc5", - "name": "details", - "description": "Get details about a Service Bus subscription. Returns subscription runtime properties including message counts, delivery settings, and other metadata.\r\n\r\nRequired arguments:\r\n- namespace: The fully qualified Service Bus namespace host name. (This is usually in the form .servicebus.windows.net)\r\n- topic: Topic name containing the subscription\r\n- subscription-name: Name of the subscription to get details for", - "command": "servicebus topic subscription details", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--namespace", - "description": "The fully qualified Service Bus namespace host name. (This is usually in the form .servicebus.windows.net)", - "type": "string", - "required": true - }, - { - "name": "--topic", - "description": "The name of the topic containing the subscription.", - "type": "string", - "required": true - }, - { - "name": "--subscription-name", - "description": "The name of subscription to peek messages from.", - "type": "string", - "required": true - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "a3f1b2c4-d5e6-47f8-9a0b-1c2d3e4f5a6b", - "name": "get", - "description": "Get nodes for a Service Fabric managed cluster. Returns all nodes by default or a single node when a node name is specified. Includes name, node type, status, IP address, fault domain, upgrade domain, health state, and seed node status.", - "command": "servicefabric managedcluster node get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--cluster", - "description": "Service Fabric managed cluster name.", - "type": "string", - "required": true - }, - { - "name": "--node", - "description": "The node name. When specified, returns a single node instead of all nodes.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "b4f2c3d5-e6f7-48a9-8b1c-2d3e4f5a6b7c", - "name": "restart", - "description": "Restart nodes of a specific node type in a Service Fabric managed cluster. Requires the cluster name, node type, and list of node names to restart. Optionally specify the update type (Default or ByUpgradeDomain).", - "command": "servicefabric managedcluster nodetype restart", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--cluster", - "description": "Service Fabric managed cluster name.", - "type": "string", - "required": true - }, - { - "name": "--node-type", - "description": "The node type name within the managed cluster.", - "type": "string", - "required": true - }, - { - "name": "--nodes", - "description": "The list of node names to restart. Multiple node names can be provided.", - "type": "string", - "required": true - }, - { - "name": "--update-type", - "description": "The update type for the restart operation. Valid values: Default, ByUpgradeDomain.", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "bb9035f6-f642-4ee0-83c8-87d6da8266b1", - "name": "get", - "description": "Gets or lists details of an Azure SignalR Runtimes. If a specific SignalR name is used, the details of that\r\nSignalR runtime will be retrieved. Otherwise, all SignalR Runtimes in the specified subscription or resource\r\ngroup will be retrieved. Returns runtime information including identity, network ACLs, upstream templates.", - "command": "signalr runtime get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--signalr", - "description": "The name of the SignalR runtime", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "c725eb52-ca2c-4fe4-9422-935e7557b701", - "name": "recognize", - "description": "Recognize speech from an audio file using Azure AI Services Speech. This command takes an audio file and converts it to text using advanced speech recognition capabilities.\r\nYou must provide an Azure AI Services endpoint (e.g., https://your-service.cognitiveservices.azure.com/) and a path to the audio file.\r\nSupported audio formats include WAV, MP3, OPUS/OGG, FLAC, ALAW, MULAW, MP4, M4A, and AAC. Compressed formats require GStreamer to be installed on the system.\r\nOptional parameters include language specification, phrase hints for better accuracy, output format (simple or detailed), and profanity filtering.", - "command": "speech stt recognize", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--endpoint", - "description": "The Azure AI Services endpoint URL (e.g., https://your-service.cognitiveservices.azure.com/).", - "type": "string", - "required": true - }, - { - "name": "--file", - "description": "Path to the audio file to recognize.", - "type": "string", - "required": true - }, - { - "name": "--language", - "description": "The language for speech recognition (e.g., en-US, es-ES). Default is en-US.", - "type": "string" - }, - { - "name": "--phrases", - "description": "Phrase hints to improve recognition accuracy. Can be specified multiple times (--phrases \"phrase1\" --phrases \"phrase2\") or as comma-separated values (--phrases \"phrase1,phrase2\").", - "type": "string" - }, - { - "name": "--format", - "description": "Output format: simple or detailed.", - "type": "string" - }, - { - "name": "--profanity", - "description": "Profanity filter: masked, removed, or raw. Default is masked.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": true - }, - { - "id": "d6f6687f-feee-4e15-9b98-71aea4076e04", - "name": "synthesize", - "description": "Convert text to speech using Azure AI Services Speech. This command takes text input and generates an audio file using advanced neural text-to-speech capabilities.\r\nYou must provide an Azure AI Services endpoint (e.g., https://your-service.cognitiveservices.azure.com/), the text to convert, and an output file path.\r\nOptional parameters include language specification (default: en-US), voice selection, audio output format (default: Riff24Khz16BitMonoPcm), and custom voice endpoint ID.\r\nThe command supports a wide variety of output formats and neural voices for natural-sounding speech synthesis.", - "command": "speech tts synthesize", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--endpoint", - "description": "The Azure AI Services endpoint URL (e.g., https://your-service.cognitiveservices.azure.com/).", - "type": "string", - "required": true - }, - { - "name": "--text", - "description": "The text to convert to speech.", - "type": "string", - "required": true - }, - { - "name": "--outputAudio", - "description": "Path where the synthesized audio file will be saved.", - "type": "string", - "required": true - }, - { - "name": "--language", - "description": "The language for speech recognition (e.g., en-US, es-ES). Default is en-US.", - "type": "string" - }, - { - "name": "--voice", - "description": "The voice to use for speech synthesis (e.g., en-US-JennyNeural). If not specified, the default voice for the language will be used.", - "type": "string" - }, - { - "name": "--format", - "description": "Output format: simple or detailed.", - "type": "string" - }, - { - "name": "--endpointId", - "description": "The endpoint ID of a custom voice model for speech synthesis.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": true - }, - { - "id": "a4d9af17-fe8b-4df3-93be-23b69f0b5a0c", - "name": "create", - "description": "Create a new Azure SQL Database on an existing SQL Server. This command creates a database with configurable\r\nperformance tiers, size limits, and other settings. Equivalent to 'az sql db create'.\r\nReturns the newly created database information including configuration details.", - "command": "sql db create", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--server", - "--learn" - ], - "options": [ - { - "name": "--database", - "description": "The Azure SQL Database name.", - "type": "string", - "required": true - }, - { - "name": "--sku-name", - "description": "The SKU name for the database (e.g., Basic, S0, P1, GP_Gen5_2).", - "type": "string" - }, - { - "name": "--sku-tier", - "description": "The SKU tier for the database (e.g., Basic, Standard, Premium, GeneralPurpose).", - "type": "string" - }, - { - "name": "--sku-capacity", - "description": "The SKU capacity (DTU or vCore count) for the database.", - "type": "string" - }, - { - "name": "--collation", - "description": "The collation for the database (e.g., SQL_Latin1_General_CP1_CI_AS).", - "type": "string" - }, - { - "name": "--max-size-bytes", - "description": "The maximum size of the database in bytes.", - "type": "string" - }, - { - "name": "--elastic-pool-name", - "description": "The name of the elastic pool to assign the database to.", - "type": "string" - }, - { - "name": "--zone-redundant", - "description": "Whether the database should be zone redundant.", - "type": "string" - }, - { - "name": "--read-scale", - "description": "Read scale option for the database (Enabled or Disabled).", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "c4ef0375-0df9-445c-b8ae-2542e9612425", - "name": "delete", - "description": "Deletes a database from an Azure SQL Server.This idempotent operation removes the specified database from the server, returning Deleted = false if the database doesn't exist or Deleted = true if successfully removed.", - "command": "sql db delete", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--server", - "--learn" - ], - "options": [ - { - "name": "--database", - "description": "The Azure SQL Database name.", - "type": "string", - "required": true - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "2c4e6a8b-1d3f-4e5a-b6c7-8d9e0f1a2b3c", - "name": "get", - "description": "Show, get, or list Azure SQL databases in a SQL Server. Shows details for a specific Azure SQL database\r\nby name, or lists all Azure SQL databases in the specified SQL Server. Use to show or retrieve Azure SQL\r\ndatabase information. Equivalent to 'az sql db show' (show one Azure SQL database) or 'az sql db list'\r\n(list all Azure SQL databases in a server). Returns database information including configuration details\r\nand current status.", - "command": "sql db get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--server", - "--learn" - ], - "options": [ - { - "name": "--database", - "description": "The Azure SQL Database name.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "3bddfa1a-ab9d-44f0-830a-e56a159e5469", - "name": "rename", - "description": "Rename an existing Azure SQL Database to a new name within the same SQL server. This command moves the\r\ndatabase resource to a new identifier while preserving configuration and data. Equivalent to\r\n'az sql db rename'. Returns the updated database information using the new name.", - "command": "sql db rename", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--server", - "--learn" - ], - "options": [ - { - "name": "--database", - "description": "The Azure SQL Database name.", - "type": "string", - "required": true - }, - { - "name": "--new-database-name", - "description": "The new name for the Azure SQL Database.", - "type": "string", - "required": true - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "16f02fbf-6760-440a-bacc-925365b6de49", - "name": "update", - "description": "Scale and configure Azure SQL Database performance settings.\r\nUpdate an existing database's SKU, compute tier, storage capacity,\r\nor redundancy options to meet changing performance requirements.\r\nReturns the updated database configuration including applied scaling changes.", - "command": "sql db update", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--server", - "--learn" - ], - "options": [ - { - "name": "--database", - "description": "The Azure SQL Database name.", - "type": "string", - "required": true - }, - { - "name": "--sku-name", - "description": "The SKU name for the database (e.g., Basic, S0, P1, GP_Gen5_2).", - "type": "string" - }, - { - "name": "--sku-tier", - "description": "The SKU tier for the database (e.g., Basic, Standard, Premium, GeneralPurpose).", - "type": "string" - }, - { - "name": "--sku-capacity", - "description": "The SKU capacity (DTU or vCore count) for the database.", - "type": "string" - }, - { - "name": "--collation", - "description": "The collation for the database (e.g., SQL_Latin1_General_CP1_CI_AS).", - "type": "string" - }, - { - "name": "--max-size-bytes", - "description": "The maximum size of the database in bytes.", - "type": "string" - }, - { - "name": "--elastic-pool-name", - "description": "The name of the elastic pool to assign the database to.", - "type": "string" - }, - { - "name": "--zone-redundant", - "description": "Whether the database should be zone redundant.", - "type": "string" - }, - { - "name": "--read-scale", - "description": "Read scale option for the database (Enabled or Disabled).", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "f980fda7-4bd6-4c24-b139-a091f088584f", - "name": "list", - "description": "Lists all SQL elastic pools in an Azure SQL Server with their SKU, capacity, state, and database limits.\r\nUse when you need to: view elastic pool inventory, check pool utilization, compare pool configurations,\r\nor find available pools for database placement.\r\nRequires: subscription ID, resource group name, server name.\r\nReturns: JSON array of elastic pools with complete configuration details.\r\nEquivalent to 'az sql elastic-pool list'.", - "command": "sql elastic-pool list", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--server", - "--learn" - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "43f5f55d-2f21-47ac-b7f3-53f5d51b5218", - "name": "create", - "description": "Creates a new Azure SQL server in the specified resource group and location.\r\nThe server will be created with the specified administrator credentials and\r\noptional configuration settings. Returns the created server with its properties\r\nincluding the fully qualified domain name.", - "command": "sql server create", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--server", - "--learn" - ], - "options": [ - { - "name": "--administrator-login", - "description": "The administrator login name for the SQL server.", - "type": "string", - "required": true - }, - { - "name": "--administrator-password", - "description": "The administrator password for the SQL server.", - "type": "string", - "required": true - }, - { - "name": "--location", - "description": "The Azure region location where the SQL server will be created.", - "type": "string", - "required": true - }, - { - "name": "--version", - "description": "The version of SQL Server to create (e.g., '12.0').", - "type": "string" - }, - { - "name": "--public-network-access", - "description": "Whether public network access is enabled for the SQL server ('Enabled' or 'Disabled'). Defaults to 'Disabled'.", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "381bd0ef-5bb4-45ed-ae51-d129dcc044b2", - "name": "delete", - "description": "Remove the specified SQL server from your Azure subscription, including all associated databases.\r\nThis operation permanently deletes all server data and cannot be reversed.\r\nUse --force to bypass confirmation.", - "command": "sql server delete", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--server", - "--learn" - ], - "options": [ - { - "name": "--force", - "description": "Force delete the server without confirmation prompts.", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "240aac03-0eb0-4cd3-91f8-475577289186", - "name": "list", - "description": "Gets a list of Microsoft Entra ID administrators for a SQL server. This command retrieves all\r\nEntra ID administrators configured for the specified SQL server, including their display names, object IDs,\r\nand tenant information. Returns an array of Entra ID administrator objects with their properties.", - "command": "sql server entra-admin list", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--server", - "--learn" - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "37c43190-c3f5-4cd2-beda-3ecc2e3ec049", - "name": "create", - "description": "Creates a firewall rule for a SQL server. Firewall rules control which IP addresses\r\nare allowed to connect to the SQL server. You can specify either a single IP address\r\n(by setting start and end IP to the same value) or a range of IP addresses. Returns\r\nthe created firewall rule with its properties.", - "command": "sql server firewall-rule create", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--server", - "--learn" - ], - "options": [ - { - "name": "--firewall-rule-name", - "description": "The name of the firewall rule.", - "type": "string", - "required": true - }, - { - "name": "--start-ip-address", - "description": "The start IP address of the firewall rule range.", - "type": "string", - "required": true - }, - { - "name": "--end-ip-address", - "description": "The end IP address of the firewall rule range.", - "type": "string", - "required": true - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "f13fc5d2-7547-480b-a704-36120e2e9b92", - "name": "delete", - "description": "Deletes a firewall rule from a SQL server. This operation removes the specified\r\nfirewall rule, potentially restricting access for the IP addresses that were\r\npreviously allowed by this rule. The operation is idempotent - if the rule\r\ndoesn't exist, no error is returned.", - "command": "sql server firewall-rule delete", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--server", - "--learn" - ], - "options": [ - { - "name": "--firewall-rule-name", - "description": "The name of the firewall rule.", - "type": "string", - "required": true - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "1f55cab9-0bbb-499a-a9ac-1492f11c043a", - "name": "list", - "description": "Gets a list of firewall rules for a SQL server. This command retrieves all\r\nfirewall rules configured for the specified SQL server, including their IP address ranges\r\nand rule names. Returns an array of firewall rule objects with their properties.", - "command": "sql server firewall-rule list", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--server", - "--learn" - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "7f9a1c3e-5b7d-4a6c-8e0f-2b4d6a8c0e1f", - "name": "get", - "description": "Show, get, or list Azure SQL servers in a resource group. Shows details for a specific Azure SQL server\r\nby name, or lists all Azure SQL servers in the specified resource group. Use to show, display, or\r\nretrieve Azure SQL server information. Equivalent to 'az sql server show' (show one Azure SQL server) or\r\n'az sql server list' (list all Azure SQL servers in a resource group). Returns server information\r\nincluding configuration details and current state.", - "command": "sql server get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--server", - "description": "The Azure SQL Server name.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "a2cf843a-57f2-45ea-8078-59b0be0805e6", - "name": "create", - "description": "Creates an Azure Storage account in the specified resource group and location and returns the created storage account\r\ninformation including name, location, SKU, access settings, and configuration details.", - "command": "storage account create", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--account", - "description": "The name of the Azure Storage account to create. Must be globally unique, 3-24 characters, lowercase letters and numbers only.", - "type": "string", - "required": true - }, - { - "name": "--location", - "description": "The Azure region where the storage account will be created (e.g., 'eastus', 'westus2').", - "type": "string", - "required": true - }, - { - "name": "--sku", - "description": "The storage account SKU. Valid values: Standard_LRS, Standard_GRS, Standard_RAGRS, Standard_ZRS, Premium_LRS, Premium_ZRS, Standard_GZRS, Standard_RAGZRS.", - "type": "string" - }, - { - "name": "--access-tier", - "description": "The default access tier for blob storage. Valid values: Hot, Cool.", - "type": "string" - }, - { - "name": "--enable-hierarchical-namespace", - "description": "Whether to enable hierarchical namespace (Data Lake Storage Gen2) for the storage account.", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "eb2363f1-f21f-45fc-ad63-bacfbae8c45c", - "name": "get", - "description": "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 a specific account name is not provided, the command will return details for all accounts in a subscription.", - "command": "storage account get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--account", - "description": "The name of the Azure Storage account. This is the unique name you chose for your storage account (e.g., 'mystorageaccount').", - "type": "string" - }, - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "f5088334-e630-4df0-a5be-ac87787acad0", - "name": "create", - "description": "Create/provision a new Azure Storage blob container in a storage account.\r\n\r\nRequired: --account, --container, --subscription\r\nOptional: --tenant\r\n\r\nReturns: container name, lastModified, eTag, leaseStatus, publicAccessLevel, hasImmutabilityPolicy, hasLegalHold.\r\nCreates a logical container for organizing blobs within a storage account.", - "command": "storage blob container create", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--account", - "description": "The name of the Azure Storage account. This is the unique name you chose for your storage account (e.g., 'mystorageaccount').", - "type": "string", - "required": true - }, - { - "name": "--container", - "description": "The name of the container to access within the storage account.", - "type": "string", - "required": true - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "e96eb850-abb8-431d-bdc6-7ccd0a24838e", - "name": "get", - "description": "Show/list containers in a storage account. Use this tool to list all blob containers in the storage account or\r\nshow details for a specific Storage container. If no container specified, shows all containers in the storage\r\naccount, optionally filtering on a prefix. The prefix is ignored if a container is specified.\r\n\r\nRequired: --account, --subscription\r\nOptional: --container, --tenant, --prefix\r\n\r\nReturns: container name, lastModified, leaseStatus, publicAccess, metadata, and container properties.\r\nDo not use this tool to list blobs in a container.", - "command": "storage blob container get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--account", - "description": "The name of the Azure Storage account. This is the unique name you chose for your storage account (e.g., 'mystorageaccount').", - "type": "string", - "required": true - }, - { - "name": "--container", - "description": "The name of the container to access within the storage account.", - "type": "string" - }, - { - "name": "--prefix", - "description": "The prefix to filter containers when listing containers in a storage account. Only containers whose names start with the specified prefix will be listed.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "d6bdc190-e68f-49af-82e7-9cf6ec9b8183", - "name": "get", - "description": "List/get/show blobs in a blob container in Storage account. Use this tool to list the blobs in a container or\r\nget details for a specific blob. If no blob specified, lists all blobs present in the container, optionally\r\nfiltering on a prefix. The prefix is ignored if a blob is specified.\r\n\r\nRequired: --account, --container, --subscription\r\nOptional: --blob, --tenant, --prefix\r\n\r\nReturns: blob name, size, lastModified, contentType, contentHash, metadata, and blob properties.\r\nDo not use this tool to list containers in the storage account.", - "command": "storage blob get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--account", - "description": "The name of the Azure Storage account. This is the unique name you chose for your storage account (e.g., 'mystorageaccount').", - "type": "string", - "required": true - }, - { - "name": "--container", - "description": "The name of the container to access within the storage account.", - "type": "string", - "required": true - }, - { - "name": "--blob", - "description": "The name of the blob to access within the container. This should be the full path within the container (e.g., 'file.txt' or 'folder/file.txt').", - "type": "string" - }, - { - "name": "--prefix", - "description": "The prefix to filter blobs when listing blobs in a container. Only blobs whose names start with the specified prefix will be listed.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "aafb82ac-e35a-4800-b362-c642a3ac1e17", - "name": "upload", - "description": "Uploads a local file to an Azure Storage blob, only if the blob does not exist, returning the last modified time,\r\nETag, and content hash of the uploaded blob.", - "command": "storage blob upload", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--account", - "description": "The name of the Azure Storage account. This is the unique name you chose for your storage account (e.g., 'mystorageaccount').", - "type": "string", - "required": true - }, - { - "name": "--container", - "description": "The name of the container to access within the storage account.", - "type": "string", - "required": true - }, - { - "name": "--blob", - "description": "The name of the blob to access within the container. This should be the full path within the container (e.g., 'file.txt' or 'folder/file.txt').", - "type": "string", - "required": true - }, - { - "name": "--local-file-path", - "description": "The local file path to read content from or to write content to. This should be the full path to the file on your local system.", - "type": "string", - "required": true - } - ], - "destructive": false, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": true - }, - { - "id": "1236ad1d-baf1-4b95-8c1d-420637ce08da", - "name": "list", - "description": "List all tables in an Azure Storage account. Shows table names for the specified storage account. Required: account, subscription. Optional: tenant. Returns: table names. Do not use this tool for Cosmos DB tables or Kusto/Data Explorer tables.", - "command": "storage table list", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--account", - "description": "The name of the Azure Storage account. This is the unique name you chose for your storage account (e.g., 'mystorageaccount').", - "type": "string", - "required": true - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "96f096a2-d36f-4361-aa74-4e393e7f48a5", - "name": "changedetection", - "description": "Trigger change detection on a cloud endpoint to sync file changes.", - "command": "storagesync cloudendpoint changedetection", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--name", - "--learn" - ], - "options": [ - { - "name": "--sync-group-name", - "description": "The name of the sync group", - "type": "string", - "required": true - }, - { - "name": "--cloud-endpoint-name", - "description": "The name of the cloud endpoint", - "type": "string", - "required": true - }, - { - "name": "--directory-path", - "description": "Relative path to a directory on the Azure File share for which change detection is to be performed", - "type": "string", - "required": true - }, - { - "name": "--change-detection-mode", - "description": "Change detection mode: 'Default' (directory only) or 'Recursive' (directory and subdirectories). Applies to the directory specified in directory-path", - "type": "string" - }, - { - "name": "--paths", - "description": "Array of relative paths on the Azure File share to be included in change detection. Can be files and directories", - "type": "string" - } - ], - "destructive": false, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "df0d4ae3-519a-44f1-ad30-d25a0985e9c2", - "name": "create", - "description": "Add a cloud endpoint to a sync group by connecting an Azure File Share. Cloud endpoints represent the Azure storage side of the sync relationship.", - "command": "storagesync cloudendpoint create", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--name", - "--learn" - ], - "options": [ - { - "name": "--sync-group-name", - "description": "The name of the sync group", - "type": "string", - "required": true - }, - { - "name": "--cloud-endpoint-name", - "description": "The name of the cloud endpoint", - "type": "string", - "required": true - }, - { - "name": "--storage-account-resource-id", - "description": "The resource ID of the Azure storage account", - "type": "string", - "required": true - }, - { - "name": "--azure-file-share-name", - "description": "The name of the Azure file share", - "type": "string", - "required": true - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "f5e76906-cc2a-41a4-b4f9-498221aaaf2e", - "name": "delete", - "description": "Delete a cloud endpoint from a sync group.", - "command": "storagesync cloudendpoint delete", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--name", - "--learn" - ], - "options": [ - { - "name": "--sync-group-name", - "description": "The name of the sync group", - "type": "string", - "required": true - }, - { - "name": "--cloud-endpoint-name", - "description": "The name of the cloud endpoint", - "type": "string", - "required": true - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "25dd8bb3-5ba3-4c0d-993d-54917f63d52e", - "name": "get", - "description": "List all cloud endpoints in a sync group or retrieve details about a specific cloud endpoint. Returns cloud endpoint properties including Azure File Share configuration, storage account details, and provisioning state. Use --cloud-endpoint-name for a specific endpoint.", - "command": "storagesync cloudendpoint get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--name", - "--learn" - ], - "options": [ - { - "name": "--sync-group-name", - "description": "The name of the sync group", - "type": "string", - "required": true - }, - { - "name": "--cloud-endpoint-name", - "description": "The name of the cloud endpoint", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "fe3b07c3-9a11-465e-bfb6-6461b85b2e52", - "name": "get", - "description": "List all registered servers in a Storage Sync service or retrieve details about a specific registered server. Returns server properties including server ID, registration status, agent version, OS version, and last heartbeat. Use --server-id for a specific server.", - "command": "storagesync registeredserver get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--name", - "--learn" - ], - "options": [ - { - "name": "--server-id", - "description": "The ID/name of the registered server", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "346661e1-64be-463a-96c6-3626966f55fa", - "name": "unregister", - "description": "Unregister a server from a Storage Sync service.", - "command": "storagesync registeredserver unregister", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--name", - "--learn" - ], - "options": [ - { - "name": "--server-id", - "description": "The ID/name of the registered server", - "type": "string", - "required": true - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "c443ed00-f17f-46a8-a5d3-df128aa1606b", - "name": "update", - "description": "Update properties of a registered server.", - "command": "storagesync registeredserver update", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--name", - "--learn" - ], - "options": [ - { - "name": "--server-id", - "description": "The ID/name of the registered server", - "type": "string", - "required": true - } - ], - "destructive": false, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "fcbdf461-6fde-4cfb-a944-4a56a2be90e4", - "name": "create", - "description": "Add a server endpoint to a sync group by specifying a local server path to sync. Server endpoints represent the on-premises side of the sync relationship and include cloud tiering configuration.", - "command": "storagesync serverendpoint create", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--name", - "--learn" - ], - "options": [ - { - "name": "--sync-group-name", - "description": "The name of the sync group", - "type": "string", - "required": true - }, - { - "name": "--server-endpoint-name", - "description": "The name of the server endpoint", - "type": "string", - "required": true - }, - { - "name": "--server-resource-id", - "description": "The resource ID of the registered server", - "type": "string", - "required": true - }, - { - "name": "--server-local-path", - "description": "The local folder path on the server for syncing", - "type": "string", - "required": true - }, - { - "name": "--cloud-tiering", - "description": "Enable cloud tiering on this endpoint", - "type": "string" - }, - { - "name": "--volume-free-space-percent", - "description": "Volume free space percentage to maintain (1-99, default 20)", - "type": "string" - }, - { - "name": "--tier-files-older-than-days", - "description": "Archive files not accessed for this many days", - "type": "string" - }, - { - "name": "--local-cache-mode", - "description": "Local cache mode: DownloadNewAndModifiedFiles, UpdateLocallyCachedFiles", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "ef6c2aa9-bb64-4f94-b18b-018e04b504c9", - "name": "delete", - "description": "Delete a server endpoint from a sync group.", - "command": "storagesync serverendpoint delete", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--name", - "--learn" - ], - "options": [ - { - "name": "--sync-group-name", - "description": "The name of the sync group", - "type": "string", - "required": true - }, - { - "name": "--server-endpoint-name", - "description": "The name of the server endpoint", - "type": "string", - "required": true - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "cf197b94-6aa6-403b-8679-3a1ce5440ca3", - "name": "get", - "description": "List all server endpoints in a sync group or retrieve details about a specific server endpoint. Returns server endpoint properties including local path, cloud tiering status, sync health, and provisioning state. Use --name for a specific endpoint.", - "command": "storagesync serverendpoint get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--name", - "--learn" - ], - "options": [ - { - "name": "--sync-group-name", - "description": "The name of the sync group", - "type": "string", - "required": true - }, - { - "name": "--server-endpoint-name", - "description": "The name of the server endpoint", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "7b35bb46-0a34-4e44-9d7c-148e9992b445", - "name": "update", - "description": "Update properties of a server endpoint.", - "command": "storagesync serverendpoint update", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--name", - "--learn" - ], - "options": [ - { - "name": "--sync-group-name", - "description": "The name of the sync group", - "type": "string", - "required": true - }, - { - "name": "--server-endpoint-name", - "description": "The name of the server endpoint", - "type": "string", - "required": true - }, - { - "name": "--cloud-tiering", - "description": "Enable cloud tiering on this endpoint", - "type": "string" - }, - { - "name": "--volume-free-space-percent", - "description": "Volume free space percentage to maintain (1-99, default 20)", - "type": "string" - }, - { - "name": "--tier-files-older-than-days", - "description": "Archive files not accessed for this many days", - "type": "string" - }, - { - "name": "--local-cache-mode", - "description": "Local cache mode: DownloadNewAndModifiedFiles, UpdateLocallyCachedFiles", - "type": "string" - } - ], - "destructive": false, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "7c76387f-c62e-48d1-af3b-d444d6b3b79c", - "name": "create", - "description": "Create a new Azure Storage Sync service resource in a resource group. This is the top-level service container that manages sync groups, registered servers, and synchronization workflows.", - "command": "storagesync service create", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--name", - "--learn" - ], - "options": [ - { - "name": "--location", - "description": "The Azure region/location name (e.g., EastUS, WestEurope)", - "type": "string", - "required": true - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "a7dcf4e2-fd1d-4d0a-acd3-f56ea5eceef6", - "name": "delete", - "description": "Delete an Azure Storage Sync service and all its associated resources.", - "command": "storagesync service delete", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--name", - "--learn" - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "77734a55-8290-4c16-8b37-cf37277f018f", - "name": "get", - "description": "Retrieve Azure Storage Sync service details or list all Storage Sync services. Use --name to get a specific service, or omit it to list all services in the subscription or resource group. Shows service properties, location, provisioning state, and configuration.", - "command": "storagesync service get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--name", - "description": "The name of the storage sync service", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "15db4769-1941-4b1e-9514-867b0f68eb2c", - "name": "update", - "description": "Update properties of an existing Azure Storage Sync service.", - "command": "storagesync service update", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--name", - "--learn" - ], - "options": [ - { - "name": "--incoming-traffic-policy", - "description": "Incoming traffic policy for the service (AllowAllTraffic or AllowVirtualNetworksOnly)", - "type": "string" - }, - { - "name": "--tags", - "description": "Tags to assign to the service (space-separated key=value pairs)", - "type": "string" - }, - { - "name": "--identity-type", - "description": "Managed service identity type (None, SystemAssigned, UserAssigned, SystemAssigned,UserAssigned)", - "type": "string" - } - ], - "destructive": false, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "3572833c-4fc2-4bb9-9eed-52ae8b8899b8", - "name": "create", - "description": "Create a sync group within an existing Storage Sync service. Sync groups define a sync topology and contain cloud endpoints (Azure File Shares) and server endpoints (local server paths) that sync together.", - "command": "storagesync syncgroup create", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--name", - "--learn" - ], - "options": [ - { - "name": "--sync-group-name", - "description": "The name of the sync group", - "type": "string", - "required": true - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "c8f91bd7-ea1d-4af4-9703-fe83c43b34b5", - "name": "delete", - "description": "Remove a sync group from a Storage Sync service. Deleting a sync group also removes all associated cloud endpoints and server endpoints within that group.", - "command": "storagesync syncgroup delete", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--name", - "--learn" - ], - "options": [ - { - "name": "--sync-group-name", - "description": "The name of the sync group", - "type": "string", - "required": true - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "95ce2336-19e6-40fb-a3ea-e2a76772036b", - "name": "get", - "description": "Get details about a specific sync group or list all sync groups. If --sync-group-name is provided, returns a specific sync group; otherwise, lists all sync groups in the Storage Sync service.", - "command": "storagesync syncgroup get", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--name", - "--learn" - ], - "options": [ - { - "name": "--sync-group-name", - "description": "The name of the sync group", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "72bbe80e-ca42-4a43-8f02-45495bca1179", - "name": "list", - "description": "List all Azure subscriptions for the current account. Returns subscriptionId, displayName, state, tenantId, and isDefault for each subscription. The isDefault field indicates the user's default subscription as resolved from the Azure CLI profile (configured via 'az account set') or, if not set there, from the AZURE_SUBSCRIPTION_ID environment variable. When the user has not specified a subscription, prefer the subscription where isDefault is true. If no default can be determined from either source and multiple subscriptions exist, ask the user which subscription to use.", - "command": "subscription list", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--learn" - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "63de05a7-047d-4f8a-86ea-cebd64527e2b", - "name": "list", - "description": "List all available commands and their tools in a hierarchical structure. This command returns detailed information\r\nabout each command, including its name, description, full command path, available subcommands, and all supported\r\narguments. Use --name-only to return only tool names, and --namespace to filter by specific namespaces.", - "command": "tools list", - "commonOptions": [ - "--learn" - ], - "options": [ - { - "name": "--namespace-mode", - "description": "If specified, returns a list of top-level service namespaces instead of individual tools.", - "type": "string" - }, - { - "name": "--namespace", - "description": "Filter tools by namespace (e.g., 'storage', 'keyvault'). Can be specified multiple times to include multiple namespaces.", - "type": "string" - }, - { - "name": "--name-only", - "description": "If specified, returns only tool names without descriptions or metadata.", - "type": "string" - }, - { - "name": "--include-hidden", - "description": "If specified, includes hidden commands in the output.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "6f543101-3c70-41bd-a6ed-5cc4af716081", - "name": "list", - "description": "List all SessionHosts in a hostpool. This command retrieves all Azure Virtual Desktop SessionHost objects available\r\nin the specified --subscription and hostpool. Results include SessionHost details and are\r\nreturned as a JSON array.", - "command": "virtualdesktop hostpool host list", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--hostpool", - "description": "The name of the Azure Virtual Desktop host pool. This is the unique name you chose for your hostpool.", - "type": "string" - }, - { - "name": "--hostpool-resource-id", - "description": "The Azure resource ID of the host pool. When provided, this will be used instead of searching by name.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "1653a208-ac9f-4e51-996f-fe2d29a79b2b", - "name": "user-list", - "description": "List all user sessions on a specific session host in a host pool. This command retrieves all Azure Virtual Desktop\r\nuser session objects available on the specified session host. Results include user session details such as\r\nuser principal name, session state, application type, and creation time.", - "command": "virtualdesktop hostpool host user-list", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--hostpool", - "description": "The name of the Azure Virtual Desktop host pool. This is the unique name you chose for your hostpool.", - "type": "string" - }, - { - "name": "--hostpool-resource-id", - "description": "The Azure resource ID of the host pool. When provided, this will be used instead of searching by name.", - "type": "string" - }, - { - "name": "--sessionhost", - "description": "The name of the session host. This is the computer name of the virtual machine in the host pool.", - "type": "string", - "required": true - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "bf0ae005-7dfd-4f96-8f45-3d0ba07f81ed", - "name": "list", - "description": "List all hostpools in a subscription or resource group. This command retrieves all Azure Virtual Desktop hostpool objects available\r\nin the specified --subscription. If a resource group is specified, only hostpools in that resource group are returned.\r\nResults include hostpool names and are returned as a JSON array.", - "command": "virtualdesktop hostpool list", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "a7d4e9f2-8c3b-4a1e-9f5d-6b2c8e4a7d3f", - "name": "get", - "description": "Get Azure Well-Architected Framework guidance for a specific Azure service, or list all supported services when no service is specified. When a service is provided, returns architectural best practices, design patterns, and recommendations based on the five pillars: reliability, security, cost optimization, operational excellence, and performance efficiency.\r\nOptional: --service: A single Azure service name. Service name format: case-insensitive; hyphens, underscores, spaces, and name variations allowed; use double quotes (not single quotes) for names with spaces. e.g., cosmos-db, Cosmos_DB, \"Cosmos DB\", cosmosdb, cosmos-database, cosmosdatabase", - "command": "wellarchitectedframework serviceguide get", - "commonOptions": [ - "--learn" - ], - "options": [ - { - "name": "--service", - "description": "A single Azure service name. Service name format: case-insensitive; hyphens, underscores, spaces, and name variations allowed; use double quotes (not single quotes) for names with spaces. e.g., cosmos-db, Cosmos_DB, \"Cosmos DB\", cosmosdb, cosmos-database, cosmosdatabase", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "a49c650d-8568-4b63-8bad-35eb6d9ab0a7", - "name": "create", - "description": "Create a new workbook in the specified resource group and subscription.\r\nYou can set the display name and serialized data JSON content for the workbook.\r\nReturns the created workbook information upon successful completion.", - "command": "workbooks create", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--resource-group", - "--learn" - ], - "options": [ - { - "name": "--display-name", - "description": "The display name of the workbook.", - "type": "string", - "required": true - }, - { - "name": "--serialized-content", - "description": "The serialized JSON content of the workbook.", - "type": "string", - "required": true - }, - { - "name": "--source-id", - "description": "The linked resource ID for the workbook. By default, this is 'azure monitor'.", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "17bb94ef-9df1-45d2-a1a0-ed57656ca067", - "name": "delete", - "description": "Delete one or more workbooks by their Azure resource IDs.\r\nThis command soft deletes workbooks: they will be retained for 90 days.\r\nIf needed, you can restore them from the Recycle Bin through the Azure Portal.\r\n\r\nBATCH: Accepts multiple --workbook-ids values. Partial failures are reported per-workbook.\r\nIndividual failures do not fail the entire batch operation.\r\n\r\nTo learn more, visit: https://learn.microsoft.com/azure/azure-monitor/visualize/workbooks-manage", - "command": "workbooks delete", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--learn" - ], - "options": [ - { - "name": "--workbook-ids", - "description": "The Azure Resource IDs of the workbooks to operate on (supports multiple values for batch operations).", - "type": "string", - "required": true - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "c4c90435-fbc0-4598-ba82-3b9213d58b26", - "name": "list", - "description": "Search Azure Workbooks using Resource Graph (fast metadata query).\r\n\r\nUSE FOR: Discovery, filtering, counting workbooks across scopes.\r\nRETURNS: Workbook metadata (id, name, location, category, timestamps).\r\nDOES NOT RETURN: Full workbook content (serializedData) by default - use 'show' for that or set --output-format=full.\r\n\r\nSCOPE: By default searches workbooks in your current Azure context (tenant/subscription). Use --subscription and --resource-group to explicitly control scope.\r\nTOTAL COUNT: Returns server-side total count by default (not just returned items).\r\nMAX RESULTS: Default 50, max 1000. Use --max-results to adjust.\r\nOUTPUT FORMAT: Use --output-format=summary for minimal tokens, --output-format=full for serializedData.\r\n\r\nFILTERS: --name-contains, --category, --kind, --source-id, --modified-after for semantic filtering.", - "command": "workbooks list", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--subscription", - "--learn" - ], - "options": [ - { - "name": "--resource-group", - "description": "The name of the Azure resource group. This is a logical container for Azure resources.", - "type": "string" - }, - { - "name": "--kind", - "description": "Filter workbooks by kind (e.g., 'shared', 'user'). If not specified, all kinds will be returned.", - "type": "string" - }, - { - "name": "--category", - "description": "Filter workbooks by category (e.g., 'workbook', 'sentinel', 'TSG'). If not specified, all categories will be returned.", - "type": "string" - }, - { - "name": "--source-id", - "description": "Filter workbooks by source resource ID (e.g., Application Insights resource, Log Analytics workspace). If not specified, all workbooks will be returned.", - "type": "string" - }, - { - "name": "--name-contains", - "description": "Filter workbooks where display name contains this text (case-insensitive).", - "type": "string" - }, - { - "name": "--modified-after", - "description": "Filter workbooks modified after this date (ISO 8601 format, e.g., '2024-01-15').", - "type": "string" - }, - { - "name": "--output-format", - "description": "Output format: 'summary' (id+name only, minimal tokens), 'standard' (metadata without content, default), 'full' (includes serializedData).", - "type": "string" - }, - { - "name": "--max-results", - "description": "Maximum number of results to return (default: 50, max: 1000).", - "type": "string" - }, - { - "name": "--include-total-count", - "description": "Include total count of all matching workbooks in the response (default: true).", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "a7a882cd-1729-49ed-b349-2a79f8c7de56", - "name": "show", - "description": "Retrieve full workbook details via ARM API (includes serializedData content).\r\n\r\nUSE FOR: Getting complete workbook definition including visualization JSON.\r\nRETURNS: Full workbook properties, serializedData, tags, etag.\r\n\r\nBATCH: Accepts multiple --workbook-ids values. Partial failures reported per-workbook.\r\nPERFORMANCE: Use 'list' first for discovery, then 'show' for specific workbooks.", - "command": "workbooks show", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--learn" - ], - "options": [ - { - "name": "--workbook-ids", - "description": "The Azure Resource IDs of the workbooks to operate on (supports multiple values for batch operations).", - "type": "string", - "required": true - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "9efdc32c-22bc-4b85-8b5c-2fbefc0e927e", - "name": "update", - "description": "Updates properties of an existing Azure Workbook by adding new steps, modifying content, or changing the display name. Returns the updated workbook details. Requires the workbook resource ID and either new serialized content or a new display name.", - "command": "workbooks update", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--learn" - ], - "options": [ - { - "name": "--workbook-id", - "description": "The Azure Resource ID of the workbook to retrieve.", - "type": "string", - "required": true - }, - { - "name": "--display-name", - "description": "The display name of the workbook.", - "type": "string" - }, - { - "name": "--serialized-content", - "description": "The JSON serialized content/data of the workbook.", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - } - ] -} diff --git a/servers/Fabric.Mcp.Server/tools.json b/servers/Fabric.Mcp.Server/tools.json deleted file mode 100644 index e94cb3d653..0000000000 --- a/servers/Fabric.Mcp.Server/tools.json +++ /dev/null @@ -1,999 +0,0 @@ -{ - "commonOptions": { - "--auth-method": { - "name": "--auth-method", - "description": "Authentication method to use. Options: 'credential' (Azure CLI/managed identity), 'key' (access key), or 'connectionString'.", - "type": "string" - }, - "--item": { - "name": "--item", - "description": "The name or ID of the Fabric item. When using friendly names, MUST include the item type suffix (e.g., 'ItemName.Lakehouse', 'ItemName.Warehouse').", - "type": "string" - }, - "--item-id": { - "name": "--item-id", - "description": "The ID of the Fabric item.", - "type": "string" - }, - "--learn": { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - }, - "--retry-delay": { - "name": "--retry-delay", - "description": "Initial delay in seconds between retry attempts. For exponential backoff, this value is used as the base.", - "type": "string" - }, - "--retry-max-delay": { - "name": "--retry-max-delay", - "description": "Maximum delay in seconds between retries, regardless of the retry strategy.", - "type": "string" - }, - "--retry-max-retries": { - "name": "--retry-max-retries", - "description": "Maximum number of retry attempts for failed operations before giving up.", - "type": "string" - }, - "--retry-mode": { - "name": "--retry-mode", - "description": "Retry strategy to use. 'fixed' uses consistent delays, 'exponential' increases delay between attempts.", - "type": "string" - }, - "--retry-network-timeout": { - "name": "--retry-network-timeout", - "description": "Network operation timeout in seconds. Operations taking longer than this will be cancelled.", - "type": "string" - }, - "--tenant": { - "name": "--tenant", - "description": "The Microsoft Entra ID tenant ID or name. This can be either the GUID identifier or the display name of your Entra ID tenant.", - "type": "string" - }, - "--workspace": { - "name": "--workspace", - "description": "The name or ID of the Microsoft Fabric workspace.", - "type": "string" - }, - "--workspace-id": { - "name": "--workspace-id", - "description": "The ID of the Microsoft Fabric workspace.", - "type": "string" - } - }, - "tools": [ - { - "id": "bfdfd3c0-4551-4454-a930-5bf5b1ad5690", - "name": "create-item", - "description": "Creates a new item in a Fabric workspace. Use this when the user wants to create a Lakehouse, Notebook, or other Fabric item type. Requires workspace ID, item name, and item type.", - "command": "core create-item", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--workspace-id", - "--workspace", - "--learn" - ], - "options": [ - { - "name": "--display-name", - "description": "The display name for the item.", - "type": "string", - "required": true - }, - { - "name": "--item-type", - "description": "The type of the Fabric item (e.g., Lakehouse, Notebook, etc.).", - "type": "string", - "required": true - }, - { - "name": "--description", - "description": "The description for the item.", - "type": "string" - } - ], - "destructive": false, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "3efdeea3-ee84-43e7-b7a9-c4accb03795a", - "name": "api-examples", - "description": "Retrieves example API request and response files for a Fabric workload. Use this when the user needs sample API calls or implementation examples. Returns dictionary of example files with their contents.", - "command": "docs api-examples", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--learn" - ], - "options": [ - { - "name": "--workload-type", - "description": "The type of Microsoft Fabric workload.", - "type": "string", - "required": true - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "0a73ecc9-d257-4ff3-8e05-fd3158c2cd31", - "name": "best-practices", - "description": "Retrieves embedded best practice documentation for a specific Fabric topic. Use this when the user needs guidance, recommendations, or implementation patterns for Fabric features. Returns detailed best practice content.", - "command": "docs best-practices", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--learn" - ], - "options": [ - { - "name": "--topic", - "description": "The best practice topic to retrieve documentation for.", - "type": "string", - "required": true - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "445c49f3-2a5d-478a-82ca-87fde1a7943e", - "name": "item-definitions", - "description": "Retrieves JSON schema definitions for items in a Fabric workload API. Use this when the user needs to understand item structure or validate item definitions. Returns schema definitions for the specified workload.", - "command": "docs item-definitions", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--learn" - ], - "options": [ - { - "name": "--workload-type", - "description": "The type of Microsoft Fabric workload.", - "type": "string", - "required": true - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "2338df97-d6d9-4f1d-9e92-e118efe9c643", - "name": "platform-api-spec", - "description": "Retrieves the OpenAPI specification for core Fabric platform APIs. Use this when the user needs documentation for cross-workload platform APIs like workspace management. Returns complete platform API specification.", - "command": "docs platform-api-spec", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--learn" - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "97229a98-c1ae-4255-a6e2-07631c2a42c5", - "name": "workload-api-spec", - "description": "Retrieves the complete OpenAPI specification for a specific Fabric workload. Use this when the user needs detailed API documentation for a workload like notebooks or reports. Returns full API spec in JSON format.", - "command": "docs workload-api-spec", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--learn" - ], - "options": [ - { - "name": "--workload-type", - "description": "The type of Microsoft Fabric workload.", - "type": "string", - "required": true - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "b1f80251-df7b-4054-953b-5f452c42dd09", - "name": "workloads", - "description": "Lists Fabric workload types that have public API specifications available. Use this when the user needs to discover what APIs exist for Fabric workloads. Returns workload names like notebook, report, or platform.", - "command": "docs workloads", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--learn" - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "0c4cf0f4-2ef4-4f1d-9f80-24fd7636d5fe", - "name": "create_directory", - "description": "Creates a directory in OneLake storage. Use this when the user needs to organize files or prepare folder structures. Can create nested directory paths.", - "command": "onelake create directory", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--workspace-id", - "--workspace", - "--item-id", - "--item", - "--learn" - ], - "options": [ - { - "name": "--directory-path", - "description": "The path to the directory in OneLake.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "86991cd6-75fa-4870-9d99-f986ba9f5f73", - "name": "delete_directory", - "description": "Deletes a directory from OneLake storage. Use this when the user wants to remove a folder. Use recursive flag to delete non-empty directories.", - "command": "onelake delete directory", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--workspace-id", - "--workspace", - "--item-id", - "--item", - "--learn" - ], - "options": [ - { - "name": "--directory-path", - "description": "The path to the directory in OneLake.", - "type": "string" - }, - { - "name": "--recursive", - "description": "Whether to perform the operation recursively.", - "type": "string" - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "0aa3f887-0085-4141-8e34-f0cf1ed44f71", - "name": "delete_file", - "description": "Deletes a file from OneLake storage. Use this when the user wants to remove a specific file. Permanently removes the file at the specified path.", - "command": "onelake delete file", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--workspace-id", - "--workspace", - "--item-id", - "--item", - "--learn" - ], - "options": [ - { - "name": "--file-path", - "description": "The path to the file in OneLake.", - "type": "string", - "required": true - } - ], - "destructive": true, - "idempotent": true, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "75d6cb4c-4e81-4e69-a4ec-eca53a7dacd9", - "name": "download_file", - "description": "Downloads a file from OneLake storage. Use this when the user needs to retrieve file content or metadata. Returns base64 content, metadata, and text when applicable.", - "command": "onelake download file", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--workspace-id", - "--workspace", - "--item-id", - "--item", - "--learn" - ], - "options": [ - { - "name": "--file-path", - "description": "The path to the file in OneLake.", - "type": "string", - "required": true - }, - { - "name": "--download-file-path", - "description": "Local path to save the downloaded content when running locally.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "19bb5a6a-2a09-410c-bfa0-312986c6acc6", - "name": "get_table", - "description": "Retrieves table definition from OneLake. Use this when the user needs table schema or metadata.", - "command": "onelake get table", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--workspace-id", - "--workspace", - "--item-id", - "--item", - "--learn" - ], - "options": [ - { - "name": "--namespace", - "description": "The table namespace (schema) to inspect within the OneLake table API.", - "type": "string", - "required": true - }, - { - "name": "--schema", - "description": "Alias for --namespace when specifying table schemas in the OneLake table API.", - "type": "string" - }, - { - "name": "--table", - "description": "The table name exposed by the OneLake table API.", - "type": "string", - "required": true - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "bc15c475-0329-4cc3-aaa8-0e9f3fbde6f8", - "name": "get_table_config", - "description": "Retrieves table API configuration for OneLake. Use this when the user needs to understand table access settings.", - "command": "onelake get table config", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--workspace-id", - "--workspace", - "--item-id", - "--item", - "--learn" - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "a86298d1-7475-4ea8-8c1b-e4c54ac2b896", - "name": "get_table_namespace", - "description": "Retrieves metadata for a specific table namespace. Use this when the user needs details about a namespace.", - "command": "onelake get table namespace", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--workspace-id", - "--workspace", - "--item-id", - "--item", - "--learn" - ], - "options": [ - { - "name": "--namespace", - "description": "The table namespace (schema) to inspect within the OneLake table API.", - "type": "string", - "required": true - }, - { - "name": "--schema", - "description": "Alias for --namespace when specifying table schemas in the OneLake table API.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "3bf1b82d-ff44-4984-9b97-0e6d9e4917a3", - "name": "list_files", - "description": "List files and directories in OneLake storage using a filesystem-style hierarchical view, similar to Azure Data Lake Storage Gen2. \r\nShows directory structure with paths, sizes, timestamps, and metadata. Use this to explore OneLake content in a filesystem format \r\nrather than flat blob listing. Supports optional path filtering and recursive directory traversal.\r\n\r\nIf no path is specified, intelligently discovers content by searching both Files and Tables folders automatically,\r\nproviding comprehensive visibility across all top-level OneLake folders.\r\n\r\nUse --format=raw to get the unprocessed OneLake DFS API response for debugging and analysis.", - "command": "onelake list files", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--workspace-id", - "--workspace", - "--item-id", - "--item", - "--learn" - ], - "options": [ - { - "name": "--path", - "description": "The path to list in OneLake storage (optional, defaults to root).", - "type": "string" - }, - { - "name": "--recursive", - "description": "Whether to perform the operation recursively.", - "type": "string" - }, - { - "name": "--format", - "description": "Output format for OneLake API responses. Use 'json' for parsed objects, 'xml' for raw XML API response, or 'raw' for unprocessed API response. Supported values: 'json' (default), 'xml', 'raw'.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "61eb86d8-3879-4d2d-969a-6c96f2e0ce0d", - "name": "list_items", - "description": "Lists OneLake items in a Fabric workspace using the high-level OneLake API. Use this when the user needs to see what items exist in a workspace. Returns item names, types, and metadata.", - "command": "onelake list items", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--workspace-id", - "--workspace", - "--learn" - ], - "options": [ - { - "name": "--continuation-token", - "description": "Token for retrieving the next page of results.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "8925d0c4-becf-4b5a-8af1-3e998c1058ec", - "name": "list_items_dfs", - "description": "List OneLake items in a workspace using the OneLake DFS (Data Lake File System) data API.", - "command": "onelake list items dfs", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--workspace-id", - "--workspace", - "--learn" - ], - "options": [ - { - "name": "--recursive", - "description": "Whether to perform the operation recursively.", - "type": "string" - }, - { - "name": "--continuation-token", - "description": "Token for retrieving the next page of results.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "173cfc00-7c12-486d-a0e7-c0d4c1de23fd", - "name": "list_table_namespaces", - "description": "Lists table namespaces in OneLake. Use this when the user needs to discover available table namespaces.", - "command": "onelake list table namespaces", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--workspace-id", - "--workspace", - "--item-id", - "--item", - "--learn" - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "7b1688e5-2a16-475d-8fd1-9bf3b0acf4f7", - "name": "list_tables", - "description": "Lists tables in OneLake. Use this when the user needs to see available tables.", - "command": "onelake list tables", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--workspace-id", - "--workspace", - "--item-id", - "--item", - "--learn" - ], - "options": [ - { - "name": "--namespace", - "description": "The table namespace (schema) to inspect within the OneLake table API.", - "type": "string", - "required": true - }, - { - "name": "--schema", - "description": "Alias for --namespace when specifying table schemas in the OneLake table API.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "5f005a27-9838-4c09-9785-55ce49963c97", - "name": "list_workspaces", - "description": "Lists all Fabric workspaces accessible via OneLake data plane API. Use this when the user needs to view available workspaces or select a workspace for data operations. Returns workspace names and IDs.", - "command": "onelake list workspaces", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--learn" - ], - "options": [ - { - "name": "--continuation-token", - "description": "Token for retrieving the next page of results.", - "type": "string" - }, - { - "name": "--format", - "description": "Output format for OneLake API responses. Use 'json' for parsed objects, 'xml' for raw XML API response, or 'raw' for unprocessed API response. Supported values: 'json' (default), 'xml', 'raw'.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "f6b3249d-6481-4e80-9d34-0d6867718dd7", - "name": "upload_file", - "description": "Uploads a file to OneLake storage from inline content or local file path. Use this when the user needs to store data in OneLake. Supports overwrite control and content type specification.", - "command": "onelake upload file", - "commonOptions": [ - "--tenant", - "--auth-method", - "--retry-delay", - "--retry-max-delay", - "--retry-max-retries", - "--retry-mode", - "--retry-network-timeout", - "--workspace-id", - "--workspace", - "--item-id", - "--item", - "--learn" - ], - "options": [ - { - "name": "--file-path", - "description": "The path to the file in OneLake.", - "type": "string", - "required": true - }, - { - "name": "--content", - "description": "The content to write to the file.", - "type": "string" - }, - { - "name": "--local-file-path", - "description": "The path to a local file to upload.", - "type": "string" - }, - { - "name": "--overwrite", - "description": "Whether to overwrite existing files.", - "type": "string" - }, - { - "name": "--content-type", - "description": "MIME content type to set on the uploaded file (e.g., 'application/json'). Defaults to 'application/octet-stream'.", - "type": "string" - } - ], - "destructive": true, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "add0f6fe-258c-45c4-af74-0c165d4913cb", - "name": "info", - "description": "Displays running MCP server information.", - "command": "server info", - "commonOptions": [ - "--learn" - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "b3e7c1a2-4f85-4d9e-a6c3-8f2b1e0d7a94", - "name": "plugin-telemetry", - "description": "Publish plugin-related telemetry events from agent hooks.\r\nAccepts command-line options such as '--timestamp', '--event-type', '--session-id', '--client-type', '--client-name', \r\n'--plugin-name', '--plugin-version', '--skill-name', '--skill-version', '--tool-name', and '--file-reference'. \r\nUse this command from agent hooks in clients like VS Code, Claude Desktop, or Copilot CLI to emit usage metrics.", - "command": "server plugin-telemetry", - "commonOptions": [ - "--learn" - ], - "options": [ - { - "name": "--timestamp", - "description": "Timestamp of the telemetry event in ISO 8601 format.", - "type": "string", - "required": true - }, - { - "name": "--event-type", - "description": "Type of event being logged (e.g., 'skill_invocation', 'tool_invocation', 'reference_file_read').", - "type": "string", - "required": true - }, - { - "name": "--session-id", - "description": "Session identifier for correlating related events.", - "type": "string", - "required": true - }, - { - "name": "--client-type", - "description": "Type of client invoking the telemetry (e.g., 'copilot-cli', 'claude-code', 'vscode'). Deprecated: prefer --client-name.", - "type": "string" - }, - { - "name": "--client-name", - "description": "Name of the client invoking the telemetry (e.g., 'copilot-cli', 'claude-code', 'Visual Studio Code', 'Visual Studio Code - Insiders').", - "type": "string" - }, - { - "name": "--plugin-name", - "description": "Name of the plugin being invoked.", - "type": "string" - }, - { - "name": "--plugin-version", - "description": "Version of the plugin being invoked.", - "type": "string" - }, - { - "name": "--skill-name", - "description": "Name of the skill being invoked.", - "type": "string" - }, - { - "name": "--skill-version", - "description": "Version of the skill being invoked.", - "type": "string" - }, - { - "name": "--tool-name", - "description": "Name of the tool being invoked.", - "type": "string" - }, - { - "name": "--file-reference", - "description": "Plugin-relative file reference being accessed (will be validated against an allowlist).", - "type": "string" - } - ], - "destructive": false, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "9953ff62-e3d7-4bdf-9b70-d569e54e3df1", - "name": "start", - "description": "Starts Azure MCP Server.", - "command": "server start", - "commonOptions": [ - "--learn" - ], - "options": [ - { - "name": "--transport", - "description": "Transport mechanism to use for MCP Server.", - "type": "string" - }, - { - "name": "--namespace", - "description": "The service namespaces to expose on the MCP server (e.g., storage, keyvault, cosmos).", - "type": "string" - }, - { - "name": "--mode", - "description": "Mode for the MCP server. 'single' exposes one azure tool that routes to all services. 'namespace' (default) exposes one tool per service namespace. 'all' exposes all tools individually.", - "type": "string" - }, - { - "name": "--tool", - "description": "Expose only specific tools by name (e.g., 'acr_registry_list'). Repeat this option to include multiple tools, e.g., --tool \"acr_registry_list\" --tool \"group_list\". It automatically switches to \"all\" mode when \"--tool\" is used. It can't be used together with \"--namespace\".", - "type": "string" - }, - { - "name": "--read-only", - "description": "Whether the MCP server should be read-only. If true, no write operations will be allowed.", - "type": "string" - }, - { - "name": "--debug", - "description": "Enable debug mode with verbose logging to stderr.", - "type": "string" - }, - { - "name": "--dangerously-disable-http-incoming-auth", - "description": "Dangerously disables HTTP incoming authentication, exposing the server to unauthenticated access over HTTP. Use with extreme caution, this disables all transport security and may expose sensitive data to interception.", - "type": "string" - }, - { - "name": "--dangerously-disable-elicitation", - "description": "Disable elicitation (user confirmation) before allowing high risk commands to run, such as returning Secrets (passwords) from KeyVault.", - "type": "string" - }, - { - "name": "--outgoing-auth-strategy", - "description": "Outgoing authentication strategy for service requests. Valid values: NotSet, UseHostingEnvironmentIdentity, UseOnBehalfOf.", - "type": "string" - }, - { - "name": "--dangerously-write-support-logs-to-dir", - "description": "Dangerously enables detailed debug-level logging for support and troubleshooting purposes. Specify a folder path where log files will be automatically created with timestamp-based filenames (e.g., azmcp_20251202_143052.log). This may include sensitive information in logs. Use with extreme caution and only when requested by support.", - "type": "string" - }, - { - "name": "--dangerously-disable-retry-limits", - "description": "Dangerously disables upper bounds on retry delays, max delays, network timeouts, and max retries. This may lead to excessively long waits and should only be used when explicitly needed.", - "type": "string" - }, - { - "name": "--cloud", - "description": "Azure cloud environment for authentication. Valid values: AzureCloud (default), AzureChinaCloud, AzureUSGovernment, or a custom authority host URL starting with https://", - "type": "string" - }, - { - "name": "--disable-caching", - "description": "Disable caching of resource responses, requiring repeated requests to fetch fresh data each time.", - "type": "string" - } - ], - "destructive": false, - "idempotent": false, - "openWorld": true, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "63de05a7-047d-4f8a-86ea-cebd64527e2b", - "name": "list", - "description": "List all available commands and their tools in a hierarchical structure. This command returns detailed information\r\nabout each command, including its name, description, full command path, available subcommands, and all supported\r\narguments. Use --name-only to return only tool names, and --namespace to filter by specific namespaces.", - "command": "tools list", - "commonOptions": [ - "--learn" - ], - "options": [ - { - "name": "--namespace-mode", - "description": "If specified, returns a list of top-level service namespaces instead of individual tools.", - "type": "string" - }, - { - "name": "--namespace", - "description": "Filter tools by namespace (e.g., 'storage', 'keyvault'). Can be specified multiple times to include multiple namespaces.", - "type": "string" - }, - { - "name": "--name-only", - "description": "If specified, returns only tool names without descriptions or metadata.", - "type": "string" - }, - { - "name": "--include-hidden", - "description": "If specified, includes hidden commands in the output.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - } - ] -} diff --git a/servers/Template.Mcp.Server/tools.json b/servers/Template.Mcp.Server/tools.json deleted file mode 100644 index d327dfd040..0000000000 --- a/servers/Template.Mcp.Server/tools.json +++ /dev/null @@ -1,221 +0,0 @@ -[ - { - "id": "add0f6fe-258c-45c4-af74-0c165d4913cb", - "name": "info", - "description": "Displays running MCP server information.", - "command": "server info", - "options": [ - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "b3e7c1a2-4f85-4d9e-a6c3-8f2b1e0d7a94", - "name": "plugin-telemetry", - "description": "Publish plugin-related telemetry events from agent hooks.\r\nAccepts command-line options such as '--timestamp', '--event-type', '--session-id', '--client-type', '--client-name', \r\n'--plugin-name', '--plugin-version', '--skill-name', '--skill-version', '--tool-name', and '--file-reference'. \r\nUse this command from agent hooks in clients like VS Code, Claude Desktop, or Copilot CLI to emit usage metrics.", - "command": "server plugin-telemetry", - "options": [ - { - "name": "--timestamp", - "description": "Timestamp of the telemetry event in ISO 8601 format.", - "type": "string", - "required": true - }, - { - "name": "--event-type", - "description": "Type of event being logged (e.g., 'skill_invocation', 'tool_invocation', 'reference_file_read').", - "type": "string", - "required": true - }, - { - "name": "--session-id", - "description": "Session identifier for correlating related events.", - "type": "string", - "required": true - }, - { - "name": "--client-type", - "description": "Type of client invoking the telemetry (e.g., 'copilot-cli', 'claude-code', 'vscode'). Deprecated: prefer --client-name.", - "type": "string" - }, - { - "name": "--client-name", - "description": "Name of the client invoking the telemetry (e.g., 'copilot-cli', 'claude-code', 'Visual Studio Code', 'Visual Studio Code - Insiders').", - "type": "string" - }, - { - "name": "--plugin-name", - "description": "Name of the plugin being invoked.", - "type": "string" - }, - { - "name": "--plugin-version", - "description": "Version of the plugin being invoked.", - "type": "string" - }, - { - "name": "--skill-name", - "description": "Name of the skill being invoked.", - "type": "string" - }, - { - "name": "--skill-version", - "description": "Version of the skill being invoked.", - "type": "string" - }, - { - "name": "--tool-name", - "description": "Name of the tool being invoked.", - "type": "string" - }, - { - "name": "--file-reference", - "description": "Plugin-relative file reference being accessed (will be validated against an allowlist).", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": false, - "openWorld": false, - "readOnly": false, - "secret": false, - "localRequired": false - }, - { - "id": "9953ff62-e3d7-4bdf-9b70-d569e54e3df1", - "name": "start", - "description": "Starts Azure MCP Server.", - "command": "server start", - "options": [ - { - "name": "--transport", - "description": "Transport mechanism to use for MCP Server.", - "type": "string" - }, - { - "name": "--namespace", - "description": "The service namespaces to expose on the MCP server (e.g., storage, keyvault, cosmos).", - "type": "string" - }, - { - "name": "--mode", - "description": "Mode for the MCP server. 'single' exposes one azure tool that routes to all services. 'namespace' (default) exposes one tool per service namespace. 'all' exposes all tools individually.", - "type": "string" - }, - { - "name": "--tool", - "description": "Expose only specific tools by name (e.g., 'acr_registry_list'). Repeat this option to include multiple tools, e.g., --tool \"acr_registry_list\" --tool \"group_list\". It automatically switches to \"all\" mode when \"--tool\" is used. It can't be used together with \"--namespace\".", - "type": "string" - }, - { - "name": "--read-only", - "description": "Whether the MCP server should be read-only. If true, no write operations will be allowed.", - "type": "string" - }, - { - "name": "--debug", - "description": "Enable debug mode with verbose logging to stderr.", - "type": "string" - }, - { - "name": "--dangerously-disable-http-incoming-auth", - "description": "Dangerously disables HTTP incoming authentication, exposing the server to unauthenticated access over HTTP. Use with extreme caution, this disables all transport security and may expose sensitive data to interception.", - "type": "string" - }, - { - "name": "--dangerously-disable-elicitation", - "description": "Disable elicitation (user confirmation) before allowing high risk commands to run, such as returning Secrets (passwords) from KeyVault.", - "type": "string" - }, - { - "name": "--outgoing-auth-strategy", - "description": "Outgoing authentication strategy for service requests. Valid values: NotSet, UseHostingEnvironmentIdentity, UseOnBehalfOf.", - "type": "string" - }, - { - "name": "--dangerously-write-support-logs-to-dir", - "description": "Dangerously enables detailed debug-level logging for support and troubleshooting purposes. Specify a folder path where log files will be automatically created with timestamp-based filenames (e.g., azmcp_20251202_143052.log). This may include sensitive information in logs. Use with extreme caution and only when requested by support.", - "type": "string" - }, - { - "name": "--dangerously-disable-retry-limits", - "description": "Dangerously disables upper bounds on retry delays, max delays, network timeouts, and max retries. This may lead to excessively long waits and should only be used when explicitly needed.", - "type": "string" - }, - { - "name": "--cloud", - "description": "Azure cloud environment for authentication. Valid values: AzureCloud (default), AzureChinaCloud, AzureUSGovernment, or a custom authority host URL starting with https://", - "type": "string" - }, - { - "name": "--disable-caching", - "description": "Disable caching of resource responses, requiring repeated requests to fetch fresh data each time.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": false, - "openWorld": true, - "readOnly": true, - "secret": false, - "localRequired": false - }, - { - "id": "63de05a7-047d-4f8a-86ea-cebd64527e2b", - "name": "list", - "description": "List all available commands and their tools in a hierarchical structure. This command returns detailed information\r\nabout each command, including its name, description, full command path, available subcommands, and all supported\r\narguments. Use --name-only to return only tool names, and --namespace to filter by specific namespaces.", - "command": "tools list", - "options": [ - { - "name": "--namespace-mode", - "description": "If specified, returns a list of top-level service namespaces instead of individual tools.", - "type": "string" - }, - { - "name": "--namespace", - "description": "Filter tools by namespace (e.g., 'storage', 'keyvault'). Can be specified multiple times to include multiple namespaces.", - "type": "string" - }, - { - "name": "--name-only", - "description": "If specified, returns only tool names without descriptions or metadata.", - "type": "string" - }, - { - "name": "--include-hidden", - "description": "If specified, includes hidden commands in the output.", - "type": "string" - }, - { - "name": "--learn", - "description": "Discover available sub-commands and their parameters without executing any Azure operation. Use on a command group (e.g. 'azmcp storage --learn') to list all commands in that group, or on a specific command (e.g. 'azmcp storage account list --learn') to see its options.", - "type": "string" - } - ], - "destructive": false, - "idempotent": true, - "openWorld": false, - "readOnly": true, - "secret": false, - "localRequired": false - } -] From a76eb161555ade2383f2626669e1b95c4c00f4fb Mon Sep 17 00:00:00 2001 From: Patrick Hallisey Date: Mon, 4 May 2026 15:51:17 -0700 Subject: [PATCH 9/9] Add tests for --include-hidden --- .../Areas/Server/CommandFactoryHelpers.cs | 5 +- .../Tools/UnitTests/ToolsListCommandTests.cs | 183 ++++++++++++++++++ 2 files changed, 187 insertions(+), 1 deletion(-) diff --git a/core/Azure.Mcp.Core/tests/Azure.Mcp.Core.UnitTests/Areas/Server/CommandFactoryHelpers.cs b/core/Azure.Mcp.Core/tests/Azure.Mcp.Core.UnitTests/Areas/Server/CommandFactoryHelpers.cs index 344c181d93..7cd6cf6caf 100644 --- a/core/Azure.Mcp.Core/tests/Azure.Mcp.Core.UnitTests/Areas/Server/CommandFactoryHelpers.cs +++ b/core/Azure.Mcp.Core/tests/Azure.Mcp.Core.UnitTests/Areas/Server/CommandFactoryHelpers.cs @@ -60,7 +60,9 @@ namespace Azure.Mcp.Core.UnitTests.Areas.Server; internal class CommandFactoryHelpers { - public static ICommandFactory CreateCommandFactory(IServiceProvider? serviceProvider = default) + public static ICommandFactory CreateCommandFactory( + IServiceProvider? serviceProvider = default, + IAreaSetup[]? additionalAreaSetups = default) { IAreaSetup[] areaSetups = [ // Core areas @@ -104,6 +106,7 @@ public static ICommandFactory CreateCommandFactory(IServiceProvider? serviceProv new StorageSetup(), new VirtualDesktopSetup(), new WorkbooksSetup(), + .. (additionalAreaSetups ?? []), ]; var services = serviceProvider ?? CreateDefaultServiceProvider(); diff --git a/core/Azure.Mcp.Core/tests/Azure.Mcp.Core.UnitTests/Areas/Tools/UnitTests/ToolsListCommandTests.cs b/core/Azure.Mcp.Core/tests/Azure.Mcp.Core.UnitTests/Areas/Tools/UnitTests/ToolsListCommandTests.cs index 70d663a147..55ca183335 100644 --- a/core/Azure.Mcp.Core/tests/Azure.Mcp.Core.UnitTests/Areas/Tools/UnitTests/ToolsListCommandTests.cs +++ b/core/Azure.Mcp.Core/tests/Azure.Mcp.Core.UnitTests/Areas/Tools/UnitTests/ToolsListCommandTests.cs @@ -8,6 +8,7 @@ using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Microsoft.Mcp.Core.Areas; +using Microsoft.Mcp.Core.Areas.Tools; using Microsoft.Mcp.Core.Areas.Tools.Commands; using Microsoft.Mcp.Core.Areas.Tools.Options; using Microsoft.Mcp.Core.Commands; @@ -865,4 +866,186 @@ public async Task ExecuteAsync_WithNamespaceModeAndMultipleNamespaces_ReturnsFil Assert.Contains(result, cmd => cmd.Name.Equals("storage", StringComparison.OrdinalIgnoreCase)); Assert.Contains(result, cmd => cmd.Name.Equals("keyvault", StringComparison.OrdinalIgnoreCase)); } + + /// + /// Verifies that --include-hidden returns hidden commands that are normally filtered out. + /// The ToolsListCommand itself is [HiddenCommand], so it should appear only with --include-hidden. + /// + [Fact] + public async Task ExecuteAsync_WithIncludeHidden_ReturnsHiddenCommands() + { + // Arrange - use a context with ToolsSetup registered so there's a hidden command + var context = CreateContextWithToolsSetup(); + var args = _commandDefinition.Parse(["--include-hidden"]); + + // Act + var response = await _command.ExecuteAsync(context, args, TestContext.Current.CancellationToken); + + // Assert + Assert.NotNull(response); + Assert.Equal(HttpStatusCode.OK, response.Status); + Assert.NotNull(response.Results); + + var result = DeserializeResults(response.Results); + Assert.NotNull(result); + Assert.NotEmpty(result); + + // ToolsListCommand is [HiddenCommand] - it should appear with --include-hidden + Assert.Contains(result, cmd => cmd.Command == "tools list"); + } + + /// + /// Verifies that without --include-hidden, hidden commands like "tools list" are excluded. + /// + [Fact] + public async Task ExecuteAsync_WithoutIncludeHidden_ExcludesHiddenCommands() + { + // Arrange - use a context with ToolsSetup registered so there's a hidden command to filter + var context = CreateContextWithToolsSetup(); + var args = _commandDefinition.Parse([]); + + // Act + var response = await _command.ExecuteAsync(context, args, TestContext.Current.CancellationToken); + + // Assert + Assert.NotNull(response); + Assert.NotNull(response.Results); + + var result = DeserializeResults(response.Results); + Assert.NotNull(result); + + // ToolsListCommand is [HiddenCommand] - it should NOT appear without --include-hidden + Assert.DoesNotContain(result, cmd => cmd.Command == "tools list"); + } + + /// + /// Verifies that --include-hidden returns more commands than the default (without --include-hidden). + /// + [Fact] + public async Task ExecuteAsync_WithIncludeHidden_ReturnsMoreCommandsThanDefault() + { + // Arrange - both runs must use contexts with ToolsSetup, but separate instances + // since CommandContext.Response is shared per instance + var defaultContext = CreateContextWithToolsSetup(); + var hiddenContext = CreateContextWithToolsSetup(); + var defaultArgs = _commandDefinition.Parse([]); + var includeHiddenArgs = _commandDefinition.Parse(["--include-hidden"]); + + // Act + var defaultResponse = await _command.ExecuteAsync(defaultContext, defaultArgs, TestContext.Current.CancellationToken); + var hiddenResponse = await _command.ExecuteAsync(hiddenContext, includeHiddenArgs, TestContext.Current.CancellationToken); + + // Assert + var defaultResult = DeserializeResults(defaultResponse.Results!); + var hiddenResult = DeserializeResults(hiddenResponse.Results!); + + Assert.True(hiddenResult.Count > defaultResult.Count, + $"Expected --include-hidden to return more commands ({hiddenResult.Count}) than default ({defaultResult.Count})"); + } + + /// + /// Verifies that --include-hidden with --name-only includes hidden command names. + /// + [Fact] + public async Task ExecuteAsync_WithIncludeHiddenAndNameOnly_IncludesHiddenNames() + { + // Arrange - separate contexts since CommandContext.Response is shared per instance + var defaultContext = CreateContextWithToolsSetup(); + var hiddenContext = CreateContextWithToolsSetup(); + var defaultArgs = _commandDefinition.Parse(["--name-only"]); + var includeHiddenArgs = _commandDefinition.Parse(["--name-only", "--include-hidden"]); + + // Act + var defaultResponse = await _command.ExecuteAsync(defaultContext, defaultArgs, TestContext.Current.CancellationToken); + var hiddenResponse = await _command.ExecuteAsync(hiddenContext, includeHiddenArgs, TestContext.Current.CancellationToken); + + // Assert + var defaultResult = DeserializeToolNamesResult(defaultResponse.Results!); + var hiddenResult = DeserializeToolNamesResult(hiddenResponse.Results!); + + Assert.True(hiddenResult.Names.Count > defaultResult.Names.Count, + $"Expected --include-hidden --name-only to return more names ({hiddenResult.Names.Count}) than default ({defaultResult.Names.Count})"); + + // "tools_list" should only appear in the hidden results + Assert.Contains(hiddenResult.Names, name => name.Contains("tools") && name.Contains("list")); + Assert.DoesNotContain(defaultResult.Names, name => name.Contains("tools") && name.Contains("list")); + } + + /// + /// Verifies that --include-hidden can be parsed without errors. + /// + [Fact] + public void CanParseIncludeHiddenOption() + { + // Arrange & Act + var parseResult = _commandDefinition.Parse(["--include-hidden"]); + + // Assert + Assert.False(parseResult.Errors.Any(), $"Parse errors for --include-hidden: {string.Join(", ", parseResult.Errors)}"); + Assert.True(parseResult.GetValueOrDefault(ToolsListOptionDefinitions.IncludeHidden.Name)); + } + + /// + /// Verifies that BindOptions correctly binds the --include-hidden option. + /// + [Fact] + public void BindOptions_WithIncludeHidden_BindsCorrectly() + { + // Arrange + var parseResult = _commandDefinition.Parse(["--include-hidden"]); + + var bindOptionsMethod = typeof(ToolsListCommand).GetMethod("BindOptions", + System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance); + Assert.NotNull(bindOptionsMethod); + + // Act + var options = bindOptionsMethod.Invoke(_command, [parseResult]) as ToolsListOptions; + + // Assert + Assert.NotNull(options); + Assert.True(options.IncludeHidden); + Assert.False(options.NameOnly); + Assert.False(options.NamespaceMode); + } + + /// + /// Verifies that BindOptions defaults IncludeHidden to false when not specified. + /// + [Fact] + public void BindOptions_WithoutIncludeHidden_DefaultsToFalse() + { + // Arrange + var parseResult = _commandDefinition.Parse([]); + + var bindOptionsMethod = typeof(ToolsListCommand).GetMethod("BindOptions", + System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance); + Assert.NotNull(bindOptionsMethod); + + // Act + var options = bindOptionsMethod.Invoke(_command, [parseResult]) as ToolsListOptions; + + // Assert + Assert.NotNull(options); + Assert.False(options.IncludeHidden); + } + + /// + /// Creates a CommandContext whose ICommandFactory includes ToolsSetup, + /// so the hidden ToolsListCommand is registered and available for filtering tests. + /// + private static CommandContext CreateContextWithToolsSetup() + { + var services = CommandFactoryHelpers.SetupCommonServices(); + var toolsSetup = new ToolsSetup(); + toolsSetup.ConfigureServices(services); + var sp = services.BuildServiceProvider(); + + var commandFactory = CommandFactoryHelpers.CreateCommandFactory( + serviceProvider: sp, + additionalAreaSetups: [toolsSetup]); + services.AddSingleton(commandFactory); + + sp = services.BuildServiceProvider(); + return new CommandContext(sp); + } }