Skip to content

[Doc Gap] acr_registry_list and acr_registry_repository_list — global options table incorrectly claims --auth-method applies to all comman [Content truncated due to length] #2845

@github-actions

Description

@github-actions

Documentation Gap

Server: Azure.Mcp.Server
Tool directory: tools/Azure.Mcp.Tools.Acr
Triggered by: commit be352cf / PR #2825 by @alzimmermsft
Changed files:

  • tools/Azure.Mcp.Tools.Acr/src/Commands/Registry/RegistryListCommand.cs
  • tools/Azure.Mcp.Tools.Acr/src/Commands/Registry/RegistryRepositoryListCommand.cs
  • tools/Azure.Mcp.Tools.Acr/src/Options/Registry/RegistryListOptions.cs
  • tools/Azure.Mcp.Tools.Acr/src/Options/Registry/RegistryRepositoryListOptions.cs
  • tools/Azure.Mcp.Tools.Acr/src/Commands/BaseAcrCommand.cs (deleted)
  • tools/Azure.Mcp.Tools.Acr/src/Options/AcrOptionDefinitions.cs (deleted)
  • tools/Azure.Mcp.Tools.Acr/src/Options/BaseAcrOptions.cs (deleted)

What Changed

PR #2825 migrated the ACR tools to the new tool design. RegistryListCommand and RegistryRepositoryListCommand were changed from extending BaseAcrCommand (which extended the old single-type-parameter SubscriptionCommandGlobalCommand) to extending the new two-type-parameter SubscriptionCommand<TOptions, TResult> (which extends AuthenticatedCommandBaseCommand). This is a breaking change that removed --auth-method from both acr_registry_list and acr_registry_repository_list.

The changelog entry added by the PR states:

changes:
  - section: "Breaking Changes"
    description: "Removed auth mode from acr_registry_list and acr_registry_repository_list tools as they don't use that parameter."

Gaps Found

Files to Update

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

Context

Before the migration, the option inheritance chain was:

RegistryListCommand → BaseAcrCommand → SubscriptionCommand (old) → GlobalCommand
                                                                     └── registers --auth-method

After the migration:

RegistryListCommand → SubscriptionCommand<TOptions, TResult> → AuthenticatedCommand → BaseCommand
                                                                (no --auth-method registered)

The new RegistryListOptions and RegistryRepositoryListOptions explicitly declare only: Tenant, Subscription, ResourceGroup, RetryPolicy, Registry.

The current global options section in azmcp-commands.md:

## Global Options

The following options are available for all commands:

| Option | Required | Default | Description |
|-----------|----------|---------|-------------|
| `--subscription` | No | Environment variable `AZURE_SUBSCRIPTION_ID` | ... |
| `--tenant-id` | No | - | ... |
| `--auth-method` | No | 'credential' | Authentication method ('credential', 'key', 'connectionString') |
...
📐 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

After the Global Options table, add a note listing commands that do not support --auth-method. If a note already exists from the CloudArchitect fix (#2827), extend it to include the ACR tools:

Note: The following commands do not support --auth-method (and other global options where noted):

  • cloudarchitect design — does not support --subscription, --tenant-id, --auth-method, or any --retry-* options
  • acr registry list and acr registry repository list — do not support --auth-method

Step 2: Verify documentation structure

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

  • The Global Options section note lists acr registry list and acr registry repository list as exceptions to --auth-method
  • The ACR Operations section command signatures remain accurate (they already correctly show --subscription, --resource-group, --registry)

Step 3: Validate

Run these commands in order:

  1. dotnet build servers/Azure.Mcp.Server/ — confirms the server project compiles cleanly
  2. dotnet build tools/Azure.Mcp.Tools.Acr/src/ — confirms the ACR toolset compiles
  3. .\eng\common\spelling\Invoke-Cspell.ps1 — checks spelling in modified documentation

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 · ● 13.2M ·

Metadata

Metadata

Assignees

No one assigned

    Labels

    copilotdocumentationImprovements or additions to documentation

    Type

    No type
    No fields configured for issues without a type.

    Projects

    Status
    Untriaged

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions