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 Sports-Themed MCP Server Using .NET

Building a Sports-Themed MCP Server Using .NET

I’ve lived in Melbourne for almost two years now, and throughout that time I’ve been trying to get my head around Australian rules, or AFL. I live pretty close to where Carlton Football Club train, so I’ve decided to support them (or as the Australians say “Go for them” 🤷). The more I learn about the game, the more I’m realizing that I may have set myself up for a lifetime of pain and dissappointment, but being an Arsenal fan since I was 6, I’m more than prepared for it 😂 ...

April 16, 2025 · 10 min · Will Velida
Using GitHub Models with Semantic Kernel

Using GitHub Models with Semantic Kernel

I’m making a conscious effort to deepen my knowledge on Semantic Kernel, and I just want an easy way to access LLMs and SLMs without having to go through Azure OpenAI (and pay for it). GitHub Models provides a number of AI models that you can use to build GenAI applications, particularly within Semantic Kernel. Semantic Kernel provides a lightweight framework for us to build AI applications and agents that use LLMs and other cloud services. Using Semantic Kernel, we can define workflows, apply reasoning over LLM outputs, and create complex AI workflows. ...

April 15, 2025 · 6 min · Will Velida
Implementing Dapr Pub/Sub in ASP.NET Core Web APIs

Implementing Dapr Pub/Sub functionality to ASP.NET Core Web APIs

In event-driven architectures, communicating between different microservices via messages can be enabled using Publish and Subscribe functionality (Pub/Sub for short). The publisher (or producer) writes messages to a message topic (or queue), while a subscriber will subscribe to that particular topic and receives the message. Both the publisher and subscriber are unaware of which application either produced or subscribed to the topic. This pattern is useful when we want to send messages to different services, while ensuring that they are decoupled from each other. ...

August 15, 2023 · 9 min · Will Velida
Using Assertion Scopes to execute multiple Assertions in C#

Using Assertion Scopes to execute multiple Assertions in C#

Fluent Assertions is a .NET library that provides use with a bunch of useful extension methods that allow us to test our C# code in a more natural way. Let’s say for example we are testing the output of a string. Without Fluent Assertions, we might write something like this: string testString = "hello"; string expectedOutput = testString.ToUpper(); Assert.Equal(expectedOutput, "HELLO"); If we were to write this test using Fluent Assertions, we could do so like this: ...

June 27, 2023 · 4 min · Will Velida