Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion servers/Azure.Mcp.Server/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,8 @@ The Azure MCP Server updates automatically by default whenever a new release com
- Improved error message for macOS users when interactive browser authentication fails due to broker threading requirements. The error now provides clear guidance to use Azure CLI, Azure PowerShell, or Azure Developer CLI for authentication instead.[[#684](https://github.com/microsoft/mcp/pull/684)]
- Added validation for the Cosmos query command `azmcp_cosmos_database_container_item_query`.[[#524](https://github.com/microsoft/mcp/pull/524)]
- Fixed the construction of Azure Resource Graph queries for App Configuration in the `FindAppConfigStore` method. The name filter is now correctly passed via the `additionalFilter` parameter instead of `tableName`, resolving "ExactlyOneStartingOperatorRequired" and "BadRequest" errors when setting key-value pairs. [[#670](https://github.com/microsoft/mcp/pull/670)]
- Updated the description of the Monitor tool and corrected the prompt for command `monitor_healthmodels_entity_gethealth` to ensure that the LLM picks up the correct tool. [[#630](https://github.com/microsoft/mcp/pull/630)]
- Updated the description of the Monitor tool and corrected the prompt for command `monitor_healthmodels_entity_gethealth` to ensure that the LLM picks up the correct tool. [[#630](https://github.com/microsoft/mcp/pull/630)]
- Fixed BadRequest error in Azure Container Registry to get a registry, and in EventHubs to get a namespace. [[#729](https://github.com/microsoft/mcp/pull/729)]

### Other Changes

Expand Down
10 changes: 5 additions & 5 deletions tools/Azure.Mcp.Tools.Acr/src/Services/AcrService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -57,11 +57,11 @@ private async Task<AcrRegistryInfo> GetRegistry(
{
var registrie = await ExecuteSingleResourceQueryAsync(
"Microsoft.ContainerRegistry/registries",
resourceGroup,
subscription,
retryPolicy,
ConvertToAcrRegistryInfoModel,
$"name =~ '{EscapeKqlString(registry)}'");
resourceGroup: resourceGroup,
subscription: subscription,
retryPolicy: retryPolicy,
converter: ConvertToAcrRegistryInfoModel,
additionalFilter: $"name =~ '{EscapeKqlString(registry)}'");
if (registrie == null)
{
throw new KeyNotFoundException($"Container registry '{registry}' not found for subscription '{subscription}'.");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -165,9 +165,9 @@ private async Task<AppConfigurationAccount> FindAppConfigStore(string subscripti
var account = await ExecuteSingleResourceQueryAsync(
"Microsoft.AppConfiguration/configurationStores",
resourceGroup: null, // all resource groups
subscription,
retryPolicy,
ConvertToAppConfigurationAccountModel,
subscription: subscription,
retryPolicy: retryPolicy,
converter: ConvertToAppConfigurationAccountModel,
additionalFilter: $"name =~ '{EscapeKqlString(accountName)}'");

if (account == null)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -94,11 +94,11 @@ public async Task<Namespace> GetNamespaceAsync(
{
var namespaceDetails = await ExecuteSingleResourceQueryAsync(
"Microsoft.EventHub/namespaces",
resourceGroup,
subscription,
retryPolicy,
ConvertToNamespace,
$"name =~ '{EscapeKqlString(namespaceName)}'");
resourceGroup: resourceGroup,
subscription: subscription,
retryPolicy: retryPolicy,
converter: ConvertToNamespace,
additionalFilter: $"name =~ '{EscapeKqlString(namespaceName)}'");

if (namespaceDetails == null)
{
Expand Down
6 changes: 3 additions & 3 deletions tools/Azure.Mcp.Tools.Kusto/src/Services/KustoService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -73,9 +73,9 @@ public async Task<KustoClusterModel> GetClusterAsync(
var cluster = await ExecuteSingleResourceQueryAsync(
"Microsoft.Kusto/clusters",
resourceGroup: null, // all resource groups
subscriptionId,
retryPolicy,
ConvertToClusterModel,
subscription: subscriptionId,
retryPolicy: retryPolicy,
converter: ConvertToClusterModel,
additionalFilter: $"name =~ '{EscapeKqlString(clusterName)}'");

if (cluster == null)
Expand Down
8 changes: 4 additions & 4 deletions tools/Azure.Mcp.Tools.Sql/src/Services/SqlService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -43,10 +43,10 @@ public async Task<SqlDatabase> GetDatabaseAsync(
{
var result = await ExecuteSingleResourceQueryAsync(
"Microsoft.Sql/servers/databases",
resourceGroup,
subscription,
retryPolicy,
ConvertToSqlDatabaseModel,
resourceGroup: resourceGroup,
subscription: subscription,
retryPolicy: retryPolicy,
converter: ConvertToSqlDatabaseModel,
additionalFilter: $"name =~ '{EscapeKqlString(databaseName)}'",
cancellationToken: cancellationToken);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,10 +69,10 @@ public async Task<List<StorageAccountInfo>> GetAccountDetails(
{
var storageAccount = await ExecuteSingleResourceQueryAsync(
"Microsoft.Storage/storageAccounts",
null,
subscription,
retryPolicy,
ConvertToAccountInfoModel,
resourceGroup: null,
subscription: subscription,
retryPolicy: retryPolicy,
converter: ConvertToAccountInfoModel,
additionalFilter: $"name =~ '{EscapeKqlString(account)}'");

if (storageAccount == null)
Expand Down