Skip to content

Conversation

@joelverhagen
Copy link
Member

@joelverhagen joelverhagen commented Nov 24, 2025

Summary

Progress on #50105.

Open questions:

  1. Do we need more description of "value added"? I.e. why follow this guide? What uses the Official MCP Registry? This will be more clear when GitHub MCP Registry is pulling from it.
  2. Do we need to mention remote MCP Servers? Those could be built in .NET or any other language. I only see this code sample as a potential pre-req. Nothing in the dotnet docs area.

Internal previews

📄 File 🔗 Preview link
docs/ai/quickstarts/publish-mcp-registry.md docs/ai/quickstarts/publish-mcp-registry

Copilot AI review requested due to automatic review settings November 24, 2025 18:31
@joelverhagen joelverhagen requested review from a team and gewarren as code owners November 24, 2025 18:31
@dotnetrepoman dotnetrepoman bot added this to the November 2025 milestone Nov 24, 2025
Copilot finished reviewing on behalf of joelverhagen November 24, 2025 18:34
Copy link
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 adds a comprehensive quickstart guide for publishing .NET MCP Servers to the Official MCP Registry, addressing issue #50105. The guide walks developers through creating a server.json manifest, updating their NuGet package README with the required mcp-name comment, and using the MCP Publisher tool to complete the registration.

Key Changes:

  • Adds complete publishing workflow covering manifest creation, package verification, and registry submission.
  • Includes platform-specific instructions for Windows, Linux, and macOS using zone pivots.
  • Provides a reusable server.json template with placeholder guidance.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 13 comments.

File Description
docs/ai/quickstarts/publish-mcp-registry.md New quickstart guide with step-by-step instructions for publishing MCP servers to the registry, including prerequisites, manifest creation, README updates, package publishing, and using the MCP Publisher tool
docs/ai/quickstarts/snippets/mcp-registry/server.json JSON template file demonstrating the required server.json manifest structure with placeholders for NuGet-based MCP servers

Copy link
Contributor

@donnie-msft donnie-msft left a comment

Choose a reason for hiding this comment

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

why follow this guide? What uses the Official MCP Registry?

I would say we're showing pipeline maintainers what the best practices are with the guide here. I used your scripts and guidance to setup NuGet Copilot's release pipeline and found it very helpful.

One thing I'm still not clear on is how I want to handle the Stage environment. Should we setup deployments first to Stage, then Prod? Should it be completely ignored? This is something we can mention in the doc once we have a clear understanding ourselves.

Copy link
Contributor

Choose a reason for hiding this comment

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

Can you add the new article to the TOC?


| Property | Example | Purpose |
| ------------------- | -------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| name | `io.github.contoso/data-mcp` | Unique identifier for the MCP Server, namespaced using reverse DNS names, **case sensitive** |
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
| name | `io.github.contoso/data-mcp` | Unique identifier for the MCP Server, namespaced using reverse DNS names, **case sensitive** |
| `name` | `io.github.contoso/data-mcp` | Unique identifier for the MCP Server, namespaced using reverse DNS names, **case sensitive** |

Copy link
Contributor

Choose a reason for hiding this comment

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

All the property names should be code-fenced to avoid localization.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants