Skip to content

Extract Azure.Bicep.McpServer.Core library to enable building custom remote MCP servers#19499

Merged
gary-x-li merged 4 commits intomainfrom
ligar/mcp-fix
Apr 21, 2026
Merged

Extract Azure.Bicep.McpServer.Core library to enable building custom remote MCP servers#19499
gary-x-li merged 4 commits intomainfrom
ligar/mcp-fix

Conversation

@gary-x-li
Copy link
Copy Markdown
Contributor

@gary-x-li gary-x-li commented Apr 20, 2026

Description

Summary

This PR extracts shared Bicep MCP tool logic into a new Azure.Bicep.McpServer.Core NuGet library, enabling consumers to build their own remote MCP servers (e.g., with HTTP transport) without depending on the tool package or building from source. The existing stdio-based Azure.Bicep.McpServer tool remains unchanged for VS Code and local use.

Architecture

Project Published as Purpose
Bicep.McpServer.Core (new) NuGet library (Azure.Bicep.McpServer.Core) Shared SDK — AddBicepMcpServer(), tool classes, embedded resources
Bicep.McpServer (existing) NuGet tool (Azure.Bicep.McpServer) stdio entry point for VS Code / local use

Why a separate library?

The existing Azure.Bicep.McpServer is published as a NuGet tool (PackAsTool=true), which cannot be consumed as a library via PackageReference (NuGet returns error NU1212). Extracting shared code into Azure.Bicep.McpServer.Core allows consumers — including internal teams — to reference it as a standard library and build custom MCP servers with any transport.

Checklist

Microsoft Reviewers: Open in CodeFlow

Gary Li added 2 commits April 20, 2026 10:53
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 20, 2026

Test this change out locally with the following install scripts (Action run 24736610153)

VSCode
  • Mac/Linux
    bash <(curl -Ls https://aka.ms/bicep/nightly-vsix.sh) --run-id 24736610153
  • Windows
    iex "& { $(irm https://aka.ms/bicep/nightly-vsix.ps1) } -RunId 24736610153"
Azure CLI
  • Mac/Linux
    bash <(curl -Ls https://aka.ms/bicep/nightly-cli.sh) --run-id 24736610153
  • Windows
    iex "& { $(irm https://aka.ms/bicep/nightly-cli.ps1) } -RunId 24736610153"

@gary-x-li gary-x-li marked this pull request as ready for review April 20, 2026 15:40
@gary-x-li gary-x-li changed the title Separate HTTP transport into its own project to avoid breaking stdio users Extract Azure.Bicep.McpServer.Core library to enable building custom remote MCP servers Apr 21, 2026
Copy link
Copy Markdown
Member

@anthony-c-martin anthony-c-martin left a comment

Choose a reason for hiding this comment

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

LGTM

Copy link
Copy Markdown
Contributor

@shenglol shenglol left a comment

Choose a reason for hiding this comment

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

:shipit:

@gary-x-li gary-x-li merged commit fb32693 into main Apr 21, 2026
79 of 80 checks passed
@gary-x-li gary-x-li deleted the ligar/mcp-fix branch April 21, 2026 17:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants