[WAF tool] Enhance get command to act as list#2020
Merged
sriramkakara merged 11 commits intomainfrom Mar 13, 2026
Merged
Conversation
Member
Author
|
/azp run mcp - pullrequest - live |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Contributor
There was a problem hiding this comment.
Pull request overview
Adds a new wellarchitectedframework_serviceguide_list MCP command to return Azure Well-Architected Framework service-guide links for multiple services, sharing lookup logic via a new IServiceGuideService.
Changes:
- Introduces
ServiceGuideListCommand(+ options) and wires it into the WellArchitectedFramework area setup. - Extracts service guide URL resolution / supported-services listing into
IServiceGuideService+ServiceGuideService, and updatesServiceGuideGetCommandto use it. - Adds unit tests and updates server docs/metadata (
consolidated-tools.json,azmcp-commands.md, e2e prompts, README) for the new tool.
Reviewed changes
Copilot reviewed 14 out of 15 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| tools/Azure.Mcp.Tools.WellArchitectedFramework/src/Commands/ServiceGuide/ServiceGuideListCommand.cs | New list subcommand implementation producing guidance/not-available sections. |
| tools/Azure.Mcp.Tools.WellArchitectedFramework/src/Options/ServiceGuide/ServiceGuideListOptions.cs | Options model for list command (--services). |
| tools/Azure.Mcp.Tools.WellArchitectedFramework/src/Options/WellArchitectedFrameworkOptionDefinitions.cs | Adds --services option + refines help text. |
| tools/Azure.Mcp.Tools.WellArchitectedFramework/src/Services/ServiceGuide/IServiceGuideService.cs | New abstraction for service guide URL lookup and supported service listing. |
| tools/Azure.Mcp.Tools.WellArchitectedFramework/src/Services/ServiceGuide/ServiceGuideService.cs | New embedded-resource-backed implementation with static caching + normalization. |
| tools/Azure.Mcp.Tools.WellArchitectedFramework/src/Commands/ServiceGuide/ServiceGuideGetCommand.cs | Refactors get command to use IServiceGuideService and updated messaging. |
| tools/Azure.Mcp.Tools.WellArchitectedFramework/src/WellArchitectedFrameworkSetup.cs | Registers the new service + list command with DI and command group. |
| tools/Azure.Mcp.Tools.WellArchitectedFramework/tests/.../Commands/ServiceGuide/ServiceGuideListCommandTests.cs | Unit tests for list command behavior and input parsing. |
| tools/Azure.Mcp.Tools.WellArchitectedFramework/tests/.../Services/ServiceGuide/ServiceGuideServiceTests.cs | Unit tests for lookup normalization, mapping, and basic concurrency safety. |
| tools/Azure.Mcp.Tools.WellArchitectedFramework/tests/.../Resources/ServiceGuides/ServiceGuidesJsonSchemaTests.cs | Validates embedded service-guides.json schema and invariants (URLs/variations). |
| tools/Azure.Mcp.Tools.WellArchitectedFramework/tests/.../Commands/ServiceGuide/ServiceGuideGetCommandTests.cs | Updates get tests for injected service + revised response wording. |
| servers/Azure.Mcp.Server/src/Resources/consolidated-tools.json | Adds the new tool name to consolidated tool list. |
| servers/Azure.Mcp.Server/docs/e2eTestPrompts.md | Adds e2e prompts for wellarchitectedframework_serviceguide_list. |
| servers/Azure.Mcp.Server/docs/azmcp-commands.md | Documents the new CLI surface for serviceguide list. |
| servers/Azure.Mcp.Server/README.md | Updates example prompts for Well-Architected Framework usage. |
Contributor
|
@sriramkakara I've opened a new pull request, #2021, to work on those changes. Once the pull request is ready, I'll request review from you. |
KarishmaGhiya
approved these changes
Mar 13, 2026
Contributor
alzimmermsft
left a comment
There was a problem hiding this comment.
Please add a CHANGELOG entry by using /eng/scripts/New-ChangelogEntry.ps1 from the root of the repo.
alzimmermsft
approved these changes
Mar 13, 2026
alzimmermsft
approved these changes
Mar 13, 2026
colbytimm
pushed a commit
to colbytimm/microsoft-mcp
that referenced
this pull request
Apr 20, 2026
* Add wellarchitectedframework_serviceguide_list command * Add wellarchitectedframework_serviceguide_list command * Address copilot comments * Remove list command * Make --service param optional * Address copilot comments * Address copilot comments * Addressed comments * Fix lint * Add changelog entry for WAF tool enhancement * Add changelog entry for WAF tool enhancement --------- Co-authored-by: Sriram Kakara <skakara@microsoft.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does this PR do?
Enhance
wellarchitectedframework_serviceguide_getcommand to:Screenshots of the behavior
First made a GET call without any --service param to discover the available service names.
Then made parallel GET calls with specific --service param values.
GitHub issue number?
Issue 1927
Pre-merge Checklist
servers/Azure.Mcp.Server/CHANGELOG.mdand/orservers/Fabric.Mcp.Server/CHANGELOG.mdfor product changes (features, bug fixes, UI/UX, updated dependencies)servers/Azure.Mcp.Server/README.mdand/orservers/Fabric.Mcp.Server/README.mddocumentationeng/scripts/Process-PackageReadMe.ps1. See Package README/servers/Azure.Mcp.Server/docs/azmcp-commands.mdand/or/docs/fabric-commands.md.\eng\scripts\Update-AzCommandsMetadata.ps1to update tool metadata in azmcp-commands.md (required for CI)ToolDescriptionEvaluatorand obtained a score of0.4or more and a top 3 ranking for all related test promptsconsolidated-tools.jsonbreaking-changelabel/servers/Azure.Mcp.Server/docs/e2eTestPrompts.mdcrypto mining, spam, data exfiltration, etc.)/azp run mcp - pullrequest - liveto run Live Test Pipeline