Skip to content
This repository was archived by the owner on Sep 4, 2025. It is now read-only.

Conversation

@msalaman
Copy link
Contributor

@msalaman msalaman commented Aug 7, 2025

What does this PR do?

Added Cloud Architect tool that helps user design Azure cloud architectures through guided questions
The tool description instructs the language model on how to go about collecting the user's requirements, how to reach a sufficient level of detail in those requirements, and how to determine when the process of collecting information is complete. It also tasks the LM with reflecting on the information it has to determine the next question it should ask.
Meanwhile, the shape of the input parameters to the tool effectively constrains what sort of information can be incorporated into the design and keeps the LM focused. The tool implementation itself does little more than restate the information the LM has already provided and prompts it to move forward with either the next question or, if it is out of questions, to create a design with the accumulated requirements.
The core implementation of this tool is copied from @azure Github Copilot for Azure repo

GitHub issue number?

[Link to the GitHub issue this PR addresses]

Pre-merge Checklist

  • Required for All PRs
    • Read contribution guidelines
    • PR title clearly describes the change
    • Commit history is clean with descriptive messages (cleanup guide)
    • Added comprehensive tests for new/modified functionality
    • Updated CHANGELOG.md for product changes (features, bug fixes, UI/UX, updated dependencies)
    • Spelling check passes: .\eng\common\spelling\Invoke-Cspell.ps1
  • For MCP tool changes:
    • Updated README.md documentation
    • Updated command list in /docs/azmcp-commands.md
    • Updated test prompts in /e2eTests/e2eTestPrompts.md
    • For new or modified tool descriptions, ran the eng/tools/ToolDescriptionConfidenceScore tool and obtained a result >= 0.4
  • 👉 For Community (non-Azure team member) PRs:
    • Security review: Reviewed code for security vulnerabilities, malicious code, or suspicious activities before running tests (crypto mining, spam, data exfiltration, etc.)
    • Manual tests run: added comment /azp run azure - mcp to run Live Test Pipeline

@msalaman msalaman marked this pull request as ready for review August 7, 2025 02:50
Copilot AI review requested due to automatic review settings August 7, 2025 02:50
@msalaman msalaman requested a review from a team as a code owner August 7, 2025 02:50
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR migrates and adds the Cloud Architect tool from the @Azure repository to the Azure MCP server. The tool helps users design Azure cloud architectures through guided questions by collecting requirements and providing architecture recommendations.

  • Adds a new cloudarchitect area with guided architecture design functionality
  • Implements comprehensive service layer for generating component recommendations based on workload types
  • Provides detailed architecture design output including security, cost optimization, and deployment considerations

Reviewed Changes

Copilot reviewed 32 out of 32 changed files in this pull request and generated no comments.

Show a summary per file
File Description
areas/cloudarchitect/src/AzureMcp.CloudArchitect/* Core implementation of the Cloud Architect tool with services, commands, models, and options
areas/cloudarchitect/tests/* Unit tests for the design command functionality
core/src/AzureMcp.Cli/Program.cs Registration of the new CloudArchitect area setup
docs/azmcp-commands.md Documentation for the new cloudarchitect design command
e2eTests/e2eTestPrompts.md Test prompt for the new tool
README.md Updated feature list to include Cloud Architect
CHANGELOG.md Added entry for the new command
AzureMcp.sln Project references for the new area
.vscode/cspell.json Added cloudarchitecture to dictionary
Comments suppressed due to low confidence (4)

areas/cloudarchitect/src/AzureMcp.CloudArchitect/Commands/CloudArchitectJsonContext.cs:10

  • The class name AzureCloudArchitectJsonContext is inconsistent with the naming pattern used in the project. Based on the file in the root CloudArchitectJsonContext.cs, it should be named CloudArchitectJsonContext to maintain consistency.
[JsonSerializable(typeof(List<string>))]
[JsonSourceGenerationOptions(PropertyNamingPolicy = JsonKnownNamingPolicy.CamelCase)]
internal partial class AzureCloudArchitectJsonContext : JsonSerializerContext

areas/cloudarchitect/src/AzureMcp.CloudArchitect/Commands/CloudArchitectJsonContext.cs:8

  • This JSON context only includes List<string> but the main CloudArchitectJsonContext.cs file includes more comprehensive types like ArchitectureDesign, DesignCommandResult, etc. Consider consolidating these contexts or ensuring this one includes all necessary types for the commands area.
[JsonSerializable(typeof(List<string>))]

areas/cloudarchitect/src/AzureMcp.CloudArchitect/Commands/Design/DesignCommand.cs:84

  • The code references CloudArchitectJsonContext.Default.ListString but the actual JSON context class in the Commands folder is named AzureCloudArchitectJsonContext. This will cause a compilation error.
        context.Response.Results = ResponseResult.Create(new List<string> { designArchitecture }, CloudArchitectJsonContext.Default.ListString);

CHANGELOG.md:9

  • The markdown link syntax is incorrect. It should be [#890](https://github.com/Azure/azure-mcp/pull/890) with parentheses instead of square brackets around the URL.
- Added new command for designing Azure Cloud Architecture through guided questions. [[#890]https://github.com/Azure/azure-mcp/pull/890]

@github-project-automation github-project-automation bot moved this from Untriaged to In Progress in Azure MCP Server (OLD) Aug 7, 2025
Copy link
Member

@joshfree joshfree left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add the missing entry to ./github/CODEOWNERS for these new directories. Also see the CONTRIBUTING.md guide for MSFT FTE -- you'll need to also add the missing github issue label for the new area-* /cc @vcolin7 who may be able to help here

@msalaman msalaman requested a review from a team as a code owner August 19, 2025 19:44
@msalaman msalaman added the area-cloudarchitect Cloud Architect Tool label Aug 19, 2025
@fanyang-mono
Copy link
Contributor

LGTM! Thanks for adding this tool, @msalaman !

@msalaman msalaman requested review from jongio and joshfree August 19, 2025 23:18
@msalaman msalaman dismissed joshfree’s stale review August 20, 2025 20:48

Created github issue label and updated code owners file

@msalaman msalaman merged commit f2de3a4 into main Aug 20, 2025
26 checks passed
@msalaman msalaman deleted the masalama/cloudArchitectTool branch August 20, 2025 23:46
@github-project-automation github-project-automation bot moved this from In Progress to Done in Azure MCP Server (OLD) Aug 20, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-cloudarchitect Cloud Architect Tool

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

7 participants