Skip to content

Migrate Core tools to new tool design and remove old framework#3137

Merged
alzimmermsft merged 12 commits into
microsoft:mainfrom
alzimmermsft:MigrateCoreToolsToNewDesign
Jul 23, 2026
Merged

Migrate Core tools to new tool design and remove old framework#3137
alzimmermsft merged 12 commits into
microsoft:mainfrom
alzimmermsft:MigrateCoreToolsToNewDesign

Conversation

@alzimmermsft

@alzimmermsft alzimmermsft commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

What does this PR do?

Migrates Core tools to the new tool design and removes the previous framework for tool creation.

Additionally, updated the server tools to use Server instead of Service in their class names and migrated remaining spots using static subscription resolution to using ISubscriptionResolver to enable mockability.

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
    • Created a changelog entry if the change falls among the following: new feature, bug fix, UI/UX update, breaking change, or updated dependencies. Follow the changelog entry guide
  • 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 running the script ./eng/scripts/Process-PackageReadMe.ps1. See Package README
    • 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 renamed tools, follow the Tool Rename Checklist and tag the PR with the breaking-change label
    • 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 command list in servers/Azure.Mcp.Server/docs/azmcp-commands.md
    • Ran ./eng/scripts/Update-AzCommandsMetadata.ps1 to update tool metadata in azmcp-commands.md (required for CI)
    • 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

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 1 pipeline(s).
There may be pipelines that require an authorized user to comment /azp run to run.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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 core and tool code from the legacy “option definitions / bind in command” framework to the newer attribute-driven tool design, including renaming server start concepts from Service to Server and refactoring subscription resolution to use ISubscriptionResolver for improved testability/mockability.

Changes:

  • Replaced legacy option-definition/binding patterns with [Option] / [OptionContainer]-based options and updated commands to the newer BaseCommand<TOptions, TResult> / AuthenticatedCommand<TOptions, TResult> patterns.
  • Renamed ServiceStart* types/usages to ServerStart* across servers, core runtime/tool loading, and tests.
  • Centralized/defaulted subscription resolution via ISubscriptionResolver (including new unit tests) and removed the older CommandHelper/GlobalOptions framework pieces.

Reviewed changes

