Summary
Add NuGet package support for Microsoft.DataApiBuilder.Mcp so the MCP project can be packaged as a valid NuGet package and later consumed by the internal DAB pipeline.
This issue covers the source repository changes required to make the MCP package ready for pipeline packaging. It follows the final pattern used for the Core NuGet package work, including package authoring metadata, package file inclusion, and dependency/package correctness.
Goal
Prepare the MCP project so it can produce a valid NuGet package named:
Microsoft.DataApiBuilder.Mcp
The package should allow partner teams to consume DAB MCP functionality directly as an SDK without requiring a full standalone DAB MCP server deployment.
Scope
This issue includes all GitHub-side work needed for MCP NuGet package readiness.
1. Add NuGet authoring metadata to the MCP project
Update the MCP .csproj file to make it packageable and provide the required NuGet metadata.
Expected metadata includes:
<PropertyGroup>
<IsPackable>true</IsPackable>
<PackageId>Microsoft.DataApiBuilder.Mcp</PackageId>
<Authors>Microsoft</Authors>
<Description>SDK package for Data API Builder MCP functionality.</Description>
<PackageTags>Data API Builder;DAB;MCP;SQL;SDK</PackageTags>
<PackageProjectUrl>https://github.com/Azure/data-api-builder</PackageProjectUrl>
<RepositoryUrl>https://github.com/Azure/data-api-builder</RepositoryUrl>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
</PropertyGroup>
The exact metadata should follow the final conventions used by the Core NuGet package.
2. Add package file requirements for MCP
Ensure MCP has the required package files configured correctly.
Validate whether MCP needs package-specific handling for:
- README file
- NOTICE file
- License/package metadata
- Package icon, if required by existing repo conventions
Expected behavior:
- MCP package files should be separate from CLI package files.
- MCP package files should not reuse the CLI package NOTICE output.
- MCP should be ready to consume a package-specific NOTICE file generated by the pipeline.
- README and NOTICE files should be included consistently with the Core package pattern, if required.
3. Validate MCP dependency/package correctness
Review MCP project references and package dependencies to ensure the generated .nupkg contains the required assemblies and does not miss dependency DLLs.
This should account for the issue Core hit in #3618, where the generated Core NuGet package was missing DLLs from dependencies.
Validate that:
- MCP references Core where required.
- MCP includes required dependency DLLs.
- MCP does not expose unnecessary implementation-only dependencies.
- MCP does not duplicate logic from Core.
- MCP package dependency behavior matches the intended SDK consumption model.
If MCP requires dependency pruning or special packaging behavior, align with the Core package approach and coordinate with the ADO pipeline work.
4. Ensure MCP can be packed locally
Validate that MCP can be packed locally before pipeline changes are added.
Example validation commands:
dotnet build <path-to-dab-solution-or-mcp-project> --configuration Release
dotnet pack <path-to-mcp-csproj> --configuration Release --no-build
Then inspect the generated .nupkg and .nuspec to confirm:
- Package ID is
Microsoft.DataApiBuilder.Mcp.
- Required package metadata is present.
- README/NOTICE package file behavior is correct.
- Required DLLs are included.
- Unexpected dependencies are not exposed.
Summary
Add NuGet package support for
Microsoft.DataApiBuilder.Mcpso the MCP project can be packaged as a valid NuGet package and later consumed by the internal DAB pipeline.This issue covers the source repository changes required to make the MCP package ready for pipeline packaging. It follows the final pattern used for the Core NuGet package work, including package authoring metadata, package file inclusion, and dependency/package correctness.
Goal
Prepare the MCP project so it can produce a valid NuGet package named:
The package should allow partner teams to consume DAB MCP functionality directly as an SDK without requiring a full standalone DAB MCP server deployment.
Scope
This issue includes all GitHub-side work needed for MCP NuGet package readiness.
1. Add NuGet authoring metadata to the MCP project
Update the MCP
.csprojfile to make it packageable and provide the required NuGet metadata.Expected metadata includes:
The exact metadata should follow the final conventions used by the Core NuGet package.
2. Add package file requirements for MCP
Ensure MCP has the required package files configured correctly.
Validate whether MCP needs package-specific handling for:
Expected behavior:
3. Validate MCP dependency/package correctness
Review MCP project references and package dependencies to ensure the generated
.nupkgcontains the required assemblies and does not miss dependency DLLs.This should account for the issue Core hit in
#3618, where the generated Core NuGet package was missing DLLs from dependencies.Validate that:
If MCP requires dependency pruning or special packaging behavior, align with the Core package approach and coordinate with the ADO pipeline work.
4. Ensure MCP can be packed locally
Validate that MCP can be packed locally before pipeline changes are added.
Example validation commands:
Then inspect the generated
.nupkgand.nuspecto confirm:Microsoft.DataApiBuilder.Mcp.