Building Remote MCP Servers with .NET and Azure Container Apps

Building Remote MCP Servers with .NET and Azure Container Apps

A couple of months ago, I wrote a blog post on how you can create Model Context Protocol (MCP) servers using C#. Using a basic API, I was able to create a MCP server that allowed me to call Australian Football League (AFL) data and supply that as context to LLMs so I can ask it question about AFL results, teams, stats etc. using that API. That blog post talked about how we can use MCP servers that run locally on our machines using stdio transport. In this article, I’ll talk about how we can use Server-Sent Events (SSE) transport to build remote MCP servers that we can host on Azure Container Apps. ...

June 20, 2025 · 10 min · Will Velida
Building a token refresh service for the Fitbit API with Container App Jobs

Building a token refresh service for the Fitbit API with Container App Jobs

A couple of years back, I built a Fitbit API token refresh service using Azure Functions. The purpose of that function was to refresh an access token that I can use to make calls to the Fitbit API and extract my own data using Azure Functions. This was before Azure Container Apps even existed, so Azure Functions was really the only option. WebJobs was an alternative (after all, Functions are essentially built on top of Azure WebJobs), but that wasn’t attractive since this was just an hobby project, and I didn’t want to break the bank. The problem with Azure Functions is that you’re restricted with the programming model. It’s fine if you just need the plumbing done for you for simple integrations, but if you want the flexibility, it’s not great. ...

December 12, 2024 · 12 min · Will Velida
Managing Secrets in Azure Container Apps

Managing Secrets in Azure Container Apps

Azure Container Apps allows your apps to secure sensitive configuration values as secrets. Once you define your secrets, you can pass them as configuration to revisions of your Container Apps, and as secured values to your scale rules. In this article, I’ll discuss what secrets are, where we can define secrets, and how we can reference them in our application’s environment variables. If you want to watch a video that talks about these concepts, check out the video below! ...

March 26, 2024 · 5 min · Will Velida
Getting Started with Dedicated Workload profiles for Azure Container Apps

Getting Started with Dedicated Workload profiles for Azure Container Apps

About mid-April, the Azure Container Apps team announced a public preview of a new hosting plan and pricing structure for hosting your Container Apps. By default, there was a Serverless consumption hosting plan which you can use to host your Container Apps. This provided support for scale-to-zero scenarios and you’d only pay for resources that your application would use. With the Dedicated hosting plan now in preview, you still have the option of having a fully managed environment for hosting your Container Apps with scale-to-zero capabilities, but in addition to this you can also run applications with customized hardware using Dedicated workload profiles. ...

May 1, 2023 · 7 min · Will Velida
Scaling in Azure Container Apps

Scaling in Azure Container Apps

Azure Container Apps manages automatic horizontal scaling through declarative scaling rules. We can scale out our container apps based on a variety of different scalers. I recorded a video over the weekend covering how scaling works in Azure Container Apps, what KEDA is and how to set scaling rules within Azure Container Apps, using HTTP and Azure Queue storage scale rules as an example. If you prefer reading rather than watching, continue reading this post. I’ll only be covering the storage queue scaler in this post, so if you want to see how the HTTP scaler works, please watch the video. ...

December 17, 2022 · 5 min · Will Velida