Skip to content

[Doc Gap] Redis tool parameter names and new options outdated after tool design migration #3073

Description

@github-actions

Documentation Gap

Server: Azure.Mcp.Server
Tool directory: tools/Azure.Mcp.Tools.Redis
Triggered by: commit 3d216b022957f26ec31bec5535346b998ff45047 (PR #3065) by @alzimmermsft
Changed files: tools/Azure.Mcp.Tools.Redis/src/Options/ResourceCreateOptions.cs, tools/Azure.Mcp.Tools.Redis/src/Options/ResourceListOptions.cs, tools/Azure.Mcp.Tools.Redis/src/Commands/ResourceCreateCommand.cs

What Changed

PR #3065 migrated Redis tools to the new two-generic command design (SubscriptionCommand<TOptions, TResult> with [Option] attributes on flat POCOs). The old RedisOptionDefinitions.cs was removed and options are now declared directly on ResourceCreateOptions. This changed the CLI parameter name for the resource name from --name to --resource, and added two new parameters (--access-keys-authentication, --public-network-access) that don't appear in the docs.

Gaps Found

  • azmcp redis create docs show --name <name> but the actual CLI parameter is now --resource <resource> (derived from the Resource property name in ResourceCreateOptions)
  • New --access-keys-authentication option (bool, default: false) is missing from azmcp-commands.md
  • New --public-network-access option (bool, default: false) is missing from azmcp-commands.md

Files to Update

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

Context

Current docs (incorrect):

azmcp redis create --subscription <subscription> \
                   --resource-group <resource-group> \
                   --name <name> \
                   --sku <sku> \
                   --location <location> \
                   [--modules <modules>]

Current ResourceCreateOptions.cs (source of truth):

public sealed class ResourceCreateOptions : ISubscriptionOption
{
    [Option(Description = "The name of the Redis resource (e.g., my-redis).")]
    public required string Resource { get; set; }  // maps to --resource

    [Option(Description = "The location for the Redis resource (e.g. eastus).")]
    public required string Location { get; set; }

    [Option(Description = "The SKU for the Redis resource. (Default: Balanced_B0)")]
    public string? Sku { get; set; }

    [Option(Description = "Whether to enable access keys for authentication for the Redis resource. (Default: false)")]
    public bool? AccessKeysAuthentication { get; set; }  // new, missing from docs

    [Option(Description = "Whether to enable public network access for the Redis resource. (Default: false)")]
    public bool? PublicNetworkAccess { get; set; }       // new, missing from docs

    [Option(Description = "A list of modules to enable on the Azure Managed Redis resource (e.g., RedisBloom, RedisJSON).")]
    public string[]? Modules { get; set; }

    [Option(Description = OptionDescriptions.ResourceGroup)]
    public required string ResourceGroup { get; set; }

    [Option(Description = OptionDescriptions.Subscription)]
    public string? Subscription { get; set; }

    [Option(Description = OptionDescriptions.Tenant)]
    public string? Tenant { get; set; }
}
📐 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

Locate the ### Azure Redis Operations section and replace the azmcp redis create usage block with:

# Creates a new Azure Managed Redis resource (asynchronous; poll provisioningState until 'Succeeded')
# ✅ Destructive | ❌ Idempotent | ❌ OpenWorld | ❌ ReadOnly | ❌ Secret | ❌ LocalRequired
azmcp redis create --subscription <subscription> \
                   --resource-group <resource-group> \
                   --resource <resource> \
                   --location <location> \
                   [--sku <sku>] \
                   [--access-keys-authentication <true|false>] \
                   [--public-network-access <true|false>] \
                   [--modules <modules>]

Step 2: Verify documentation structure

servers/Azure.Mcp.Server/docs/azmcp-commands.md — one ## azmcp <service> <resource> <operation> section per command with a parameters table and example usage block.

Step 3: Validate

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

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    copilotdocumentationImprovements or additions to documentation

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions