-
Notifications
You must be signed in to change notification settings - Fork 443
Prepare 2.0.0 release
#2375
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
Merged
+293
−12
Merged
Prepare 2.0.0 release
#2375
Changes from 1 commit
Commits
Show all changes
4 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -2,15 +2,134 @@ | |
|
|
||
| The Azure MCP Server updates automatically by default whenever a new release comes out 🚀. We ship updates twice a week on Tuesdays and Thursdays 😊 | ||
|
|
||
| ## 2.0.0-beta.41 (Unreleased) | ||
| ## 2.0.0 (2026-04-09) | ||
|
|
||
| ### Features Added | ||
| **🚀 New Major Release — Azure MCP Server 2.0** | ||
|
|
||
| ### Breaking Changes | ||
| We're thrilled to announce the second major release of the Azure MCP Server! Version 2.0 represents a significant evolution from the 1.0 release, bringing remote HTTP deployment, dramatically expanded Azure service coverage, comprehensive security hardening, and major performance improvements. This release spans over 40 beta iterations and hundreds of contributions. | ||
|
|
||
| ### Bugs Fixed | ||
| ### Key Features & Improvements | ||
|
|
||
| ### Other Changes | ||
| - **Deploy as a Remote MCP Server**: Deploy the Azure MCP Server as a shared, multi-user HTTP service with Entra ID authentication and On-Behalf-Of (OBO) authorization | ||
| - **Use with Sovereign Clouds**: Full support for Azure Government and Azure China clouds across multiple services | ||
| - **More Docker Options**: AMD64 and ARM64 images are now available. Trimmed binaries cut image size by ~60% compared to initial Docker builds | ||
| - **New Installation Methods**: Added two new distribution formats: | ||
| - **PyPI**: With UVX support for Python/uv-based workflows | ||
| - **MCP Bundles (`.mcpb`)**: A portable format compatible with Claude Desktop | ||
| - **Security Hardening**: Comprehensive input validation, SSRF protection, SQL/KQL injection prevention, query parameterization, and endpoint validation across all services | ||
| - **User Confirmation Prompts**: Added user confirmation prompts for sensitive and destructive operations via MCP elicitation | ||
| - **Foundry Integration**: Added integration with the external Azure AI Foundry MCP server (`https://mcp.ai.azure.com`) providing agent lifecycle, batch evaluation, prompt optimization, and project connection management tools | ||
vcolin7 marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| - **More Tools**: Increased tool coverage from 170+ to 260+ across 50+ services | ||
vcolin7 marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| - **Improved Performance**: Server startup reduced from ~20s to ~1-2s when proxied MCP servers are enabled (Microsoft Documentation, Azure Developer CLI, Azure AI Foundry) | ||
vcolin7 marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| ### Getting Started | ||
|
|
||
| Install the Azure MCP Server from your preferred platform: | ||
|
|
||
| - **VS Code**: Install the [Azure MCP Server extension](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-azure-mcp-server) | ||
vcolin7 marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| - **Visual Studio 2022**: Install [GitHub Copilot for Azure](https://marketplace.visualstudio.com/items?itemName=github-copilot-azure.GitHubCopilotForAzure2022) | ||
| - **Visual Studio 2026**: Install the [Azure and AI Development workload](https://learn.microsoft.com/en-us/azure/developer/github-copilot-azure/get-started?pivots=visual-studio-2026#install-github-copilot-for-azure) | ||
| - **Claude and GitHub Copilot CLI**: Install the [Azure Copilot Plugin](https://github.com/microsoft/GitHub-Copilot-for-Azure?tab=readme-ov-file#usage) | ||
vcolin7 marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| - **IntelliJ IDEA**: Install the [Azure Toolkit for IntelliJ](https://plugins.jetbrains.com/plugin/8053-azure-toolkit-for-intellij) | ||
| - **Eclipse IDE**: Install the [Azure Toolkit for Eclipse](https://marketplace.eclipse.org/content/azure-toolkit-eclipse) | ||
| - **NuGet**: Run `dotnet tool install -g Azure.Mcp --version 2.0.0` | ||
| - **npm**: Run `npx @azure/mcp@2.0.0` | ||
| - **Docker**: Run `docker pull mcr.microsoft.com/azure-mcp:2.0.0` | ||
| - **PyPI**: Run `pip install msmcp-azure==2.0.0` | ||
| - **MCP Bundles**: Download the `.mcpb` file for your platform/architecture and open it with your client, like Claude Desktop: | ||
| - Linux: [x64](https://github.com/microsoft/mcp/releases/download/Azure.Mcp.Server-2.0.0/Azure.Mcp.Server-linux-x64.mcpb) | [ARM64](https://github.com/microsoft/mcp/releases/download/Azure.Mcp.Server-2.0.0/Azure.Mcp.Server-linux-arm64.mcpb) | ||
| - macOS: [x64](https://github.com/microsoft/mcp/releases/download/Azure.Mcp.Server-2.0.0/Azure.Mcp.Server-osx-x64.mcpb) | [ARM64](https://github.com/microsoft/mcp/releases/download/Azure.Mcp.Server-2.0.0/Azure.Mcp.Server-osx-arm64.mcpb) | ||
| - Windows: [x64](https://github.com/microsoft/mcp/releases/download/Azure.Mcp.Server-2.0.0/Azure.Mcp.Server-win-x64.mcpb) | [ARM64](https://github.com/microsoft/mcp/releases/download/Azure.Mcp.Server-2.0.0/Azure.Mcp.Server-win-arm64.mcpb) | ||
|
|
||
| ### Documentation | ||
|
|
||
| - [Complete Command Reference](https://github.com/microsoft/mcp/blob/release/azure/2.x/servers/Azure.Mcp.Server/docs/azmcp-commands.md) | ||
| - [Authentication](https://github.com/microsoft/mcp/blob/release/azure/2.x/docs/Authentication.md) | ||
| - [Remote Server Deployment](https://github.com/microsoft/mcp/blob/release/azure/2.x/servers/Azure.Mcp.Server/README.md#remote-mcp-server-preview) | ||
| - [Connecting to Sovereign Clouds](https://github.com/microsoft/mcp/blob/release/azure/2.x/servers/Azure.Mcp.Server/README.md#sovereign-cloud-support) | ||
| - [Troubleshooting](https://github.com/microsoft/mcp/blob/release/azure/2.x/servers/Azure.Mcp.Server/TROUBLESHOOTING.md) | ||
| - [Contributing Guidelines](https://github.com/microsoft/mcp/blob/release/azure/2.x/CONTRIBUTING.md) | ||
|
|
||
| ### Thank You | ||
|
|
||
| This release was made possible by the incredible efforts of our engineering team, partners, contributors, and the invaluable feedback from our users and the open-source community. We want to extend a huge thank you to everyone who contributed, tested, and provided feedback throughout the development of Azure MCP Server 2.0! | ||
|
|
||
| For a complete history of changes included in this release, see entries for versions [2.0.0-beta.1](#200-beta1-2025-10-29) through [2.0.0-beta.40](#200-beta40-2026-04-07). | ||
|
|
||
| --- | ||
|
|
||
| ### Other Changes since 1.0.0 | ||
|
|
||
| #### Breaking Changes | ||
|
|
||
| **Tool Consolidation:** Numerous related tools were consolidated for a more streamlined tool surface: | ||
|
|
||
| - **Cosmos DB/MySQL/PostgreSQL**: Consolidated **list** commands: | ||
| - Removed `cosmos account list`, `cosmos database list`, and `cosmos database container list` - use `cosmos list` with the appropriate parameters to route hierarchically | ||
| - Removed `postgres server list`, `postgres database list`, `postgres table list` – use `postgres list` with the appropriate parameters to route hierarchically | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Minor: this line and the following service entries use the en-dash character as a separator, but the Cosmos DB entry above and Key Vault entries below use a regular hyphen. Consider picking one for consistency across the section. |
||
| - Removed `mysql server list`, `mysql database list`, `mysql table list` – use `mysql list` with the appropriate parameters to route hierarchically | ||
| - **Key Vault**: Merged **get**/**list** tools: | ||
| - Removed `keyvault key list` - use `keyvault key get` without providing a key name to list keys in a key vault | ||
| - Removed `keyvault secret list` - use `keyvault secret get` without providing a secret name to list secrets in a key vault | ||
| - Removed `keyvault certificate list` - use `keyvault certificate get` without providing a certificate name to list certificates in a key vault | ||
| - **Monitor WebTest**: Merged **get**/**list** and **create**/**update** tools: | ||
| - Removed `monitor webtests list` – use `monitor webtests get` without providing a WebTest name to list WebTests in a resource group | ||
| - Removed `monitor webtests update` – use `monitor webtests createorupdate` for both create and update scenarios | ||
| - **SQL**: Merged **show**/**list** tools: | ||
| - Removed `sql db show` and `sql db list` – use `sql db get` without providing a database name to list databases in a server | ||
| - Removed `sql server show` and `sql server list` – use `sql server get` without providing a server name to list servers in a subscription | ||
| - **Load Testing**: Merged **list**/**get** and **create**/**update** tools: | ||
| - Removed `loadtesting testrun list` – use `loadtesting testrun get` without providing a TestRun name to list test runs in a resource group | ||
| - Removed `loadtesting testrun update` – use `loadtesting testrun createorupdate` for both create and update scenarios | ||
| - **Resource Health**: Merged **get**/**list** tools: | ||
| - Removed `resourcehealth availability-status list` – use `resourcehealth availability-status get` without providing a resource ID to list availability status for multiple resources | ||
|
|
||
| **Namespace, Tool, and Option Renames**: | ||
|
|
||
| - **Foundry**: Split the `foundry` namespace into `foundryextensions` for in-process tools and `foundry` for tools proxied from the external Azure AI Foundry MCP server. | ||
vcolin7 marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| - The following tools were migrated to the external server under new names: | ||
| - `foundry agents list` → `foundry agent get` | ||
| - `foundry agents create` → `foundry agent update` | ||
| - `foundry agents connect` → `foundry agent invoke` | ||
| - `foundry models list` → `foundry model catalog list` | ||
| - `foundry models deploy` → `foundry model deploy` | ||
| - `foundry models deployments list` → `foundry model deployment get` | ||
| - `foundry agents query-and-evaluate` → `foundry evaluation agent batch eval create` | ||
| - `foundry agents evaluate` → `foundry evaluator catalog get` | ||
| - **Best Practices**: Renamed the following tools: | ||
| - `get bestpractices get` → `get azure bestpractices get` | ||
| - `get bestpractices ai app` → `get azure bestpractices ai app` | ||
| - **Options**: Renamed the following options: | ||
| - Server-wide: `--insecure-disable-elicitation` → `--dangerously-disable-elicitation` | ||
| - Tool listing with `tools list`: `--namespaces` → `--namespace-mode` | ||
| - Getting pipeline deployment guidance with `deploy pipeline guidance get`: | ||
| - `--use-azd-pipeline-config` → `--is-azd-project`, | ||
| - `--azd-iac-options` → `--iac-options` | ||
|
|
||
| **Database Security**: | ||
|
|
||
| - PostgreSQL tools now require SSL and verify the server's full certificate chain before creating database connections. This SSL mode provides both `eavesdropping protection` and `man-in-the-middle protection`. See [SSL Mode VerifyFull](https://www.npgsql.org/doc/security.html?tabs=tabid-1#encryption-ssltls) for more details. | ||
|
|
||
| **Miscellaneous**: | ||
|
|
||
| - Removed support for custom URL-based authority hosts in `--cloud`. The option now accepts only well-known cloud names | ||
| - Narrowed subscription list response to include only `subscriptionId`, `displayName`, `state`, `tenantId`, and `isDefault` | ||
| - Removed the following options for the `deploy pipeline guidance get` tool: | ||
| - `--organization-name` | ||
| - `--repository-name` | ||
| - `--github-environment-name` | ||
|
|
||
| #### Bugs Fixed | ||
|
|
||
| - Fixed SignalR caching where runtime results were not stored | ||
| - Fixed retained-buffer leaks across services and tool loaders | ||
| - Fixed Linux stdio watcher regression where using CWD as content root could exhaust `inotify` watchers | ||
| - Added regex timeouts and cancellation propagation to prevent hangs | ||
|
|
||
| #### Other Changes | ||
|
|
||
| - Removed JSON pretty printing from serialization to reduce token usage | ||
| - Extensive tool description improvements across all namespaces for better LLM selection accuracy | ||
|
|
||
| ## 2.0.0-beta.40 (2026-04-07) | ||
|
|
||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.