Skip to content

Move azure resource files out of Microsoft.Mcp.Core#1827

Merged
hallipr merged 5 commits intomicrosoft:mainfrom
hallipr:users/pahallis/core-migration
Mar 3, 2026
Merged

Move azure resource files out of Microsoft.Mcp.Core#1827
hallipr merged 5 commits intomicrosoft:mainfrom
hallipr:users/pahallis/core-migration

Conversation

@hallipr
Copy link
Copy Markdown
Member

@hallipr hallipr commented Feb 26, 2026

What does this PR do?

  • Move the 3 Azure text resources out of the common core library
  • Change the resource discovery model to allow servers to register their resources at program start

GitHub issue number?

partially addresses #289

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

@hallipr hallipr requested a review from a team as a code owner February 26, 2026 23:17
Copilot AI review requested due to automatic review settings February 26, 2026 23:17
@hallipr hallipr requested a review from a team as a code owner February 26, 2026 23:17
Copy link
Copy Markdown
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

Moves Azure-specific embedded resources out of the shared core library and updates server startup to explicitly register resources/providers at program initialization.

Changes:

  • Updates registry discovery to load registry.json from a specified assembly/resource instead of scanning the executing assembly.
  • Introduces pluggable providers for server instructions and consolidated tool definitions (including null/default implementations).
  • Updates Azure/Fabric/Template servers to register the new providers and (for Azure) embed and load resource files from the server assembly.

Reviewed changes

Copilot reviewed 17 out of 20 changed files in this pull request and generated 9 comments.

Show a summary per file
File Description
servers/Template.Mcp.Server/src/Program.cs Registers default/empty registry + instruction/tool providers for the template server
servers/Fabric.Mcp.Server/src/Program.cs Switches Fabric server to an explicit empty registry + null providers
servers/Azure.Mcp.Server/src/Properties/AssemblyInfo.cs Exposes Azure server internals to unit tests
servers/Azure.Mcp.Server/src/Program.cs Loads registry/instructions/tools from Azure server embedded resources
servers/Azure.Mcp.Server/src/Azure.Mcp.Server.csproj Embeds server Resources/*.* into Azure server assembly
core/Microsoft.Mcp.Core/src/Helpers/RegistryServerHelper.cs Changes registry loading helper to accept assembly + resource name
core/Microsoft.Mcp.Core/src/Areas/Server/RegistryServerServiceCollectionExtensions.cs Updates AddRegistryRoot to accept assembly + resource name
core/Microsoft.Mcp.Core/src/Areas/Server/Commands/ServiceCollectionExtensions.cs Injects IServerInstructionsProvider and removes embedded-resource instruction loading from core
core/Microsoft.Mcp.Core/src/Areas/Server/Commands/ServerInstructions/ResourceServerInstructionsProvider.cs Adds provider for loading instructions from embedded resources
core/Microsoft.Mcp.Core/src/Areas/Server/Commands/ServerInstructions/NullServerInstructionsProvider.cs Adds null provider for server instructions
core/Microsoft.Mcp.Core/src/Areas/Server/Commands/ServerInstructions/IServerInstructionsProvider.cs Adds interface contract for server instructions
core/Microsoft.Mcp.Core/src/Areas/Server/Commands/Discovery/IConsolidatedToolDefinitionProvider.cs Adds consolidated tool definition provider + implementations
core/Microsoft.Mcp.Core/src/Areas/Server/Commands/Discovery/ConsolidatedToolDiscoveryStrategy.cs Switches consolidated tool loading to use injected provider
core/Azure.Mcp.Core/tests/Azure.Mcp.Core.UnitTests/RegistryDiscoveryStrategyHelper.cs Updates tests to load registry from Azure server embedded resource
core/Azure.Mcp.Core/tests/Azure.Mcp.Core.UnitTests/Areas/Server/Commands/ToolLoading/SingleProxyToolLoaderTests.cs Updates tests to load registry from Azure server embedded resource
core/Azure.Mcp.Core/tests/Azure.Mcp.Core.UnitTests/Areas/Server/Commands/ServiceCollectionExtensionsTests.cs Updates tests to use new AddRegistryRoot(assembly, resource) signature
core/Azure.Mcp.Core/tests/Azure.Mcp.Core.UnitTests/Areas/Server/Commands/Discovery/ConsolidatedToolDiscoveryStrategyTests.cs Updates tests to provide an IConsolidatedToolDefinitionProvider

Comment thread servers/Template.Mcp.Server/src/Program.cs Outdated
Comment thread servers/Template.Mcp.Server/src/Program.cs
Comment thread servers/Fabric.Mcp.Server/src/Program.cs Outdated
Comment thread servers/Fabric.Mcp.Server/src/Program.cs
@hallipr hallipr force-pushed the users/pahallis/core-migration branch 2 times, most recently from 055bf75 to 5827430 Compare February 27, 2026 02:09
Copy link
Copy Markdown
Contributor

@fanyang-mono fanyang-mono left a comment

Choose a reason for hiding this comment

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

LGTM!

@hallipr hallipr force-pushed the users/pahallis/core-migration branch from a1c0b05 to ad7f35c Compare February 27, 2026 21:14
@hallipr
Copy link
Copy Markdown
Member Author

hallipr commented Feb 27, 2026

/azp run mcp - pullrequest - live

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@github-project-automation github-project-automation Bot moved this from Untriaged to In Progress in Azure MCP Server Mar 3, 2026
@hallipr hallipr force-pushed the users/pahallis/core-migration branch from ad7f35c to 5c9f13b Compare March 3, 2026 19:39
@hallipr hallipr added this to the 2026-03 milestone Mar 3, 2026
@hallipr hallipr self-assigned this Mar 3, 2026
@hallipr hallipr moved this from 🤔 Triage to 🔬 Dev in PR in Azure SDK EngSys 🚀🌒🧑‍🚀 Mar 3, 2026
@hallipr hallipr merged commit a6025db into microsoft:main Mar 3, 2026
15 checks passed
@github-project-automation github-project-automation Bot moved this from In Progress to Done in Azure MCP Server Mar 3, 2026
@hallipr hallipr deleted the users/pahallis/core-migration branch March 3, 2026 23:34
@kurtzeborn kurtzeborn moved this from 🔬 Dev in PR to 🎊 Closed in Azure SDK EngSys 🚀🌒🧑‍🚀 Mar 10, 2026
colbytimm pushed a commit to colbytimm/microsoft-mcp that referenced this pull request Apr 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

5 participants