Skip to content

Commit 75fcc87

Browse files
authored
Merge pull request #7571 from diberry/diberry/0723-02
Azure Quick Review and Azure Monitor workbooks -
2 parents bca00e8 + 9b177b0 commit 75fcc87

File tree

4 files changed

+169
-31
lines changed

4 files changed

+169
-31
lines changed

articles/azure-mcp-server/TOC.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,9 @@ items:
4444
- name: Azure RBAC
4545
href: tools/azure-rbac.md
4646
- name: Azure Native ISV
47-
href: tools/azure-native-isv.md
47+
href: tools/azure-native-isv.md
48+
- name: Azure Quick Review CLI
49+
href: tools/azure-compliance-quick-review.md
4850
- name: Azure Service Bus
4951
href: tools/service-bus.md
5052
- name: Azure SQL

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ Azure MCP Server provides the following tools for Azure services and Azure-relat
2828
| [Azure Load Testing](../../tools/azure-load-testing.md) | Create, run, and see load testing. |
2929
| [Azure Monitor](../../tools/monitor.md) | Query Azure Monitor logs and metrics. |
3030
| [Azure Native ISV](../../tools/azure-native-isv.md) | Work with Azure Native ISV services, including Datadog integration for monitoring and observability. |
31+
| [Azure Quick Review CLI](../../tools/azure-compliance-quick-review.md) | Generate compliance and security reports for Azure resources.
3132
| [Azure RBAC](../../tools/azure-rbac.md) | View and manage Azure role-based access control assignments. |
3233
| [Azure Service Bus](../../tools/service-bus.md) | Work with Azure Service Bus messaging services. |
3334
| [Azure SQL](../../tools/azure-sql.md) | Work with Azure SQL Database servers, databases, firewall rules, and elastic pools. |
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
---
2+
title: Azure Quick Review CLI Tools
3+
description: Learn how to use the Azure MCP Server with the Azure Quick Review CLI Tools.
4+
keywords: azure mcp server, azmcp, azure quick review, azqr, compliance
5+
author: diberry
6+
ms.author: diberry
7+
ms.date: 07/23/2025
8+
content_well_notification:
9+
- AI-contribution
10+
ai-usage: ai-assisted
11+
ms.topic: reference
12+
ms.custom: build-2025
13+
---
14+
# Azure Quick Review CLI tools for the Azure MCP Server
15+
16+
The Azure MCP Server allows you to execute Azure Quick Review (azqr) commands using natural language prompts. This enables you to generate compliance and security reports for your Azure resources to identify non-compliant configurations and areas for improvement without needing to remember specific command syntax.
17+
18+
[Azure Quick Review CLI (azqr)](https://github.com/Azure/azqr) is a powerful command-line interface (CLI) tool that specializes in analyzing Azure resources to ensure compliance with Azure's best practices and recommendations. Its main objective is to offer users a comprehensive overview of their Azure resources, allowing them to easily identify any non-compliant configurations or areas for improvement.
19+
20+
[!INCLUDE [tip-about-params](../includes/tools/parameter-consideration.md)]
21+
22+
## Generate compliance report
23+
24+
The Azure MCP Server can execute Azure Quick Review CLI commands to generate compliance and security reports for Azure resources. This helps identify non-compliant configurations and areas for improvement in your Azure environment.
25+
26+
**Example prompts** include:
27+
28+
- **Scan subscription**: "Generate compliance report for my subscription"
29+
- **Scan resource group**: "Run security assessment for production resource group"
30+
- **Quick review**: "Check my subscription for compliance issues"
31+
- **Security scan**: "scan resources in dev-rg for security problems"
32+
- **Generate report**: "Create compliance report for subscription abc123 and resource group web-apps"
33+
34+
| Parameter | Required or optional | Description |
35+
|-----------|-------------|-------------|
36+
| **Subscription** | Required | The Azure subscription ID or name to scan for compliance issues. |
37+
| **Resource group** | Optional | The name of the Azure resource group to scope the scan to a specific resource group. |
38+
39+
## Related content
40+
41+
- [What are the Azure MCP Server tools?](index.md)
42+
- [Get started using Azure MCP Server](../get-started.md)
43+
- [Azure Quick Review CLI GitHub repository](https://github.com/Azure/azqr)

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

Lines changed: 122 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ ms.custom: build-2025
1313
---
1414
# Azure Monitor tools for the Azure MCP Server
1515

16-
The Azure MCP Server allows you to manage Azure Monitor resources, including querying Log Analytics workspaces for operational insights natural language prompts. You can query Log Analytics workspaces, analyze operational data, and gain insights into your Azure resources without needing to know complex KQL syntax.
16+
The Azure MCP Server allows you to manage Azure Monitor resources using natural language prompts. You can query Log Analytics workspaces, analyze operational data, monitor resource health, retrieve performance metrics, and manage Azure Monitor workbooks without needing to know complex KQL syntax.
1717

1818
[Azure Monitor](/azure/azure-monitor/overview) helps you maximize the availability and performance of your applications and services. It delivers a comprehensive solution for collecting, analyzing, and acting on telemetry from your cloud and on-premises environments.
1919

@@ -26,10 +26,10 @@ The Azure MCP Server can list all Log Analytics workspaces in a subscription. Th
2626
Example prompts include:
2727

2828
- **List workspaces**: "Show me all Log Analytics workspaces in my subscription."
29-
- **View workspaces**: "What Log Analytics workspaces do I have?"
30-
- **Find workspaces**: "List my monitoring workspaces"
31-
- **Query workspaces**: "Show all Log Analytics workspaces"
32-
- **Check workspaces**: "Get all monitoring workspaces in subscription abc123"
29+
- **View workspaces**: "what workspaces do i have"
30+
- **Find workspaces**: "List monitoring workspaces"
31+
- **Query workspaces**: "Show workspaces"
32+
- **Check workspaces**: "Get all monitoring workspaces in subscription abc123 please"
3333

3434
| Parameter | Required or optional | Description |
3535
|-----------|-------------|-------------|
@@ -41,11 +41,11 @@ The Azure MCP Server can list all tables in a Log Analytics workspace. This help
4141

4242
Example prompts include:
4343

44-
- **List tables**: "Show me all tables in my 'centralmonitoring' Log Analytics workspace."
45-
- **View tables**: "What tables do I have in Log Analytics workspace 'app-monitoring'?"
46-
- **Find tables**: "List all tables in my workspace 'security-logs'"
47-
- **Query tables**: "Show available tables in my Log Analytics workspace"
48-
- **Check tables**: "Get all log tables in my 'operations' workspace"
44+
- **List tables**: "show tables in centralmonitoring workspace"
45+
- **View tables**: "What tables in workspace app-monitoring?"
46+
- **Find tables**: "List tables in security-logs"
47+
- **Query tables**: "Show tables in my workspace"
48+
- **Check tables**: "Get all log tables in operations workspace please"
4949

5050
| Parameter | Required or optional | Description |
5151
|-----------|-------------|-------------|
@@ -59,11 +59,11 @@ The Azure MCP Server can execute Kusto Query Language (KQL) queries against a Lo
5959

6060
Example prompts include:
6161

62-
- **Simple query**: "Query all error events from the last hour in my 'centralmonitoring' workspace"
63-
- **Filter query**: "Find all failed login attempts in the SecurityEvent table"
64-
- **Complex query**: "Show me the CPU usage trend for my web servers over the last 24 hours"
65-
- **Join query**: "Query errors and correlate them with performance metrics"
66-
- **Aggregation query**: "Count errors by application in my monitoring workspace"
62+
- **Simple query**: "query errors from last hour"
63+
- **Filter query**: "Find failed login attempts in SecurityEvent table please"
64+
- **Complex query**: "Show CPU usage trend for web servers last 24 hours"
65+
- **Join query**: "query errors and performance metrics"
66+
- **Aggregation query**: "Count errors by application in monitoring workspace"
6767

6868
| Parameter | Required or optional | Description |
6969
|-----------|-------------|-------------|
@@ -80,11 +80,11 @@ The Azure MCP Server can get the health status of an entity using Azure Monitor
8080

8181
Example prompts include:
8282

83-
- **Check entity health**: "Get the health status for my application entity with model 'webapp-health' and entity 'app-prod-001'"
84-
- **Monitor resource health**: "What is the current health of entity 'web-app-prod' using health model 'application-model'?"
85-
- **Check system status**: "Get health information for my database entity 'sql-prod' with model 'database-health'"
86-
- **Monitor service health**: "Show me the health status of entity 'api-service' using model 'service-monitoring'"
87-
- **Check application status**: "Get the health model data for entity 'production-workload' with model 'workload-health'"
83+
- **Check entity health**: "get health for app-prod-001 with webapp-health model"
84+
- **Monitor resource health**: "What's the health of web-app-prod using application-model?"
85+
- **Check system status**: "Get health info for sql-prod database entity"
86+
- **Monitor service health**: "show health status of api-service"
87+
- **Check application status**: "Get health data for production-workload with workload-health model please"
8888

8989
| Parameter | Required or optional | Description |
9090
|-----------|-------------|-------------|
@@ -99,11 +99,11 @@ The Azure MCP Server can query Azure Monitor metrics for resources. This allows
9999

100100
Example prompts include:
101101

102-
- **Query VM metrics with time range**: "Get CPU percentage and available memory for my VM 'prod-vm01' in the production resource group from January 1st 2024 to January 2nd 2024, aggregated hourly with average values"
103-
- **Query storage metrics with specific type**: "Show me transaction metrics for storage account 'mystorageaccount' in the storage resource group"
104-
- **Query app service metrics over time**: "Get response time and request count for my web app 'mywebapp' over the last 24 hours with hourly intervals"
105-
- **Query with filtering**: "Show me CPU metrics for virtual machine 'prod-vm' but only include high usage periods and limit to 1000 data points"
106-
- **Query multiple performance metrics**: "Get both CPU percentage and available memory for my server 'vm-prod-001' from yesterday with hourly breakdowns"
102+
- **Query VM metrics**: "get cpu and memory for prod-vm01 from jan 1 to jan 2"
103+
- **Query storage metrics**: "Show transaction metrics for mystorageaccount in storage group"
104+
- **Query app metrics**: "Get response time for mywebapp last 24 hours"
105+
- **Query with filtering**: "show cpu metrics for prod-vm high usage only"
106+
- **Query performance**: "Get CPU and memory for vm-prod-001 from yesterday hourly"
107107

108108

109109
| Parameter | Required or optional | Description |
@@ -127,11 +127,11 @@ The Azure MCP Server can list available metric definitions for a resource. This
127127

128128
Example prompts include:
129129

130-
- **List all metrics for a storage account**: "Show me all available metrics for my storage account 'mystorageaccount'"
131-
- **Find transaction-related metrics**: "Find all metrics related to transactions for my storage account 'storageacct'"
132-
- **List VM metrics with filtering**: "List available metrics for my virtual machine 'prod-vm' in the production resource group"
133-
- **Search metrics by keyword**: "Show me metrics for my App Service 'mywebapp' that contain the word 'response', limited to 50 results"
134-
- **List database metrics with namespace**: "Show all available metrics for my SQL database 'proddb' in the database resource group"
130+
- **List storage metrics**: "show metrics for mystorageaccount"
131+
- **Find transaction metrics**: "find transaction metrics for storageacct"
132+
- **List VM metrics**: "List metrics for prod-vm in production group"
133+
- **Search by keyword**: "Show mywebapp metrics with response word, limit 50"
134+
- **List database metrics**: "show metrics for proddb in database group"
135135

136136
| Parameter | Required or optional | Description |
137137
|-----------|-------------|-------------|
@@ -143,6 +143,98 @@ Example prompts include:
143143
| **Search string** | Optional | Search string to filter metrics. |
144144
| **Limit** | Optional | Maximum number of results to return. |
145145

146+
## Workbooks
147+
148+
### List workbooks
149+
150+
The Azure MCP Server can list Azure Monitor workbooks in a resource group. This helps you discover and manage your monitoring dashboards and interactive reports.
151+
152+
**Example prompts** include:
153+
154+
- **List workbooks**: "Show workbooks in monitoring group"
155+
- **List by category**: "list workbooks in Insights category"
156+
- **List shared workbooks**: "Show shared workbooks in monitoring"
157+
- **List with source**: "find workbooks linked to Application Insights"
158+
- **Query workbooks**: "List monitoring workbooks please"
159+
160+
| Parameter | Required or optional | Description |
161+
|-----------|-------------|-------------|
162+
| **Subscription** | Required | The Azure subscription ID or name. |
163+
| **Resource group** | Required | The name of the Azure resource group. |
164+
| **Category** | Optional | The category to filter workbooks by. |
165+
| **Kind** | Optional | The kind of workbook (e.g., 'shared', 'user'). |
166+
| **Source ID** | Optional | The source resource ID to filter workbooks by. |
167+
168+
### Show workbook details
169+
170+
The Azure MCP Server can show details of a specific Azure Monitor workbook by its resource ID. This provides comprehensive information about the workbook's configuration and content.
171+
172+
**Example prompts** include:
173+
174+
- **Show workbook**: "show workbook details for /subscriptions/abc123/resourceGroups/monitoring/providers/Microsoft.Insights/workbooks/workbook-guid"
175+
- **Get workbook info**: "Get info about workbook /subscriptions/xyz/resourceGroups/rg/providers/Microsoft.Insights/workbooks/my-workbook"
176+
- **View workbook**: "display workbook details"
177+
- **Check workbook**: "show config for workbook /subscriptions/123/resourceGroups/prod/providers/Microsoft.Insights/workbooks/analytics"
178+
- **Retrieve workbook**: "get workbook /subscriptions/456/resourceGroups/monitoring/providers/Microsoft.Insights/workbooks/performance"
179+
180+
| Parameter | Required or optional | Description |
181+
|-----------|-------------|-------------|
182+
| **Workbook ID** | Required | The full Azure resource ID of the workbook to retrieve. |
183+
184+
### Create workbook
185+
186+
The Azure MCP Server can create a new Azure Monitor workbook. This allows you to programmatically create monitoring dashboards and interactive reports.
187+
188+
**Example prompts** include:
189+
190+
- **Create workbook**: "create workbook Performance Dashboard in monitoring group"
191+
- **Create with source**: "Create workbook App Insights Analysis linked to my Application Insights"
192+
- **Create monitoring workbook**: "create new workbook Infrastructure Overview"
193+
- **Create dashboard**: "Create Security Dashboard with custom JSON"
194+
- **Create analytics workbook**: "create Cost Analysis workbook in finance group please"
195+
196+
| Parameter | Required or optional | Description |
197+
|-----------|-------------|-------------|
198+
| **Subscription** | Required | The Azure subscription ID or name. |
199+
| **Resource group** | Required | The name of the Azure resource group. |
200+
| **Display name** | Required | The display name for the new workbook. |
201+
| **Serialized content** | Required | The JSON content defining the workbook structure and queries. |
202+
| **Source ID** | Optional | The source resource ID to associate with the workbook. |
203+
204+
### Update workbook
205+
206+
The Azure MCP Server can update an existing Azure Monitor workbook. This allows you to modify workbook properties and content programmatically.
207+
208+
**Example prompts** include:
209+
210+
- **Update name**: "update workbook /subscriptions/abc/resourceGroups/rg/providers/Microsoft.Insights/workbooks/wb1 name to Updated Dashboard"
211+
- **Update content**: "Update workbook content for /subscriptions/xyz/resourceGroups/monitoring/providers/Microsoft.Insights/workbooks/dashboard"
212+
- **Modify workbook**: "change name and content for workbook /subscriptions/123/resourceGroups/prod/providers/Microsoft.Insights/workbooks/analytics"
213+
- **Update dashboard**: "update workbook with new performance metrics"
214+
- **Refresh workbook**: "update content for workbook /subscriptions/789/resourceGroups/ops/providers/Microsoft.Insights/workbooks/operations please"
215+
216+
| Parameter | Required or optional | Description |
217+
|-----------|-------------|-------------|
218+
| **Workbook ID** | Required | The full Azure resource ID of the workbook to update. |
219+
| **Display name** | Optional | The new display name for the workbook. |
220+
| **Serialized content** | Optional | The updated JSON content for the workbook. |
221+
222+
### Delete workbook
223+
224+
The Azure MCP Server can delete an Azure Monitor workbook. This permanently removes the workbook and all its associated content.
225+
226+
**Example prompts** include:
227+
228+
- **Delete workbook**: "delete workbook /subscriptions/abc123/resourceGroups/monitoring/providers/Microsoft.Insights/workbooks/old-dashboard"
229+
- **Remove workbook**: "Remove workbook /subscriptions/xyz/resourceGroups/rg/providers/Microsoft.Insights/workbooks/unused-workbook"
230+
- **Clean up**: "remove workbook at /subscriptions/123/resourceGroups/prod/providers/Microsoft.Insights/workbooks/deprecated"
231+
- **Delete dashboard**: "delete monitoring workbook please"
232+
- **Remove unused**: "Delete /subscriptions/789/resourceGroups/test/providers/Microsoft.Insights/workbooks/test-dashboard"
233+
234+
| Parameter | Required or optional | Description |
235+
|-----------|-------------|-------------|
236+
| **Workbook ID** | Required | The full Azure resource ID of the workbook to delete. |
237+
146238

147239
## Related content
148240

0 commit comments

Comments
 (0)