To reduce friction when running an MCP server, we should make the template have these properties (roughly):
<PublishSelfContained>true</PublishSelfContained>
<RuntimeIdentifiers>win-x64;win-arm64;osx-arm64;osx-x64;linux-x64;linux-musl-x64</RuntimeIdentifiers>
This will produce N .nupkgs with the top level (N + 1, where N is the number of RIDs). The top level one will have DotnetTool
and McpServer
package types. The RID-specific ones will have DotnetToolRidPackage
but no McpServer
package type (they are "hidden" implementation details of the MCP server package).
This is blocked on dotnet/sdk#49615.
The quickstart guide needs to be updated too.