Using own local C# MCP Server with Open WebUI
This blog post explains how to extend Open WebUI’s capabilities by hooking it up to a custom local MCP server written in C#. Our MCP server runs arbitrary Windows CLI commands via cmd.exe while filtering out dangerous operations.
We then will show how to expose this MCP server through MCPO, a lightweight Python bridge that translates MCP calls into a standard OpenAPI‑compatible HTTP interface, allowing Open WebUI to invoke the tool as an external OpenAPI endpoint.
Finally, the article covers practical steps for configuring the tool in Open WebUI, demonstrates basic usage (e.g., pinging a website), and discusses adding basic security guardrails and batch‑file automation to start multiple MCPO listeners alongside Open WebUI.
10 Ways LINQ Can Make Your C# Code Cleaner and More Expressive
C# is a powerful language that offers multiple ways to solve problems. While traditional loops and manual iterations work, they can often be verbose and error-prone. LINQ (Language Integrated Query) provides a more concise and readable way to handle collections, making your code cleaner and easier to maintain. In this article, we'll explore 10 common scenarios where LINQ can drastically reduce the amount of code you need to write.
Extracting Structured Data from Letters with a C# LLM‑Driven Application
In today’s data‑driven world, the ability to transform unstructured text into machine‑readable, typed data is more valuable than ever. Whether you’re automating invoice processing, parsing customer letters, or feeding information into a workflow engine, the core challenge is turning prose into a schema‑constrained JSON payload that downstream systems can understand and validate
Message queueing in C# from early WPF to .NET10
Here we cover message queueing from legacy MSMQ in WPF in the old days to modern .NET 10 solutions like RabbitMQ, Kafka, and Azure Service Bus. The article explains when each technology fits best and provides simple send/receive code samples. It also covers Hangfire and Quartz.NET for background jobs ("crontab"), helping developers choose the right tool for reliable, scalable, asynchronous processing.
AI Test Generator for C# Projects
AI TestGen is a C# console application that automatically generates unit tests from your existing C# code with the help of AI. The tool parses your source with Roslyn, identifies the methods, and feeds that structure into a local Ollama AI model. The model then outputs ready‑to‑run tests that cover edge cases, exception paths, and typical usage patterns. All analysis and generation happens locally; no code leaves your machine and no cloud service is required.
Execute Python Code from C# with PythonNET
If you’re a C# developer who needs to tap into a Python library, run a script, or simply call a helper function written in Python, the PythonNET library is one of the simplest ways to do it. It exposes the CPython interpreter to .NET, allowing you to import modules, instantiate classes, and call functions as if they were native C# objects.
#3 Custom API for Open WebUI API Endpoints
In part 3 of our local AI series, we turn the Open WebUI chat endpoint into a clean, programmatic API. The example shows a simple JSON request that returns the model’s answer while filtering out extraneous metadata. This setup dramatically simplifies integrating RAG into your .NET applications, boosting user productivity by providing an API for your own local RAG-aware chatbots.
Building rich C# Desktop Apps for LINUX Desktop
Discover how Avalonia UI empowers C# developers to build modern, cross-platform desktop applications for Windows and Linux. While .NET MAUI is a strong cross-platform framework for mobile and desktop, its mobile-first focus and lack of Linux support make it less suited for desktop-centric scenarios. This article explores why Avalonia UI is the better choice for creating rich desktop experiences, with native multi-window support and consistent rendering powered by Skia. Developers coming from WPF or UWP will feel right at home with Avalonia’s XAML-based approach and full MVVM support.
Protecting Your APIs with Rate Limiting in ASP.NET
Learn how to protect your ASP.NET Core APIs from DDOS abuse with built-in rate limiting in .NET 7+. Explore fixed window, sliding window, token bucket, and concurrency strategies, with code examples, benchmarks, and real-world best practices to keep your services secure and reliable.
C# using a Local Language Model with LM Studio to Sort Screenshots
Learn how to use a local language model with C# and LM Studio to automatically sort screenshots into categories using AI and Vision Language Models (VLM). Utilize the power of visual recognition with .NET!