Skip to content

[Doc Gap] Monitor webtests command names and structure are outdated #2955

Description

@github-actions

Documentation Gap

Server: Azure.Mcp.Server
Tool directory: tools/Azure.Mcp.Tools.Monitor
Triggered by: Commit 7549053 (PR #2940) by @alzimmermsft
Changed files:

  • tools/Azure.Mcp.Tools.Monitor/src/Commands/WebTests/WebTestsCreateOrUpdateCommand.cs
  • tools/Azure.Mcp.Tools.Monitor/src/Commands/WebTests/WebTestsGetCommand.cs
  • tools/Azure.Mcp.Tools.Monitor/src/MonitorSetup.cs
  • servers/Azure.Mcp.Server/changelog-entries/1782318651309.yaml

What Changed

PR #2940 "Migrate Monitor to new tool design" consolidated the Azure Monitor web test commands:

  • The separate create and update commands were merged into a single createorupdate command (WebTestsCreateOrUpdateCommand, Name = "createorupdate")
  • The get command was updated to also handle listing (when --webtest-resource is omitted, it returns all web tests; otherwise returns a single test)
  • The separate list command was removed

The CHANGELOG entry notes this as a breaking change: "Removed unused parameters from Monitor tools."

Gaps Found

  • azmcp-commands.md still documents azmcp monitor webtests create which no longer exists
  • azmcp-commands.md still documents azmcp monitor webtests update which no longer exists
  • azmcp-commands.md still documents azmcp monitor webtests list which no longer exists
  • azmcp-commands.md does not document the new azmcp monitor webtests createorupdate command
  • azmcp-commands.md does not reflect that azmcp monitor webtests get now also handles listing when --webtest-resource is omitted

Note: e2eTestPrompts.md is already up-to-date and correctly uses monitor_webtests_createorupdate and monitor_webtests_get.

Files to Update

  • servers/Azure.Mcp.Server/docs/azmcp-commands.md

Context

Current azmcp-commands.md (lines 3120–3180) still shows:

# Create a new web test in Azure Monitor
azmcp monitor webtests create ...

# Get details for a specific web test
azmcp monitor webtests get --subscription <subscription> \
                          --resource-group <resource-group> \
                          --webtest-resource <webtest-resource-name>

# List all web tests in a subscription or optionally, within a resource group
azmcp monitor webtests list --subscription <subscription> [--resource-group <resource-group>]

# Update an existing web test in Azure Monitor
azmcp monitor webtests update ...

But the new MonitorSetup.cs only registers two commands:

webTests.AddCommand<WebTestsGetCommand>(serviceProvider);            // Name = "get"
webTests.AddCommand<WebTestsCreateOrUpdateCommand>(serviceProvider); // Name = "createorupdate"
📐 Implementation Guide

This section contains step-by-step instructions for a coding agent to implement the changes described above.

Step 1: Modify files

File: servers/Azure.Mcp.Server/docs/azmcp-commands.md

Replace the entire #### Web Tests (Availability Tests) section (lines ~3121–3182) with:

#### Web Tests (Availability Tests)

```bash
# Create or update a standard web test in Azure Monitor to monitor endpoint availability.
# Automatically creates a new test if it doesn't exist, or updates an existing test.
# When creating, --appinsights-component, --location, --webtest-locations, and --request-url are required.
# ✅ Destructive | ✅ Idempotent | ❌ OpenWorld | ❌ ReadOnly | ❌ Secret | ❌ LocalRequired
azmcp monitor webtests createorupdate --subscription <subscription> \
                                      --resource-group <resource-group> \
                                      --webtest-resource <webtest-resource-name> \
                                      [--appinsights-component <component-resource-id>] \
                                      [--location <location>] \
                                      [--webtest-locations <comma-separated-locations>] \
                                      [--request-url <url>] \
                                      [--webtest <display-name>] \
                                      [--description <description>] \
                                      [--enabled <true|false>] \
                                      [--expected-status-code <code>] \
                                      [--follow-redirects <true|false>] \
                                      [--frequency <seconds>] \
                                      [--headers <key=value,key2=value2>] \
                                      [--http-verb <get|post|..>] \
                                      [--ignore-status-code <true|false>] \
                                      [--parse-requests <true|false>] \
                                      [--request-body <body>] \
                                      [--retry-enabled <true|false>] \
                                      [--ssl-check <true|false>] \
                                      [--ssl-lifetime-check <days>] \
                                      [--timeout <seconds>]

# Get details for a specific web test, or list all web tests.
# When --webtest-resource is provided (requires --resource-group), returns detailed info for that test.
# When --webtest-resource is omitted, lists all web tests in the subscription (optionally filtered by --resource-group).
# ❌ Destructive | ✅ Idempotent | ❌ OpenWorld | ✅ ReadOnly | ❌ Secret | ❌ LocalRequired
azmcp monitor webtests get --subscription <subscription> \
                           [--resource-group <resource-group>] \
                           [--webtest-resource <webtest-resource-name>]

### Step 2: Verify documentation structure

**`servers/Azure.Mcp.Server/docs/azmcp-commands.md`** must include one section per command with a description and example usage. The `createorupdate` entry should note when required parameters apply (new creation vs. update). The `get` entry should describe both behaviors clearly.

### Step 3: Validate

Run these commands in order. Each must succeed before proceeding:

1. `dotnet build servers/Azure.Mcp.Server/` — confirms the server project compiles cleanly
2. `dotnet build tools/Azure.Mcp.Tools.Monitor/src/` — confirms the affected toolset compiles
3. `dotnet test tools/Azure.Mcp.Tools.Monitor/tests/Azure.Mcp.Tools.Monitor.Tests/ --filter "TestType!=Live"` — runs unit tests for the affected toolset
4. `.\eng\common\spelling\Invoke-Cspell.ps1` — checks spelling in new or modified documentation

</details>

## Next Steps

> [!TIP]
> **Ready for automated implementation?** Assign this issue to **`@copilot`** to have Copilot coding agent implement the changes described in the Implementation Guide above




> Generated by [Documentation Updater](https://github.com/microsoft/mcp/actions/runs/28195573914) · ● 12.3M · [◷](https://github.com/search?q=repo%3Amicrosoft%2Fmcp+is%3Aissue+%22gh-aw-workflow-call-id%3A+microsoft%2Fmcp%2Fdoc-gap-detector%22&type=issues)

<!-- gh-aw-agentic-workflow: Documentation Updater, engine: copilot, version: 1.0.48, model: claude-sonnet-4.6, id: 28195573914, workflow_id: doc-gap-detector, run: https://github.com/microsoft/mcp/actions/runs/28195573914 -->

<!-- gh-aw-workflow-id: doc-gap-detector -->
<!-- gh-aw-workflow-call-id: microsoft/mcp/doc-gap-detector -->

Metadata

Metadata

Assignees

Type

Fields

No fields configured for Task.

Projects

Status
Untriaged

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions