Skip to content

Use ESRP to release server.json files#2359

Open
hallipr wants to merge 2 commits intomainfrom
users/phallis/esrp-server-json
Open

Use ESRP to release server.json files#2359
hallipr wants to merge 2 commits intomainfrom
users/phallis/esrp-server-json

Conversation

@hallipr
Copy link
Copy Markdown
Member

@hallipr hallipr commented Apr 7, 2026

What does this PR do?

Instead of building and running the server.json deploy tool, use the ESRP release task to update the central mcp registry

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

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

This PR moves MCP registry publishing of server.json from a custom Go-based deploy script to an ESRP-based release flow in the Azure Pipelines release job, removing the Go install/build/deploy scripts from the repo.

Changes:

  • Removed the PowerShell scripts that installed Go and built/ran the MCP registry publisher tool.
  • Updated the release pipeline to use a dedicated mcp-registry/release-server-json.yml job template.
  • Updated the MCP registry release job to stage server.json, publish it as a pipeline artifact, and release it via ESRPRelease@10.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.

File Description
eng/scripts/Install-Go.ps1 Deleted; no longer needed after removing Go-based publisher flow.
eng/scripts/Deploy-ServerJson.ps1 Deleted; replaced by ESRP-based release mechanism.
eng/pipelines/templates/jobs/release.yml Switched from the prior update job template to the new MCP registry release job template.
eng/pipelines/templates/jobs/mcp-registry/release-server-json.yml Stages server.json, publishes artifact, and uses ESRPRelease@10 to publish to the MCP registry.
Comments suppressed due to low confidence (3)

eng/pipelines/templates/jobs/mcp-registry/release-server-json.yml:66

  • The staging step copies server.json into the root of $(Build.ArtifactStagingDirectory) and ESRPRelease later publishes the entire folder. If any other files land in that directory in this job (now or in future edits), they could be unintentionally released to the MCP registry. Stage into a dedicated subfolder (e.g., $(Build.ArtifactStagingDirectory)/serverjson) and point both the artifact publish and ESRP FolderLocation at that subfolder to ensure only server.json is released.
    eng/pipelines/templates/jobs/mcp-registry/release-server-json.yml:60
  • This logs the full contents of server.json to the build output. That can be very noisy, and if server.json ever contains more than public metadata (e.g., internal endpoints), it would be exposed in pipeline logs. Consider removing the dump or replacing it with a lightweight validation (e.g., file exists + JSON parse) and/or logging only the path and a few key fields.
    eng/pipelines/templates/jobs/mcp-registry/release-server-json.yml:76
  • The ESRPRelease task displayName still references publishing native platform packages to npmjs.com, which doesn’t match what this step does (publishes server.json to the MCP registry). Updating the displayName will make pipeline runs easier to understand and troubleshoot.

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

Labels

None yet

Projects

Status: Untriaged

Development

Successfully merging this pull request may close these issues.

2 participants