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
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 -->
Documentation Gap
Server:
Azure.Mcp.ServerTool directory:
tools/Azure.Mcp.Tools.MonitorTriggered by: Commit 7549053 (PR #2940) by
@alzimmermsftChanged files:
tools/Azure.Mcp.Tools.Monitor/src/Commands/WebTests/WebTestsCreateOrUpdateCommand.cstools/Azure.Mcp.Tools.Monitor/src/Commands/WebTests/WebTestsGetCommand.cstools/Azure.Mcp.Tools.Monitor/src/MonitorSetup.csservers/Azure.Mcp.Server/changelog-entries/1782318651309.yamlWhat Changed
PR #2940 "Migrate Monitor to new tool design" consolidated the Azure Monitor web test commands:
createandupdatecommands were merged into a singlecreateorupdatecommand (WebTestsCreateOrUpdateCommand,Name = "createorupdate")getcommand was updated to also handle listing (when--webtest-resourceis omitted, it returns all web tests; otherwise returns a single test)listcommand was removedThe CHANGELOG entry notes this as a breaking change: "Removed unused parameters from Monitor tools."
Gaps Found
azmcp-commands.mdstill documentsazmcp monitor webtests createwhich no longer existsazmcp-commands.mdstill documentsazmcp monitor webtests updatewhich no longer existsazmcp-commands.mdstill documentsazmcp monitor webtests listwhich no longer existsazmcp-commands.mddoes not document the newazmcp monitor webtests createorupdatecommandazmcp-commands.mddoes not reflect thatazmcp monitor webtests getnow also handles listing when--webtest-resourceis omittedFiles to Update
servers/Azure.Mcp.Server/docs/azmcp-commands.mdContext
Current
azmcp-commands.md(lines 3120–3180) still shows:But the new
MonitorSetup.csonly registers two commands:📐 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.mdReplace the entire
#### Web Tests (Availability Tests)section (lines ~3121–3182) with: