Skip to content

Conversation

@audreyttt
Copy link
Member

@audreyttt audreyttt commented Jan 22, 2026

What does this PR do?

This PR adds the azmcp-compute-disk-get command which mirrors the capabilities of the Get-AzDisk PowerShell command. This is one of our top used PowerShell commands. More disk tools are planned to be added in the future.

GitHub issue number?

(#1552)

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 servers/Azure.Mcp.Server/CHANGELOG.md and/or servers/Fabric.Mcp.Server/CHANGELOG.md for product changes (features, bug fixes, UI/UX, updated dependencies)
  • For MCP tool changes:
    • One tool per PR: This PR adds or modifies only one MCP tool for faster review cycles
    • Updated servers/Azure.Mcp.Server/README.md and/or servers/Fabric.Mcp.Server/README.md documentation
    • Validate README.md changes using script at eng/scripts/Process-PackageReadMe.ps1. See Package README
    • Updated command list in /servers/Azure.Mcp.Server/docs/azmcp-commands.md and/or /docs/fabric-commands.md
    • Run .\eng\scripts\Update-AzCommandsMetadata.ps1 to update tool metadata in azmcp-commands.md (required for CI)
    • For new or modified tool descriptions, ran ToolDescriptionEvaluator and obtained a score of 0.4 or more and a top 3 ranking for all related test prompts
    • For tools with new names, including new tools or renamed tools, update consolidated-tools.json
    • For new tools associated with Azure services or publicly available tools/APIs/products, add URL to documentation in the PR description
  • Extra steps for Azure MCP Server tool changes:
    • Updated test prompts in /servers/Azure.Mcp.Server/docs/e2eTestPrompts.md
    • 👉 For Community (non-Microsoft 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 mcp - pullrequest - live to run Live Test Pipeline

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 pull request introduces Azure Compute disk operations functionality to the Azure MCP Server, adding the ability to retrieve information about Azure managed disks.

Changes:

  • Adds compute_disk_get command for retrieving managed disk information
  • Implements service layer for Azure Compute operations with list and get capabilities
  • Includes comprehensive unit and live tests with test infrastructure

Reviewed changes

Copilot reviewed 26 out of 26 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
tools/Azure.Mcp.Tools.Compute/src/Azure.Mcp.Tools.Compute.csproj Main project file defining dependencies for the Compute tools
tools/Azure.Mcp.Tools.Compute/src/GlobalUsings.cs Global using statements for the Compute tools
tools/Azure.Mcp.Tools.Compute/src/ComputeSetup.cs Service and command registration for the Compute area
tools/Azure.Mcp.Tools.Compute/src/Models/Disk.cs Data model representing an Azure managed disk
tools/Azure.Mcp.Tools.Compute/src/Services/IComputeService.cs Service interface defining Compute operations
tools/Azure.Mcp.Tools.Compute/src/Services/ComputeService.cs Implementation of Compute service with disk operations
tools/Azure.Mcp.Tools.Compute/src/Options/BaseComputeOptions.cs Base options class for Compute commands
tools/Azure.Mcp.Tools.Compute/src/Options/ComputeOptionDefinitions.cs Command-line option definitions for Compute commands
tools/Azure.Mcp.Tools.Compute/src/Options/Disk/DiskGetOptions.cs Options specific to the disk get command
tools/Azure.Mcp.Tools.Compute/src/Commands/BaseComputeCommand.cs Base command class for all Compute commands
tools/Azure.Mcp.Tools.Compute/src/Commands/ComputeJsonContext.cs JSON serialization context for AOT compatibility
tools/Azure.Mcp.Tools.Compute/src/Commands/Disk/DiskGetCommand.cs Implementation of the disk get command
tools/Azure.Mcp.Tools.Compute/tests/test-resources.bicep Bicep template for deploying test resources
tools/Azure.Mcp.Tools.Compute/tests/test-resources.json Compiled ARM template for test resources
tools/Azure.Mcp.Tools.Compute/tests/test-resources-post.ps1 Post-deployment script for test setup
tools/Azure.Mcp.Tools.Compute/tests/Azure.Mcp.Tools.Compute.UnitTests/Azure.Mcp.Tools.Compute.UnitTests.csproj Unit test project configuration
tools/Azure.Mcp.Tools.Compute/tests/Azure.Mcp.Tools.Compute.UnitTests/Disk/DiskGetCommandTests.cs Unit tests for the disk get command
tools/Azure.Mcp.Tools.Compute/tests/Azure.Mcp.Tools.Compute.LiveTests/Azure.Mcp.Tools.Compute.LiveTests.csproj Live test project configuration
tools/Azure.Mcp.Tools.Compute/tests/Azure.Mcp.Tools.Compute.LiveTests/ComputeCommandTests.cs Live integration tests for Compute commands
servers/Azure.Mcp.Server/src/Program.cs Registers ComputeSetup in the server's area list
servers/Azure.Mcp.Server/README.md Adds Compute service documentation and examples
servers/Azure.Mcp.Server/docs/azmcp-commands.md Documents the compute_disk_get command usage
servers/Azure.Mcp.Server/docs/e2eTestPrompts.md Adds test prompts for Compute operations
servers/Azure.Mcp.Server/changelog-entries/1769107417230.yaml Changelog entry for the new feature
Microsoft.Mcp.slnx Adds Compute projects to solution
.github/CODEOWNERS Adds code ownership for Compute tools

Copy link

@haagha haagha left a comment

Choose a reason for hiding this comment

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

left 2 comments

{
base.RegisterOptions(command);
command.Options.Add(ComputeOptionDefinitions.Disk.AsOptional());
command.Options.Add(OptionDefinitions.Common.ResourceGroup.AsOptional());
Copy link

Choose a reason for hiding this comment

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

Resource group should be getting used from the common options, it shouldn't need to be defined as a new option.

# ServiceOwners: @kirill-linnik @kagbakpem @arazan

# PRLabel: %tools-Compute
/tools/Azure.Mcp.Tools.Compute/ @microsoft/azure-mcp @haagha @audreyttt
Copy link

Choose a reason for hiding this comment

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

also add @g2vinay here

@github-project-automation github-project-automation bot moved this from Untriaged to In Progress in Azure MCP Server Jan 23, 2026
| Tool Name | Test Prompt |
|:----------|:----------|
| compute_disk_get | List all managed disks in my subscription |
| compute_disk_get | Show me all disks in resource group <resource-group> |
Copy link

@haagha haagha Jan 23, 2026

Choose a reason for hiding this comment

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

This would only show the managed disk I'm assuming so we should rewrite it to say show me all managed disks

| compute_disk_get | List all managed disks in my subscription |
| compute_disk_get | Show me all disks in resource group <resource-group> |
| compute_disk_get | Get details of disk <disk-name> in resource group <resource-group> |
| compute_disk_get | How many disks do I have in my subscription? |
Copy link

Choose a reason for hiding this comment

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

I'm assuming we are only talking about managed disks correct?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: In Progress

Development

Successfully merging this pull request may close these issues.

3 participants