-
Notifications
You must be signed in to change notification settings - Fork 238
Adhere to the latest server.json schema #871
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Updates server.json template and build packaging logic to align with the latest MCP Registry server.json schema and introduce an explicit MCP registry server name property.
- Adds McpRegistryServerName property to server project files and passes it into the packing target.
- Updates PackServerJson.targets to serialize the new property and adjusts the template placeholders (intended) for schema changes.
- Rewrites the server.json template to the new schema fields (name, version, transport, registryType, identifier).
Reviewed Changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 3 comments.
Show a summary per file
File | Description |
---|---|
servers/Template.Mcp.Server/src/Template.Mcp.Server.csproj | Adds McpRegistryServerName property for template server packaging. |
servers/Fabric.Mcp.Server/src/Fabric.Mcp.Server.csproj | Adds McpRegistryServerName property for Fabric server packaging. |
servers/Azure.Mcp.Server/src/Azure.Mcp.Server.csproj | Adds McpRegistryServerName property for Azure server packaging. |
servers/Azure.Mcp.Server/CHANGELOG.md | Documents the schema update in release notes. |
eng/dnx/PackServerJson.targets | Extends serialization and replacement logic for new property; updates doc link. |
eng/dnx/.mcp/server.json | Replaces template with latest schema structure and new field names. |
Comments suppressed due to low confidence (1)
eng/dnx/.mcp/server.json:1
- The template uses
$(PropertyName) placeholders, but PackServerJson.targets replaces tokens in the form "%24(PropertyName)". Because the %24-encoded placeholders are absent, the Replace(...) calls will not run for these values, causing raw (unescaped) MSBuild-expanded strings to be inserted and bypassing JsonSerializer-based escaping. Update the template placeholders to "%24(PackageDescription)", "%24(McpRegistryServerName)", "%24(PackageVersion)", "%24(PackageId)", and "%24(RepositoryUrl)" (with surrounding quotes) OR adjust the Replace patterns in the target to match the new "$ (...)" form so JSON escaping is preserved.
{
68423ca
to
903e2e5
Compare
- Fixed the bug where user confirmation (elicitation) stopped working between versions 0.8.5 and 0.9.2. ([#824](https://github.com/microsoft/mcp/issues/824)) | ||
- Fixed `IsServerCommandInvoked` always appearing to be true. [[#837](https://github.com/microsoft/mcp/pull/837)] | ||
- Fixed `ToolName` always showing up as the tool area even if an MCP tool was invoked. [[#837](https://github.com/microsoft/mcp/pull/837)] | ||
- Update the `server.json` in the NuGet distribution to match the 2025-09-29 server.json schema version (latest from the MCP Registry). [[#870](https://github.com/microsoft/mcp/pull/870)] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@vcolin7 That line needs to be moved from 0.9.3 to 0.9.5
What does this PR do?
The server.json schema has changed a couple of times since the initial release to NuGet.org. This updates to the latest schema, now with a working
$schema
URL :).Docs: https://github.com/modelcontextprotocol/registry/blob/main/docs/reference/server-json/generic-server-json.md
Examples: https://github.com/modelcontextprotocol/registry/blob/main/docs/reference/server-json/generic-server-json.md#examples
Template update: dotnet/extensions#6888
NuGet.org is
GitHub issue number?
#870
Pre-merge Checklist
Added comprehensive tests for new/modified functionalityservers/Azure.Mcp.Server/CHANGELOG.md
and/orservers/Fabric.Mcp.Server/CHANGELOG.md
for product changes (features, bug fixes, UI/UX, updated dependencies
)servers/Azure.Mcp.Server/README.md
and/orservers/Fabric.Mcp.Server/README.md
documentationeng/scripts/Process-PackageReadMe.ps1
. See Package README/servers/Azure.Mcp.Server/docs/azmcp-commands.md
and/or/docs/fabric-commands.md
ToolDescriptionEvaluator
and obtained a score of0.4
or more and a top 3 ranking for all related test prompts/servers/Azure.Mcp.Server/docs/e2eTestPrompts.md
crypto mining, spam, data exfiltration, etc.
)/azp run mcp - pullrequest - live
to run Live Test Pipeline