In my previous post, I introduced how to host a remote Model Context Protocol (MCP) server using Azure App Service with a .NET-based implementation. Since then, the MCP ecosystem has evolved, and so has the guidance for building scalable, secure, and standards-compliant MCP servers.
If you haven't seen my previous blog post introducing MCP on Azure App Service, check that out here for a quick overview and getting started.
In this blog post, I’m excited to share some updates for our App Service MCP samples: new language samples, updated functionality to replace deprecated methods, and built-in authentication and authorization—all designed to make it easier for developers to host MCP servers on Azure App Service.
🔄 Migrating from SSE to Streamable HTTP
The original .NET sample I shared used Server-Sent Events (SSE) for streaming responses. However, SSE has since been deprecated in favor of streamable HTTP, which offers better compatibility and performance across platforms.
To align with the latest MCP specification, I’ve updated the .NET sample to use streamable HTTP:
- ✅ Updated .NET Sample:
remote-mcp-webapp-dotnet
This update ensures your MCP server is compliant with the latest protocol guidance. All additional samples in this post also use streamable HTTP.
🌐 New Language Samples: Python and Node.js
To support a broader range of developers, I’ve created new MCP server samples in Python and Node.js. These samples are lightweight, easy to deploy, and follow the same architectural principles as the .NET version.
- 🐍 Python Sample:
remote-mcp-webapp-python - 🟢 Node.js Sample:
remote-mcp-webapp-node
Each sample is designed to run seamlessly on Azure App Service, with minimal configuration required.
🔐 Secure Your MCP Server with Auth Support
Security is a critical aspect of any remote server. To help developers implement secure MCP servers, I’ve added new samples that demonstrate how to use authentication and authorization mechanisms aligned with the MCP authorization specification.
- 🔐 Python + Basic Auth:
remote-mcp-webapp-python-auth - 🔐 Python + OAuth:
remote-mcp-webapp-python-auth-oauth
These samples show how to validate incoming requests using industry-standard methods, making it easier to integrate with identity providers and enforce access control. Use Basic Auth for a quick and easy way to add authentication to your MCP server. Or use OAuth and configure it with Microsoft Entra ID for an even more secure server.
🚀 Get Started Today
Each sample includes detailed instructions for deployment, configuration, and testing. Whether you're building in .NET, Python, or Node.js, you can now host a secure, standards-compliant MCP server on Azure App Service with ease. Follow the guidance in the respective README.md files to get started today. All samples include Azure Developer CLI (azd) templates to get you up and running within minutes.
💬 Join the Conversation
I’d love to hear how you’re using these samples or what features you’d like to see next. Feel free to open issues or contribute to the repositories on GitHub. Or leave comments on this post if you have any questions, feedback, or requests.
Updated Jun 04, 2025
Version 2.0jordanselig
Microsoft
Joined October 14, 2021
Apps on Azure Blog
Follow this blog board to get notified when there's new activity