Copilot reviewed 163 out of 164 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
tools/Fabric.Mcp.Tools.OneLake/tests/Fabric.Mcp.Tools.OneLake.Tests/Fabric.Mcp.Tools.OneLake.Tests.csproj Removes direct System.CommandLine test dependency.
tools/Fabric.Mcp.Tools.OneLake/tests/Fabric.Mcp.Tools.OneLake.Tests/Commands/File/FileReadCommandTests.cs Updates tests to use ServerStartOptions.
tools/Fabric.Mcp.Tools.OneLake/tests/Fabric.Mcp.Tools.OneLake.Tests/Commands/File/BlobGetCommandTests.cs Updates tests to use ServerStartOptions.
tools/Fabric.Mcp.Tools.OneLake/src/Options/ShortcutListOptions.cs Removes inheritance on legacy GlobalOptions.
tools/Fabric.Mcp.Tools.OneLake/src/Options/DataAccessRoleListOptions.cs Removes inheritance on legacy GlobalOptions.
tools/Fabric.Mcp.Tools.OneLake/src/Commands/File/FileReadCommand.cs Updates command to use ServerStartOptions.
tools/Fabric.Mcp.Tools.OneLake/src/Commands/File/BlobGetCommand.cs Updates command to use ServerStartOptions.
tools/Fabric.Mcp.Tools.DataFactory/tests/Fabric.Mcp.Tools.DataFactory.Tests/Fabric.Mcp.Tools.DataFactory.Tests.csproj Removes direct System.CommandLine test dependency.
tools/Fabric.Mcp.Tools.Core/tests/Fabric.Mcp.Tools.Core.Tests/Fabric.Mcp.Tools.Core.Tests.csproj Removes direct System.CommandLine test dependency.
tools/Azure.Mcp.Tools.SignalR/tests/Azure.Mcp.Tools.SignalR.Tests/SignalRCommandTests.cs Removes test covering empty subscription behavior.
tools/Azure.Mcp.Tools.Monitor/tests/Azure.Mcp.Tools.Monitor.Tests/MonitorCommandTests.cs Refactors tests to use primary constructor + removes manual service wiring and some invalid-input tests.
tools/Azure.Mcp.Tools.Marketplace/tests/Azure.Mcp.Tools.Marketplace.Tests/Product/ProductListCommandTests.cs Removes TestEnvironment usage and simplifies arrange/act.
tools/Azure.Mcp.Tools.Marketplace/tests/Azure.Mcp.Tools.Marketplace.Tests/Product/ProductGetCommandTests.cs Removes TestEnvironment usage and simplifies arrange/act.
tools/Azure.Mcp.Tools.IoTHub/tests/Azure.Mcp.Tools.IoTHub.UnitTests/IoTHub/IoTHubGetCommandTests.cs Removes TestEnvironment usage and some legacy usings.
tools/Azure.Mcp.Tools.IoTHub/src/Commands/IoTHub/IoTHubGetCommand.cs Removes unused System.CommandLine using.
tools/Azure.Mcp.Tools.IoTHub/src/Azure.Mcp.Tools.IoTHub.csproj Uses $(RepoRoot) and removes System.CommandLine package reference.
tools/Azure.Mcp.Tools.Extension/tests/Azure.Mcp.Tools.Extension.Tests/ExtensionSetupTests.cs Updates tests to use ServerStartOptions.
tools/Azure.Mcp.Tools.Extension/tests/Azure.Mcp.Tools.Extension.Tests/CliInstallCommandTests.cs Removes unused System.CommandLine using.
tools/Azure.Mcp.Tools.Extension/tests/Azure.Mcp.Tools.Extension.Tests/CliGenerateCommandTests.cs Removes unused System.CommandLine using.
tools/Azure.Mcp.Tools.Extension/src/ExtensionSetup.cs Switches start option DI lookup to ServerStartOptions.
tools/Azure.Mcp.Tools.EventHubs/tests/Azure.Mcp.Tools.EventHubs.Tests/Namespace/NamespaceGetCommandTests.cs Removes legacy option-def constant usage and uses literal --resource-group.
tools/Azure.Mcp.Tools.Compute/src/Services/ComputeService.cs Updates service to depend on IOptions<ServerStartOptions>.
tools/Azure.Mcp.Tools.AppService/src/Commands/Webapp/WebappGetCommand.cs Replaces legacy option-def constant in validation message.
tools/Azure.Mcp.Tools.AppConfig/tests/Azure.Mcp.Tools.AppConfig.Tests/assets.json Updates recorded-test asset tag.
tools/Azure.Mcp.Tools.Acr/tests/Azure.Mcp.Tools.Acr.Tests/Registry/RegistryListCommandTests.cs Removes TestEnvironment usage.
tools/Azure.Mcp.Tools.Acr/tests/Azure.Mcp.Tools.Acr.Tests/AcrCommandTests.cs Removes tests around invalid/missing subscription behavior.
servers/Template.Mcp.Server/src/Program.cs Renames ServiceStartCommand references to ServerStartCommand.
servers/Fabric.Mcp.Server/src/Program.cs Renames ServiceStartCommand references to ServerStartCommand.
servers/Azure.Mcp.Server/tests/Azure.Mcp.Server.Tests/Infrastructure/CommandTypeInventoryTests.cs Removes unused System.Threading.Tasks using.
servers/Azure.Mcp.Server/src/Program.cs Renames ServiceStartCommand references to ServerStartCommand and adjusts options retrieval.
servers/Azure.Mcp.Server/src/GlobalUsings.cs Removes global System.Text.Json using (explicit usings used instead).
servers/Azure.Mcp.Server/src/Azure.Mcp.Server.csproj Removes System.CommandLine package reference and uses $(RepoRoot) for SKILL.md include.
servers/Azure.Mcp.Server/docs/new-command.md Removes System.CommandLine mentions from example using block.
eng/tools/ToolMetadataExporter/src/Program.cs Fixes options binding call to non-generic .Bind(...).
core/Microsoft.Mcp.Core/tests/Microsoft.Mcp.Tests/Helpers/TestHttpClientFactoryProvider.cs Configures ServerStartOptions instead of ServiceStartOptions.
core/Microsoft.Mcp.Core/tests/Microsoft.Mcp.Tests/Helpers/TestEnvironment.cs Removes TestEnvironment helper class implementation.
core/Microsoft.Mcp.Core/tests/Microsoft.Mcp.Core.Tests/Services/Telemetry/TelemetryServiceTests.cs Updates tests to use ServerStartOptions.
core/Microsoft.Mcp.Core/tests/Microsoft.Mcp.Core.Tests/Extensions/CommandResultExtensionsTests.cs Adds tests for HasOptionResult behavior.
core/Microsoft.Mcp.Core/tests/Microsoft.Mcp.Core.Tests/Commands/CommandValidationExceptionTests.cs Updates tests for BaseCommand<TOptions, TResult> and list literal usage.
core/Microsoft.Mcp.Core/tests/Microsoft.Mcp.Core.Tests/Commands/BaseCommandMetadataTests.cs Updates tests for BaseCommand<TOptions, TResult>.
core/Microsoft.Mcp.Core/tests/Microsoft.Mcp.Core.Tests/Areas/Server/Commands/ToolLoading/ToolLoaderTelemetryTests.cs Updates runtime creation to use ServerStartOptions.
core/Microsoft.Mcp.Core/src/Services/Telemetry/TelemetryService.cs Updates service to consume IOptions<ServerStartOptions>.
core/Microsoft.Mcp.Core/src/Services/ServicesJsonContext.cs Converts serializer context to file-scoped type declaration.
core/Microsoft.Mcp.Core/src/Services/ProcessExecution/IExternalProcessService.cs Adds System.Text.Json dependency for JsonElement parsing API.
core/Microsoft.Mcp.Core/src/Services/ProcessExecution/ExternalProcessService.cs Adds explicit System.Text.Json using.
core/Microsoft.Mcp.Core/src/Services/Http/HttpClientFactoryConfigurator.cs Uses ServerStartOptions to build transport-based user agent.
core/Microsoft.Mcp.Core/src/Services/Azure/Authentication/CustomChainedCredential.cs Updates doc reference to ServerStartCommand.
core/Microsoft.Mcp.Core/src/Services/Azure/Authentication/AzureCloudConfiguration.cs Updates options type to ServerStartOptions.
core/Microsoft.Mcp.Core/src/Options/SubscriptionOptions.cs Removes legacy subscription options base type.
core/Microsoft.Mcp.Core/src/Options/RetryPolicyOptions.cs Replaces legacy option-def JSON names with explicit JsonPropertyName strings.
core/Microsoft.Mcp.Core/src/Options/OptionTypeHandler.cs Uses option-instance-based GetValueOrDefault(option) binding approach.
core/Microsoft.Mcp.Core/src/Options/OptionBinder.cs Adds explicit System.CommandLine using.
core/Microsoft.Mcp.Core/src/Options/GlobalOptions.cs Removes legacy global options base type.
core/Microsoft.Mcp.Core/src/Options/AuthMethodOptions.cs Removes legacy auth method options helper.
core/Microsoft.Mcp.Core/src/Models/Option/OptionExtensions.cs Removes legacy required/optional option helpers.
core/Microsoft.Mcp.Core/src/Models/Option/OptionDefinitions.cs Removes most legacy static option definitions; retains subscription const.
core/Microsoft.Mcp.Core/src/Models/Option/OptionDefinition.cs Removes legacy helpers that produced System.CommandLine.Option instances.
core/Microsoft.Mcp.Core/src/Models/ModelsJsonContext.cs Updates serialized type from ToolNamesResult to ToolsListResult and file-scopes the context.
core/Microsoft.Mcp.Core/src/Models/HiddenCommandAttribute.cs File-scopes attribute declaration.
core/Microsoft.Mcp.Core/src/Models/Command/CommandResponse.cs Refactors ResponseResult to primary-constructor style and adds explicit System.Text.Json using.
core/Microsoft.Mcp.Core/src/Models/Command/CommandContext.cs Adds MCP server/progress token support on context.
core/Microsoft.Mcp.Core/src/Logging/FileLoggingExtensions.cs Minor lambda simplification for logger provider registration.
core/Microsoft.Mcp.Core/src/Helpers/RegistryServerHelper.cs Adds explicit System.Text.Json using.
core/Microsoft.Mcp.Core/src/Helpers/McpHelper.cs Adds explicit System.Text.Json using.
core/Microsoft.Mcp.Core/src/Helpers/CommandHelper.cs Removes legacy subscription helper implementation.
core/Microsoft.Mcp.Core/src/Helpers/AzureCliProfileHelper.cs Adds explicit System.Text.Json using.
core/Microsoft.Mcp.Core/src/GlobalUsings.cs Removes global usings for System.CommandLine, System.Text.Json, and ModelContextProtocol.Server.
core/Microsoft.Mcp.Core/src/Extensions/ParseResultExtensions.cs Simplifies to option-instance-based GetValueOrDefault(option) and reduces visibility.
core/Microsoft.Mcp.Core/src/Extensions/McpServerElicitationExtensions.cs Adds missing explicit ModelContextProtocol.Server using.
core/Microsoft.Mcp.Core/src/Extensions/CommandResultExtensions.cs Moves to option-instance-based access and reduces visibility.
core/Microsoft.Mcp.Core/src/CoreJsonContext.cs File-scopes serializer context declaration.
core/Microsoft.Mcp.Core/src/Commands/TrimAnnotations.cs Formatting cleanup for trim annotations.
core/Microsoft.Mcp.Core/src/Commands/ToolMetadataJsonConverter.cs Adds explicit System.Text.Json using and minor formatting.
core/Microsoft.Mcp.Core/src/Commands/ToolMetadata.cs Refactors metadata backing fields into init-only properties and uses field ??= caching.
core/Microsoft.Mcp.Core/src/Commands/JsonSourceGenerationContext.cs Adds explicit System.Text.Json using and file-scopes context.
core/Microsoft.Mcp.Core/src/Commands/ICommandFactory.cs Adds explicit System.CommandLine using.
core/Microsoft.Mcp.Core/src/Commands/IBaseCommand.cs Adds explicit System.CommandLine using.
core/Microsoft.Mcp.Core/src/Commands/GlobalCommand.cs Removes legacy global command base class.
core/Microsoft.Mcp.Core/src/Commands/ExtendedCommand.cs Adds explicit System.CommandLine using.
core/Microsoft.Mcp.Core/src/Commands/EmptyOptions.cs File-scopes empty options type.
core/Microsoft.Mcp.Core/src/Commands/CustomHelpAction.cs Adds explicit System.CommandLine using.
core/Microsoft.Mcp.Core/src/Commands/CommandMetadataAttribute.cs Updates doc reference to BaseCommand<TOptions, TResult>.
core/Microsoft.Mcp.Core/src/Commands/CommandGroup.cs Adds explicit System.CommandLine using.
core/Microsoft.Mcp.Core/src/Commands/CommandFactory.cs Adds explicit System.CommandLine + System.Text.Json usings and renames start-command detection.
core/Microsoft.Mcp.Core/src/Commands/CommandExtensions.cs Adds explicit System.CommandLine/System.Text.Json and minor refactors.
core/Microsoft.Mcp.Core/src/Commands/BaseCommand`2.cs Improves CommandValidationException missing-option message formatting and relocates ExceptionResult.
core/Microsoft.Mcp.Core/src/Commands/BaseCommand.cs Removes duplicate ExceptionResult definition (now in BaseCommand2).
core/Microsoft.Mcp.Core/src/Areas/Tools/Options/ToolsListOptions.cs Converts options to attribute-based form and changes namespace filter shape.
core/Microsoft.Mcp.Core/src/Areas/Tools/Options/ToolsListOptionDefinitions.cs Removes legacy option definitions for tools listing.
core/Microsoft.Mcp.Core/src/Areas/Tools/Commands/ToolsListCommand.cs Converts to BaseCommand<TOptions, TResult> and changes response payload to ToolsListResult.
core/Microsoft.Mcp.Core/src/Areas/Server/ServerSetup.cs Renames server commands to ServerStartCommand/ServerInfoCommand.
core/Microsoft.Mcp.Core/src/Areas/Server/ServerJsonContext.cs Adds explicit System.Text.Json using and file-scopes context.
core/Microsoft.Mcp.Core/src/Areas/Server/Options/ServiceOptionDefinitions.cs Removes legacy server option definitions.
core/Microsoft.Mcp.Core/src/Areas/Server/Options/ServerStartOptions.cs Introduces ServerStartOptions with [Option] metadata and renamed properties.
core/Microsoft.Mcp.Core/src/Areas/Server/Options/ServerOptionDescriptions.cs Adds centralized option description strings for server options.
core/Microsoft.Mcp.Core/src/Areas/Server/Options/PluginTelemetryOptions.cs Converts telemetry options to attribute-based options (no longer inherits start options).
core/Microsoft.Mcp.Core/src/Areas/Server/Options/PluginTelemetryOptionDefinitions.cs Removes legacy telemetry option definitions.
core/Microsoft.Mcp.Core/src/Areas/Server/Models/OAuthProtectedResourceMetadata.cs File-scopes serializer context.
core/Microsoft.Mcp.Core/src/Areas/Server/Commands/ToolLoading/SingleProxyToolLoader.cs Adds explicit System.Text.Json and MCP server usings.
core/Microsoft.Mcp.Core/src/Areas/Server/Commands/ToolLoading/ServerToolLoader.cs Adds explicit System.Text.Json and MCP server usings.
core/Microsoft.Mcp.Core/src/Areas/Server/Commands/ToolLoading/RegistryToolLoader.cs Adds explicit System.Text.Json and MCP server usings.
core/Microsoft.Mcp.Core/src/Areas/Server/Commands/ToolLoading/NamespaceToolLoader.cs Updates to IOptions<ServerStartOptions> and adds explicit usings.
core/Microsoft.Mcp.Core/src/Areas/Server/Commands/ToolLoading/IToolLoader.cs Adds MCP server using.
core/Microsoft.Mcp.Core/src/Areas/Server/Commands/ToolLoading/IPluginSkillNameAllowlistProvider.cs Adds explicit System.Text.Json using.
core/Microsoft.Mcp.Core/src/Areas/Server/Commands/ToolLoading/IPluginFileReferenceAllowlistProvider.cs Adds explicit System.Text.Json using.
core/Microsoft.Mcp.Core/src/Areas/Server/Commands/ToolLoading/CompositeToolLoader.cs Adds MCP server using.
core/Microsoft.Mcp.Core/src/Areas/Server/Commands/ToolLoading/CommandFactoryToolLoader.cs Adds explicit System.CommandLine/System.Text.Json and MCP server usings.
core/Microsoft.Mcp.Core/src/Areas/Server/Commands/ToolLoading/BaseToolLoader.cs Adds explicit System.CommandLine/System.Text.Json and MCP server usings.
core/Microsoft.Mcp.Core/src/Areas/Server/Commands/ServiceCollectionExtensions.cs Updates APIs to use ServerStartOptions and new support-logging property name.
core/Microsoft.Mcp.Core/src/Areas/Server/Commands/ServerInfoJsonContext.cs Renames context to ServerInfoJsonContext and file-scopes.
core/Microsoft.Mcp.Core/src/Areas/Server/Commands/ServerInfoCommand.cs Renames ServiceInfoCommand to ServerInfoCommand and updates to BaseCommand<TOptions, TResult>.
core/Microsoft.Mcp.Core/src/Areas/Server/Commands/Runtime/McpRuntime.cs Updates to IOptions<ServerStartOptions> and simplifies subscription argument lookup.
core/Microsoft.Mcp.Core/src/Areas/Server/Commands/Runtime/IMcpRuntime.cs Adds MCP server using.
core/Microsoft.Mcp.Core/src/Areas/Server/Commands/PluginTelemetryCommand.cs Converts to BaseCommand<TOptions, TResult>, updates option binding, and support logging option name.
core/Microsoft.Mcp.Core/src/Areas/Server/Commands/OptionSchemaGenerator.cs Adds explicit System.CommandLine/System.Text.Json usings.
core/Microsoft.Mcp.Core/src/Areas/Server/Commands/Discovery/RegistryDiscoveryStrategy.cs Updates to IOptions<ServerStartOptions>.
core/Microsoft.Mcp.Core/src/Areas/Server/Commands/Discovery/IConsolidatedToolDefinitionProvider.cs Adds explicit System.Text.Json using.
core/Microsoft.Mcp.Core/src/Areas/Server/Commands/Discovery/ConsolidatedToolServerProvider.cs Uses literal --read-only arg instead of legacy constants.
core/Microsoft.Mcp.Core/src/Areas/Server/Commands/Discovery/ConsolidatedToolDiscoveryStrategy.cs Updates to IOptions<ServerStartOptions>.
core/Microsoft.Mcp.Core/src/Areas/Server/Commands/Discovery/CommandGroupServerProvider.cs Uses literal --read-only arg instead of legacy constants.
core/Microsoft.Mcp.Core/src/Areas/Server/Commands/Discovery/CommandGroupDiscoveryStrategy.cs Updates to IOptions<ServerStartOptions>.
core/Azure.Mcp.Core/tests/Azure.Mcp.Core.Tests/Services/Azure/Subscription/SubscriptionResolverTests.cs Adds unit tests for the new resolver behavior (CLI/env/placeholder precedence).
core/Azure.Mcp.Core/tests/Azure.Mcp.Core.Tests/Services/Azure/Authentication/AzureCloudConfigurationTests.cs Updates tests to use ServerStartOptions.
core/Azure.Mcp.Core/tests/Azure.Mcp.Core.Tests/Services/Azure/Authentication/AuthenticationIntegrationTests.cs Registers ISubscriptionResolver in test DI.
core/Azure.Mcp.Core/tests/Azure.Mcp.Core.Tests/RegistryDiscoveryStrategyHelper.cs Updates helper to use ServerStartOptions.
core/Azure.Mcp.Core/tests/Azure.Mcp.Core.Tests/Helpers/CommandHelperTests.cs Removes tests for removed legacy CommandHelper.
core/Azure.Mcp.Core/tests/Azure.Mcp.Core.Tests/Areas/Subscription/SubscriptionListCommandTests.cs Updates to SubscriptionCommandUnitTestsBase and command invocation patterns.
core/Azure.Mcp.Core/tests/Azure.Mcp.Core.Tests/Areas/Subscription/SubscriptionCommandTests.cs Updates to SubscriptionCommandUnitTestsBase and replaces env-var reliance with resolver stubbing.
core/Azure.Mcp.Core/tests/Azure.Mcp.Core.Tests/Areas/Server/Commands/ToolLoading/SingleProxyToolLoaderTests.cs Updates tests to use ServerStartOptions.
core/Azure.Mcp.Core/tests/Azure.Mcp.Core.Tests/Areas/Server/Commands/ToolLoading/ServerToolLoaderTests.cs Updates tests to use ServerStartOptions.
core/Azure.Mcp.Core/tests/Azure.Mcp.Core.Tests/Areas/Server/Commands/ToolLoading/PluginTelemetryCommandTests.cs Updates logging DI type to ServerInfoCommand.
core/Azure.Mcp.Core/tests/Azure.Mcp.Core.Tests/Areas/Server/Commands/ToolLoading/NamespaceToolLoaderTests.cs Updates tests to use ServerStartOptions.
core/Azure.Mcp.Core/tests/Azure.Mcp.Core.Tests/Areas/Server/Commands/ServiceInfoCommandTests.cs Renames tests to ServerInfoCommand + updates JSON context.
core/Azure.Mcp.Core/tests/Azure.Mcp.Core.Tests/Areas/Server/Commands/ServiceCollectionExtensionsTests.cs Updates tests to ServerStartOptions.
core/Azure.Mcp.Core/tests/Azure.Mcp.Core.Tests/Areas/Server/Commands/ServiceCollectionExtensionsSerializedTests.cs Updates tests for renamed support logging option property.
core/Azure.Mcp.Core/tests/Azure.Mcp.Core.Tests/Areas/Server/Commands/Runtime/McpRuntimeTests.cs Updates tests to ServerStartOptions.
core/Azure.Mcp.Core/tests/Azure.Mcp.Core.Tests/Areas/Server/Commands/Discovery/RegistryDiscoveryStrategyTests.cs Updates tests to ServerStartOptions.
core/Azure.Mcp.Core/tests/Azure.Mcp.Core.Tests/Areas/Server/Commands/Discovery/ConsolidatedToolDiscoveryStrategyTests.cs Updates tests to ServerStartOptions.
core/Azure.Mcp.Core/tests/Azure.Mcp.Core.Tests/Areas/Server/Commands/Discovery/CommandGroupDiscoveryStrategyTests.cs Updates tests to ServerStartOptions.
core/Azure.Mcp.Core/tests/Azure.Mcp.Core.Tests/Areas/Group/ResourceListCommandTests.cs Moves to SubscriptionCommandUnitTestsBase.
core/Azure.Mcp.Core/tests/Azure.Mcp.Core.Tests/Areas/Group/ResourceGroupListCommandTests.cs Moves to SubscriptionCommandUnitTestsBase.
core/Azure.Mcp.Core/src/Services/Azure/Subscription/SubscriptionService.cs Injects ISubscriptionResolver and uses it for default subscription ID.
core/Azure.Mcp.Core/src/Services/Azure/Subscription/SubscriptionResolver.cs Moves subscription fallback logic into SubscriptionResolver (CLI/env/placeholder handling).
core/Azure.Mcp.Core/src/Services/Azure/Subscription/ISubscriptionResolver.cs Refactors interface to expose specific resolver operations (default/profile/env).
core/Azure.Mcp.Core/src/Services/Azure/BaseAzureResourceService.cs Adds explicit System.Text.Json using.
core/Azure.Mcp.Core/src/Options/RetryOptionsExtensions.cs Removes unused usings.
core/Azure.Mcp.Core/src/GlobalUsings.cs Removes global usings for System.CommandLine and System.Text.Json.
core/Azure.Mcp.Core/src/Commands/Subscription/SubscriptionCommand`2.cs Post-binds subscription via resolver and trims quotes.
core/Azure.Mcp.Core/src/Commands/Subscription/SubscriptionCommand.cs Removes legacy SubscriptionCommand<TOptions> base class.
core/Azure.Mcp.Core/src/Areas/Subscription/Options/SubscriptionListOptions.cs Converts options to a flat [Option]-based POCO.
core/Azure.Mcp.Core/src/Areas/Subscription/Models/SubscriptionInfo.cs Makes subscription info record public.
core/Azure.Mcp.Core/src/Areas/Subscription/Commands/SubscriptionListCommand.cs Converts to AuthenticatedCommand<TOptions, TResult> and updates execution signature.
core/Azure.Mcp.Core/src/Areas/Subscription/Commands/SubscriptionJsonContext.cs File-scopes serializer context.
core/Azure.Mcp.Core/src/Areas/Group/Options/ResourceListOptions.cs Converts options to flat POCO implementing ISubscriptionOption.
core/Azure.Mcp.Core/src/Areas/Group/Options/BaseGroupOptions.cs Converts options to flat POCO implementing ISubscriptionOption.
core/Azure.Mcp.Core/src/Areas/Group/Commands/ResourceListCommand.cs Converts command to SubscriptionCommand<TOptions, TResult> and injects ISubscriptionResolver.
core/Azure.Mcp.Core/src/Areas/Group/Commands/GroupListCommand.cs Converts command to SubscriptionCommand<TOptions, TResult> and injects ISubscriptionResolver.
core/Azure.Mcp.Core/src/Areas/Group/Commands/GroupJsonContext.cs File-scopes serializer context.

Comment thread core/Microsoft.Mcp.Core/src/Extensions/CommandResultExtensions.cs
Comment thread core/Microsoft.Mcp.Core/src/Extensions/CommandResultExtensions.cs Outdated
Comment thread core/Microsoft.Mcp.Core/src/Extensions/ParseResultExtensions.cs Outdated
@alzimmermsft
alzimmermsft merged commit aee6d8f into microsoft:main Jul 23, 2026
16 checks passed
@alzimmermsft
alzimmermsft deleted the MigrateCoreToolsToNewDesign branch July 23, 2026 16:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants